MCP server

Helm Core OS speaks the Model Context Protocol, so an AI assistant can work with your deals, investors, documents and portfolio directly — with the same tokens, scopes, limits and audit trail as the REST API.

Connected…/kong/core/api/v2/mcp
Which investors on the Riverside Credit Fund haven't finished onboarding?
Ask about deals, investors or your portfolio…

The endpoint

https://your-org-domain/kong/core/api/v2/mcp

It's a remote MCP server over Streamable HTTP (JSON-RPC 2.0 over HTTPS). Use your organisation's platform domain — the same host your users sign in to.

Connect a client

Clients that support OAuth sign you in through the browser — nothing to copy. For clients that only take headers, use a personal token.

Claude (web and desktop)

1. Settings → Connectors → Add custom connector
2. Name: Helm Core OS
 URL: https://your-org-domain/kong/core/api/v2/mcp
3. Click Connect, sign in, and approve the scopes.

On Team and Enterprise plans an owner adds the connector once for the
organisation; each member then connects with their own sign-in.

Once connected, ask the assistant something like "Which of our open deals have investors stuck at the KYC step?" and watch it find and call the right tools.

How tools work

The server doesn't hand-write tools — it builds them from the v2 OpenAPI spec at runtime, so the tools and the REST API can never drift apart. There are 908 of them.

From the spec
NameThe operation's operationId, snake-cased: listInvestors → list_investors, portfolio_asset.show → portfolio_asset_show. Every reference page shows its tool name.
InputsThe operation's path and query parameters and request-body fields, flattened into typed arguments.
ScopeThe operation's scope.
HintsRead-only, destructive and idempotent hints, so clients can auto-approve safe reads and ask before deletes.
BehaviourExactly the REST route's — the tool runs the same route in-process.

Your token decides what the assistant sees

tools/list is filtered per token: the assistant only sees tools whose scope the token holds. A read-only token gives a read-only assistant. Calling a tool you can't use still returns a clear missing_scope error rather than a silent failure.

find_tools

Because there are hundreds of tools, the server also exposes find_tools. It searches tool names, descriptions and scopes by keyword and returns the matches with their inputs. Assistants use it to find, say, the branding-logo upload before calling it — you'll see it as the first step in most conversations.

Uploading files

Two routes, and picking the wrong one is the usual cause of trouble:

  1. Documents into a folder — call create_upload_token, PUT the raw bytes to the returned URL (the bytes never pass through the assistant), then create_document with the same key, a name and the folder_id. Use this for anything of real size; bulk_create_documents registers many at once.
  2. Small assets — deal and sponsor images, branding logos, form files and so on take the file as a plain base64 string in their file argument, with an optional file_filename.

Raw protocol

If you're building your own client, these are ordinary JSON-RPC 2.0 messages sent with Authorization: Bearer …:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }

Every reference page has an MCP tab under Examples with the exact tools/call for that operation.

Security and limits

  • Same pipeline as REST. MCP calls go through the same token checks, organisation switch, IP allowlist and per-token rate limit.
  • Same permissions. The assistant acts as the token's user and can't do anything that user couldn't do in the platform.
  • Audited per tool. Every call is logged against the token with the tool name (for example /api/v2/mcp#tool=create_deal), so you can see exactly what an assistant did.
  • Approve deliberately. Most clients ask before calling tools marked destructive. Keep that on for production data.
Tips the server gives your assistant

The server sends its own usage notes when a client connects — for example that an onboarding flow is reusable and attached to an investor when they're invited (not created per investor), and that transaction workflows must end with the protected Committed and Completed steps. You don't need to repeat these in your prompts.