JSON Schema

https://compozy.dev/schemas/mcp.json
{
  "type": "object",
  "required": ["mcp_servers"],
  "properties": {
    "mcp_servers": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["id", "use", "command"],
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the MCP server"
          },
          "use": {
            "oneOf": [
              { "type": "string" },
              {
                "type": "object",
                "required": ["repo", "package"],
                "properties": {
                  "repo": { "type": "string" },
                  "package": { "type": "string" },
                  "version": { "type": "string" }
                }
              }
            ],
            "description": "Server implementation reference"
          },
          "command": {
            "type": "string",
            "description": "Command to execute the MCP server"
          },
          "config": {
            "type": "object",
            "description": "Server-specific configuration options"
          },
          "env": {
            "type": "object",
            "description": "Environment variables for this server instance"
          }
        }
      }
    }
  }
}

Parameters

mcp_servers
array
required

List of MCP servers available in the workflow.

mcp_servers[].id
string
required

Unique identifier for the MCP server. Must be unique across all servers in your workflow.

mcp_servers[].use
string | object
required

Server implementation reference. Can be specified in three formats:

  • "repo/package" (e.g., "compozy/mcp-servers:telegram")
  • "repo:package@version" (e.g., "compozy/mcp-servers:telegram@1.0.0")
  • Object with repo and package fields
mcp_servers:
  - id: telegram_bot
    use: compozy/mcp-servers:telegram
mcp_servers[].command
string
required

Command to execute the MCP server. Can be an NPM package or Docker command. Examples:

  • "npx -y @compozy/mcp-telegram"
  • "docker run -i --rm mcp/blockchain-scanner"
mcp_servers[].config
object

Server-specific configuration options. Structure varies by server type.

mcp_servers[].env
object

Environment variables specific to this server instance.

Output References

mcp_servers.server_id.output
any

Server’s output data, accessible via {{ mcp_servers.server_id.output }}. Example:

{
  "message_id": "123456789",
  "chat_id": "-100123456789",
  "status": "sent",
  "timestamp": "2024-03-20T10:30:00Z"
}
mcp_servers.server_id.error
object

Error information if server execution fails. Example:

{
  "code": "CONNECTION_ERROR",
  "message": "Failed to connect to service",
  "details": {
    "status": 503,
    "reason": "Service unavailable"
  }
}