Reference

MCP

Parka implements MCP directly, with tools/list and tools/call. It runs on the same listener and the same key as the API.

List the tools

A tool name is a capability id. Listing requires a valid key for a served workspace, so one definition and one key cover both calls. A human key is refused on the served surface.

request
POST /mcp
Authorization: Bearer trk_...

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

Call a tool

POST /mcp with tools/call. The arguments carry the payload and the scope. An extra argument key merges into the payload.

request
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "ticket6:readLedger",
    "arguments": {
      "program": "partner-2027",
      "relationship": "relationship:partner-2027:creator-1",
      "payload": {}
    }
  }
}

A refusal comes back as a JSON-RPC error whose message and data.code are the same name the API and the CLI return.

response
{
  "jsonrpc": "2.0",
  "id": 2,
  "error": { "code": -32000, "message": "WORKSPACE_REFUSED", "data": { "code": "WORKSPACE_REFUSED" } }
}
  • An authentication failure uses code -32001.
  • An unknown capability uses code -32602.
  • Any other refusal uses code -32000.

Human gates over MCP

21 of the 88 capabilities on the mcp surface are human gates. An agent that calls one creates an approval request and runs nothing. The tool is still listed, so the agent can see what it may ask for.

  • campaigns:approveCampaign
  • campaigns:launchCampaign
  • campaigns:setupAdapter
  • partners:grantAccess
  • runtime:closeHeldEvent
  • runtime:replayHeldEvent
  • ticket13:commitCutover
  • ticket15:assignReferralCode
  • ticket4:acceptStandardTerms
  • ticket6:activatePartnerOverride
  • ticket6:activateRulebookVersion
  • ticket6:approveCommission
  • ticket6:approveCommissions
  • ticket6:configureCommissionPolicy
  • ticket6:rejectCommission
  • ticket6:rejectCommissions
  • ticket7:createManualCorrection
  • ticket7:recordCarriedDebtRecovery
  • ticket7:recordDisputeTransition
  • ticket7:recordPayoutReceipt
  • ticket7:recordStatementPayout

Capabilities on the mcp surface

A row that is not served is declared in the code and not exposed by the runtime yet.

Generated from shyftai/trumpet at cbc30f1 by scripts/gen-reference.mjs.

approvals

4 capabilities

CapabilityAccessWho runs itSurfacesServed
approvals:getApprovalRequestReadsAgentapi cli mcpYes
approvals:listApprovalRequestsReadsAgentapi cli mcpYes
approvals:requestApprovalWritesAgentapi cli mcpYes
approvals:withdrawRequestWritesAgentapi cli mcpYes

campaigns

7 capabilities

CapabilityAccessWho runs itSurfacesServed
campaigns:approveCampaignWritesHuman gateapi cli mcp webYes
campaigns:draftCampaignWritesAgentapi cli mcpYes
campaigns:getAdapterReadsAgentapi cli mcpYes
campaigns:getCampaignReadsAgentapi cli mcpYes
campaigns:launchCampaignWritesHuman gateapi cli mcp webYes
campaigns:listCampaignsReadsAgentapi cli mcpYes
campaigns:setupAdapterWritesHuman gateapi cli mcp webYes

discovery

3 capabilities

CapabilityAccessWho runs itSurfacesServed
discovery:getResultPageReadsAgentapi cli mcpNo
discovery:listCreatorRecordsReadsAgentapi cli mcpNo
discovery:listRunsReadsAgentapi cli mcpNo

partners

3 capabilities

CapabilityAccessWho runs itSurfacesServed
partners:grantAccessWritesHuman gateapi cli mcpYes
partners:revokeGrantWritesAgentapi cli mcpYes
partners:setGuardrailWritesAgentapi cli mcpYes

runtime

3 capabilities

CapabilityAccessWho runs itSurfacesServed
runtime:closeHeldEventWritesHuman gateapi cli mcpYes
runtime:listHeldEventsReadsAgentapi cli mcpYes
runtime:replayHeldEventWritesHuman gateapi cli mcpYes

ticket1

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket1:getWorkspaceConfigReadsAgentapi cli mcpYes

ticket10

3 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket10:ingestStripeEventWritesAgentapi cli mcpYes
ticket10:invokeStripeWritesAgentapi cli mcpYes
ticket10:queryIngestionStateReadsAgentapi cli mcp readYes

ticket11

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket11:queryPartnerBalanceReadsAgentapi cli mcp readYes

ticket12

1 capability

CapabilityAccessWho runs itSurfacesServed
ticket12:queryReconciliationReportReadsAgentapi cli mcp readYes

ticket13

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket13:commitCutoverWritesHuman gateapi cli mcpYes
ticket13:queryCutoverStateReadsAgentapi cli mcp readYes

ticket15

5 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket15:assignReferralCodeWritesHuman gateapi cli mcpYes
ticket15:publishReferralLinkWritesAgentapi cli mcpYes
ticket15:queryReferralClicksReadsAgentapi cli mcp readYes
ticket15:resolveAndRecordClickWritesAgentapi cli mcpYes
ticket15:revokeReferralLinkWritesAgentapi cli mcpYes

ticket16

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket16:listApiKeysReadsAgentapi cli mcp readYes
ticket16:revokeApiKeyWritesAgentapi cli mcpYes

ticket17

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket17:invitePartnerFromCrispyWritesAgentapi cli mcpYes
ticket17:readPartnerEarningsReadsAgentapi cli mcpYes

ticket18

2 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket18:getWorkspaceReadsAgentapi cli mcp readYes
ticket18:listWorkspacesReadsAgentapi cli mcp readYes

ticket19

8 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket19:bindReferrerWritesAgentapi cli mcpYes
ticket19:compareShadowCreditsReadsAgentapi cli mcp readYes
ticket19:issueCustomerCodeWritesAgentapi cli mcpYes
ticket19:queryReferralStateReadsAgentapi cli mcp readYes
ticket19:recordCustomerIdentityWritesAgentapi cli mcpYes
ticket19:recordCustomerPaymentWritesAgentapi cli mcpYes
ticket19:recordCustomerRefundWritesAgentapi cli mcpYes
ticket19:recordInvoicePaymentLinkWritesAgentapi cli mcpYes

ticket4

7 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket4:acceptStandardTermsWritesHuman gateapi cli mcp webYes
ticket4:completeOnboardingWritesAgentapi cli mcpYes
ticket4:configureProgramWritesAgentapi cli mcpYes
ticket4:createProgramWritesAgentapi cli mcpYes
ticket4:getProgramReadsAgentapi cli mcpYes
ticket4:getRelationshipReadsAgentapi cli mcpYes
ticket4:invitePartnerWritesAgentapi cli mcpYes

ticket5

6 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket5:evaluateAttributionReadsAgentapi cli mcpYes
ticket5:issueCouponWritesAgentapi cli mcpYes
ticket5:issueReferralLinkWritesAgentapi cli mcpYes
ticket5:queryCouponReadsAgentapi cli mcpYes
ticket5:queryReferralLinkReadsAgentapi cli mcpYes
ticket5:readReferralProjectionReadsAgentapi cli mcp readYes

ticket6

20 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket6:activatePartnerOverrideWritesHuman gateapi cli mcp webNo
ticket6:activateRulebookVersionWritesHuman gateapi cli mcp webYes
ticket6:applyPartnerGroupTermsWritesAgentapi cli mcpNo
ticket6:approveCommissionWritesHuman gateapi cli mcp webYes
ticket6:approveCommissionsWritesHuman gateapi cli mcp webYes
ticket6:changePartnerGroupMembersWritesAgentapi cli mcpNo
ticket6:configureCommissionPolicyWritesHuman gateapi cli mcp webYes
ticket6:createPartnerGroupWritesAgentapi cli mcpNo
ticket6:draftPartnerOverrideWritesAgentapi cli mcpNo
ticket6:draftRulebookVersionWritesAgentapi cli mcpYes
ticket6:ingestSourceEventWritesAgentapi cli mcpYes
ticket6:queryCommissionPoliciesReadsAgentapi cli mcp readYes
ticket6:queryPartnerGroupsReadsAgentapi cli mcp readNo
ticket6:queryPartnerOverrideReadsAgentapi cli mcp readNo
ticket6:queryPendingAccrualsReadsAgentapi cli mcp readYes
ticket6:queryRulebookReadsAgentapi cli mcp readYes
ticket6:readLedgerReadsAgentapi cli mcp readYes
ticket6:readPartnerProgressReadsAgentapi cli mcp readNo
ticket6:rejectCommissionWritesHuman gateapi cli mcp webYes
ticket6:rejectCommissionsWritesHuman gateapi cli mcp webYes

ticket7

8 capabilities

CapabilityAccessWho runs itSurfacesServed
ticket7:createManualCorrectionWritesHuman gateapi cli mcp webYes
ticket7:explainEntriesReadsAgentapi cli mcp readYes
ticket7:queryBalancesReadsAgentapi cli mcp readYes
ticket7:queryPayoutStatementReadsAgentapi cli mcp readYes
ticket7:recordCarriedDebtRecoveryWritesHuman gateapi cli mcp webYes
ticket7:recordDisputeTransitionWritesHuman gateapi cli mcp webYes
ticket7:recordPayoutReceiptWritesHuman gateapi cli mcp webYes
ticket7:recordStatementPayoutWritesHuman gateapi cli mcp webYes

Partner programs on Stripe, run by agents. People approve the money.

Get started