@placet/mcp) that exposes all Placet capabilities — sending messages, requesting human reviews, rendering diagrams, and more — as MCP tools.
This is the recommended connection type when your agent runs inside an AI-powered IDE or coding assistant like Claude Code, VS Code Copilot, Cursor, or Windsurf.
Transport Modes
The MCP server supports two transport modes:Setup
Docker (recommended)
The MCP server is included in the defaultdocker-compose.yml:
npx (local / stdio)
For local development or one-off usage:Client Configuration
VS Code / GitHub Copilot
Create.vscode/mcp.json in your project:
Claude Code
~/.claude/claude_desktop_config.json:
Cursor
Add to Cursor settings (Settings > MCP Servers):
Windsurf
Add to~/.codeium/windsurf/mcp_config.json:
Any stdio-compatible client
For clients that support stdio transport:Available Tools
Channel Management
Messages
Reviews (Human-in-the-Loop)
Status
Plugins
Plugin tools are registered dynamically at startup. The MCP server fetches all installed plugin manifests from the backend and creates a
send_{plugin_name}_message tool for each plugin that has an inputSchema. See Dynamic Plugin Tools below.
Review Types
Thesend_review_message tool supports 5 review types. The AI agent sends the review, and a human responds in the Placet dashboard.
Approval
Show buttons for the human to approve or reject an action.primary (green), danger (red), secondary (gray), ghost (outline)
Response: { "selectedOption": "approve", "comment": "Looks good!" }
Selection
Let the human choose from a list of options.mode to "multi" to allow selecting multiple items.
Response: { "selectedIds": ["opt-a"] }
Form
Render a structured form with typed fields.text, number, email, url, textarea, select, checkbox, date, time, datetime, range, password
Field options: required, placeholder, defaultValue, min, max, step, unit, options (for select)
Response: { "serverName": "prod-api-02", "region": "eu-west-1", "instances": 3, "enableSSL": true, ... }
Text Input
Free text input, optionally with a markdown editor.{ "text": "The user's response text..." }
Freeform
Pass-through for custom plugin UIs. See Dynamic Plugin Tools.Dynamic Plugin Tools
The MCP server discovers installed plugins at startup and registers a tool for each one. For example, the built-in plugins create these tools:send_kroki_diagram_message
Render diagrams (Mermaid, PlantUML, D2, Graphviz, etc.) as SVG via a Kroki server.
mermaid, plantuml, d2, graphviz, ditaa, erd, nomnoml, svgbob, vega, vegalite, wavedrom, bytefield, excalidraw
send_form_submit_message
Render a pre-filled form and submit to a webhook.
When you install additional plugins with an
inputSchema, the MCP server automatically creates
new send_{plugin}_message tools — no code changes required.Workflow Pattern
The typical MCP workflow is fire → poll → continue: Thewait_for_review tool holds the connection for up to 5 minutes (configurable via MCP_CONNECTION_TIMEOUT_MS), polling the backend every 30 seconds. If the human hasn’t responded, it returns status: "timeout" — the agent can call wait_for_review again to keep waiting.
