MCP server (JSON-RPC)
POST
/mcpNo scope required
The Model Context Protocol (MCP) endpoint. Unlike the rest of this API it is JSON-RPC, not REST, so individual method/tool schemas are not enumerated here.
- Transport: JSON-RPC over HTTP at
/api/v2/mcp. - Auth: the same
hlm_-prefixed bearer token as the REST API. - Scopes: the exposed MCP tools mirror the REST scopes (e.g.
list_investorsrequiresinvestors:read,submit_formrequiresforms:write), enforced per tool exactly as the REST routes enforce their scopes. - Auditing & rate limits: MCP requests pass the same
apiSuitemiddleware (auditing, IP allowlist, rate limiting) as REST requests.
See the MCP guide for connection details and how tools map to operations.
Request body
application/json, required
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_investors",
"arguments": {
"limit": 25
}
}
}Responses
200
A JSON-RPC 2.0 response envelope.
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "{\"data\":[{\"id\":\"6f1c2e8a-1b2c-4d5e-8f90-1a2b3c4d5e6f\",\"email\":\"ada.lovelace@example.com\"}]}"
}
]
}
}403Error
Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/mcp\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"\
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_investors",
"arguments": {
"limit": 25
}
}
}'