Skip to main content

MCP tools and resources reference

This page lists every tool, resource, and prompt exposed by the Keyban MCP server.

The authoritative source is the live OpenAPI document at https://api.prod.keyban.io/openapi.json — the bridge auto-registers every operation that carries an x-mcp-type annotation. This page mirrors that surface for offline reading. To configure a client, see Connect your AI assistant to the Keyban MCP server.

How to read this page​

  • Type — Tool for actions (POST / PATCH / DELETE), Resource for read-only data (GET). Resources whose path contains a parameter (e.g. {provider}) are exposed as MCP resource templates.
  • Method + Route — the underlying REST endpoint that the bridge proxies to. The bridge itself listens on POST /mcp (port 3334 locally, https://mcp.keyban.io/mcp in production).
  • Auth — org-user for endpoints that require an authenticated organization caller (OAuth access token, API key or session); public for endpoints that accept anonymous access. The MCP bridge forwards the Authorization, X-Api-Key and Cookie headers of each request transparently — it never authenticates the caller itself.

For request and response schemas, follow the route to the Backend OpenAPI reference.

Where to start​

The catalogue below is exhaustive. If you only want a sense of what the bridge can already do, here are the most useful entry points — each one is a real capability already wired up:

  • get_instructions — the guide an assistant follows with this server, from a fresh account to an installed agent wallet MCP (the keyban-admin skill).
  • list_applications + lookup_application_id — navigate your Keyban applications by name. The second tool uses MCP elicitation when several apps match.
  • get_quota_usage — read the org's monthly consumption so an assistant can self-monitor.

Applications​

NameTypeMethod + RouteAuthDescription
list_applicationsResourceGET /v1/applicationsorg-userList the applications owned by the current organization.
get_applicationResource templateGET /v1/applications/{appId}publicFetch a specific application by ID.
create_applicationToolPOST /v1/applicationsorg-userCreate a new application under the current organization.
update_applicationToolPATCH /v1/applications/{appId}org-userUpdate mutable application settings.
delete_applicationToolDELETE /v1/applications/{appId}org-userRemove an application and clean up associated resources.

Agent wallets​

NameTypeMethod + RouteAuthDescription
list_walletsResourceGET /v1/agent-walletsorg-userList agent wallets for the current organization.
get_walletResource templateGET /v1/agent-wallets/{id}org-userFetch a specific agent wallet by ID.
get_wallet_balanceResource templateGET /v1/agent-wallets/{id}/balanceorg-userRead what an agent wallet can pay with, one line per funding source.
create_walletToolPOST /v1/agent-walletsorg-userCreate a new agent wallet for an application.
update_walletToolPATCH /v1/agent-wallets/{id}org-userUpdate the label of an agent wallet.
delete_walletToolDELETE /v1/agent-wallets/{id}org-userDelete an agent wallet.

x402 Discovery​

NameTypeMethod + RouteAuthDescription
list_x402_servicesResourceGET /v1/x402/resourcesorg-userList x402 services. Search and browse online services that accept x402 payments with full-text search and network/tag filters.
get_x402_serviceResource templateGET /v1/x402/resources/{id}org-userGet one x402 service. Fetch a single x402 directory entry by ID.

Organization​

NameTypeMethod + RouteAuthDescription
get_organizationResource templateGET /v1/organizations/{id}org-userReturn the organization identified by ID.
update_organizationToolPATCH /v1/organizations/{id}org-userUpdate mutable fields and settings of the active organization.

Quota​

NameTypeMethod + RouteAuthDescription
get_quota_usageResourceGET /v1/quotas/usageorg-userRetrieve monthly quota usage data for the current organization.

Events​

NameTypeMethod + RouteAuthDescription
list_eventsResourceGET /v1/eventsorg-userPaginated audit and quota events scoped to the caller organization.

Bridge-only features​

These capabilities are implemented inside the MCP bridge itself, not as REST proxies.

NameKindSourceDescription
get_instructionsToolbackend/mcp/src/lib/registrar/instructions-service.tsReturn the guide to follow with the server, the keyban-admin skill, or the agent wallet guide with skill: "keyban-agent-wallet".
lookup_application_idToolbackend/mcp/src/lib/registrar/application-lookup-service.tsResolve an application's UUID from its human-readable name. Supports exact and partial matching, with MCP elicitation when several applications match.
prepare_demo_environmentPromptbackend/mcp/src/lib/registrar/prompt-registry.tsRunbook prompt that walks the assistant through seeding a sandbox with sample applications, loyalty tiers, and DPP data.

Argument completion​

The bridge auto-completes applicationId and appId arguments by querying /v1/applications (max 20 suggestions, ranked by ID exact-match first, then name substring). Source: backend/mcp/src/lib/registrar/server-introspection.ts.

Capabilities advertised to clients​

The bridge advertises these MCP capabilities at handshake time (source: backend/mcp/src/index.ts):

CapabilitySupportedNotes
toolsYesListed above.
resourcesYessubscribe: false, listChanged: false — no live updates.
promptsYeslistChanged: false.
completionsYesApplication ID lookup only.
elicitationYesUsed by lookup_application_id for ambiguous matches.
loggingNoThe bridge does not stream server-side logs to the client.

HTTP endpoints recap​

EndpointPurpose
POST https://mcp.keyban.io/mcpProduction MCP entry point (StreamableHTTP transport).
GET https://api.prod.keyban.io/openapi.jsonAuthoritative OpenAPI document the bridge consumes at boot.

Out of scope​

The bridge intentionally does not expose three families of endpoints.

Products other than the agent wallet​

Digital Product Passports, Trust, loyalty, points of sale, invest, multisig treasury, imports, accounts, metrics and billing carry no x-mcp-* annotation: the bridge serves the agent wallet and what it needs. Use the admin dashboard or the REST API for them.

Super-admin endpoints​

Endpoints decorated with @SuperAdminController() / @SuperAdminEndpoint() (backend/nestjs/src/auth/super-admin.decorator.ts) are excluded from the public OpenAPI document and therefore from the MCP surface. The exclusion is enforced by backend/nestjs/src/auth/super-admin-contract.spec.ts.

Out-of-scope super-admin domains include LLM usage analytics and pricing administration, Chargebee customer creation, plan synchronisation, overage synchronisation, pending-onboarding management, and platform-wide metrics. For platform administration, use the admin dashboard rather than the MCP bridge.

LLM endpoints (/v1/llm/*)​

Chat completion and provider catalogue endpoints (POST /v1/llm/chat/completions, GET /v1/llm/providers, GET /v1/llm/providers/{provider}/models) are deliberately not exposed via MCP. An MCP client is already an LLM — proxying a chat completion through the bridge would be redundant and would double-bill the same call (once on the client side, once on the Keyban LLM quota).

LLM remains a Keyban-internal capability consumed by other controllers (e.g. content generation flows). The exclusion is enforced by backend/nestjs/src/auth/mcp-exposure-contract.spec.ts, which fails the build if any controller under backend/nestjs/src/llm/controllers/ regrows an x-mcp-* annotation.