Skip to main content
POST
/
wp-json
/
getmcp
/
v1
/
servers
curl --request POST \
     --url https://yoursite.com/wp-json/getmcp/v1/servers \
     --header 'Authorization: Bearer gmcp_your_api_key' \
     --header 'content-type: application/json' \
     --data '
{
  "name": "GitHub Tools",
  "description": "Tools for managing GitHub repositories",
  "status": "active",
  "auth_type": "bearer",
  "test_auth_credentials": "{\"token\":\"your_bearer_token\"}",
  "rate_limit_per_min": 30
}
'
{
  "id": 3,
  "uuid": "9a3b7c8d-2e1f-4a5b-8c9d-0e1f2a3b4c5d",
  "user_id": 1,
  "name": "GitHub Tools",
  "slug": "github-tools",
  "server_id": "c3d4e5f6a1b2c3d4",
  "status": "active",
  "transport_type": "streamable-http",
  "auth_type": "bearer",
  "auth_config": null,
  "outbound_auth_type": "none",
  "outbound_auth_config": null,
  "cors_origins": null,
  "rate_limit_per_min": 30,
  "settings": {
    "description": "Tools for managing GitHub repositories"
  },
  "endpoint_url": "https://yoursite.com/mcp/github-tools",
  "tool_count": 0,
  "prompt_count": 0,
  "resource_count": 0,
  "created_at": "2025-03-18T10:00:00",
  "updated_at": "2025-03-18T10:00:00"
}

Documentation Index

Fetch the complete documentation index at: https://docs.getmcp.com/llms.txt

Use this file to discover all available pages before exploring further.

Body Parameters

name
string
required
Human-readable server name (e.g., My Weather Tools).
description
string
Optional description of what this server does. Stored inside settings.description and returned in the response as settings.description.
status
string
default:"active"
Initial server status. One of: active, paused, draft.
auth_type
string
default:"none"
Inbound authentication type for the MCP endpoint. One of: none, api-key, oauth. Authentication type the upstream API requires. One of: none, bearer, api-key, basic.
test_auth_credentials
string
JSON-encoded string of the credentials used when clicking Test in the admin panel. These are your personal/dev API keys — they are stored encrypted and are never exposed to MCP clients. If not set, the test flow falls back to auth_credentials automatically.Format depends on test_auth_type:Bearer{"token":"your_bearer_token"}API Key{"name":"X-API-Key","value":"your_api_key","location":"header"} — use "location":"query" to send as a query parameter.Basic Auth{"username":"your_username","password":"your_password"}
Pass as a JSON-serialised string here. The GET /servers/{id}/credentials endpoint returns these as a decoded object.
cors_origins
string
Comma-separated list of allowed CORS origins. Leave empty to allow all origins (*).
rate_limit_per_min
integer
default:"60"
Maximum MCP requests per minute for this server.
Timeout is configured per-tool, not per-server. Set timeout when creating or updating a tool via the Tools API.
curl --request POST \
     --url https://yoursite.com/wp-json/getmcp/v1/servers \
     --header 'Authorization: Bearer gmcp_your_api_key' \
     --header 'content-type: application/json' \
     --data '
{
  "name": "GitHub Tools",
  "description": "Tools for managing GitHub repositories",
  "status": "active",
  "auth_type": "bearer",
  "test_auth_credentials": "{\"token\":\"your_bearer_token\"}",
  "rate_limit_per_min": 30
}
'
{
  "id": 3,
  "uuid": "9a3b7c8d-2e1f-4a5b-8c9d-0e1f2a3b4c5d",
  "user_id": 1,
  "name": "GitHub Tools",
  "slug": "github-tools",
  "server_id": "c3d4e5f6a1b2c3d4",
  "status": "active",
  "transport_type": "streamable-http",
  "auth_type": "bearer",
  "auth_config": null,
  "outbound_auth_type": "none",
  "outbound_auth_config": null,
  "cors_origins": null,
  "rate_limit_per_min": 30,
  "settings": {
    "description": "Tools for managing GitHub repositories"
  },
  "endpoint_url": "https://yoursite.com/mcp/github-tools",
  "tool_count": 0,
  "prompt_count": 0,
  "resource_count": 0,
  "created_at": "2025-03-18T10:00:00",
  "updated_at": "2025-03-18T10:00:00"
}