Skip to content

MCP API MCP

API endpoints for MCP server management.

List Servers

GET /api/mcp/servers

Get all configured MCP servers.

Response:

json
{
  "success": true,
  "data": {
    "servers": [
      {
        "name": "filesystem",
        "status": "connected",
        "toolCount": 5,
        "transport": "stdio"
      },
      {
        "name": "memory",
        "status": "disconnected",
        "error": "Connection timeout"
      }
    ]
  }
}

Get Server Details

GET /api/mcp/servers/:name

Get specific server information.

Response:

json
{
  "success": true,
  "data": {
    "name": "filesystem",
    "status": "connected",
    "config": {
      "command": "npx",
      "args": ["-y", "@anthropic/mcp-server-filesystem"]
    },
    "tools": [
      {
        "name": "read_file",
        "description": "Read file contents"
      }
    ]
  }
}

Connect Server

POST /api/mcp/servers/:name/connect

Connect to an MCP server.

Response:

json
{
  "success": true,
  "data": {
    "name": "filesystem",
    "status": "connected",
    "toolCount": 5
  }
}

Disconnect Server

POST /api/mcp/servers/:name/disconnect

Disconnect from an MCP server.

Response:

json
{
  "success": true
}

Add Server

POST /api/mcp/servers

Add new MCP server configuration.

Request:

json
{
  "name": "my-server",
  "config": {
    "command": "npx",
    "args": ["-y", "@org/mcp-server"],
    "env": {
      "API_KEY": "xxx"
    }
  }
}

Response:

json
{
  "success": true,
  "data": {
    "name": "my-server",
    "status": "disconnected"
  }
}

Update Server

PUT /api/mcp/servers/:name

Update server configuration.

Request:

json
{
  "config": {
    "command": "npx",
    "args": ["-y", "@org/mcp-server", "--option"]
  }
}

Delete Server

DELETE /api/mcp/servers/:name

Remove MCP server configuration.

Response:

json
{
  "success": true
}

List Server Tools

GET /api/mcp/servers/:name/tools

Get tools provided by a server.

Response:

json
{
  "success": true,
  "data": {
    "tools": [
      {
        "name": "read_file",
        "description": "Read file contents",
        "inputSchema": {
          "type": "object",
          "properties": {
            "path": { "type": "string" }
          }
        }
      }
    ]
  }
}

Error Codes

CodeDescription
SERVER_NOT_FOUNDServer doesn't exist
ALREADY_CONNECTEDAlready connected
CONNECTION_FAILEDFailed to connect
TIMEOUTConnection timeout

Next Steps

Released under the MIT License