API ReferenceMCP

Create a new custom MCP server with multiple apps

Markdown
POST
/api/v3/mcp/servers/custom

Creates a new Model Control Protocol (MCP) server instance that can integrate with multiple applications or toolkits simultaneously. This endpoint allows you to create a server that can access tools from different applications, making it suitable for complex workflows that span multiple services.

Authorization

ApiKeyAuth
x-api-key<token>

API key authentication

In: header

Request Body

application/json

name*string

Human-readable name to identify this custom MCP server (4-30 characters, alphanumeric, spaces, and hyphens only)

Match^[a-zA-Z0-9- ]+$
Length4 <= length <= 30
auth_config_ids?array<string>

ID references to existing authentication configurations

toolkits?array<string>

List of application/toolkit identifiers to enable for this server

allowed_tools?array<string>

Tool identifiers to enable that aren't part of standard toolkits

custom_tools?array<string>

DEPRECATED: Use allowed_tools instead. Tool identifiers to enable that aren't part of standard toolkits

managed_auth_via_composio?boolean

Whether to manage authentication via Composio

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://backend.composio.dev/api/v3/mcp/servers/custom" \  -H "Content-Type: application/json" \  -d '{    "name": "Development Integration Server",    "toolkits": [      "github",      "jira"    ]  }'
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Multi-App Integration Server",
  "auth_config_ids": [
    "auth_cfg_abc123def456",
    "auth_cfg_xyz789"
  ],
  "allowed_tools": [
    "github-issues",
    "jira-tickets",
    "slack-messages",
    "custom-api-tool"
  ],
  "mcp_url": "https://backend.composio.dev/v3/mcp/550e8410-e29b-41d4-a716-446655440000?user_id=john",
  "commands": {
    "cursor": "npx @composio/mcp@latest setup \"https://backend.composio.dev/v3/mcp/550e8410-e29b-41d4-a716-446655440000?user_id=john\" --client cursor",
    "claude": "npx @composio/mcp@latest setup \"https://backend.composio.dev/v3/mcp/550e8410-e29b-41d4-a716-446655440000?user_id=john\" --client claude",
    "windsurf": "npx @composio/mcp@latest setup \"https://backend.composio.dev/v3/mcp/550e8410-e29b-41d4-a716-446655440000?user_id=john\" --client windsurf"
  }
}
{
  "error": {
    "message": "string",
    "code": 0,
    "slug": "string",
    "status": 0,
    "request_id": "string",
    "suggested_fix": "string",
    "errors": [
      "string"
    ]
  }
}
{
  "error": {
    "message": "string",
    "code": 0,
    "slug": "string",
    "status": 0,
    "request_id": "string",
    "suggested_fix": "string",
    "errors": [
      "string"
    ]
  }
}
{
  "error": {
    "message": "string",
    "code": 0,
    "slug": "string",
    "status": 0,
    "request_id": "string",
    "suggested_fix": "string",
    "errors": [
      "string"
    ]
  }
}
{
  "error": {
    "message": "string",
    "code": 0,
    "slug": "string",
    "status": 0,
    "request_id": "string",
    "suggested_fix": "string",
    "errors": [
      "string"
    ]
  }
}