check_credentials
Verify credential status across managed, self-provisioned, and BYO modes to identify available capabilities for API execution.
Instructions
Check your credential status across all three modes. Shows which capabilities are available via Rhumb-managed (zero-config), which services have ceremony guides for self-provisioning, and BYO status. Start here to understand what you can execute.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| capability | No | Optional: check credential status for a specific capability (e.g. 'email.send') |
Implementation Reference
- Handler function that implements the logic for checking credentials by querying managed capabilities and ceremonies.
export async function handleCheckCredentials( input: CheckCredentialsInput, client: RhumbApiClient ): Promise<CheckCredentialsOutput> { // Fetch managed capabilities and ceremonies in parallel const [managed, ceremonies] = await Promise.all([ client.listManagedCapabilities(), client.listCeremonies(), ]); const modes = [ { mode: "byo", available: true, detail: "BYOK. Set RHUMB_API_KEY env var and pass credentials via the call.", }, { mode: "rhumb_managed", available: managed.length > 0, detail: managed.length > 0 ? `${managed.length} zero-config Capability(ies) available through Rhumb Resolve. No credentials needed — omit credential_mode or use credential_mode=auto to prefer Rhumb Resolve when available.` : "No managed capabilities currently available.", }, { mode: "agent_vault", available: ceremonies.length > 0, detail: ceremonies.length > 0 ? `${ceremonies.length} ceremony guide(s) available. Get your own API key following the guide, then pass it per call via the agent_token parameter.` : "No ceremony guides available yet.", }, ]; return { modes, managedCapabilities: managed.map((m) => ({ capabilityId: m.capability_id, service: m.service_slug, description: m.description, })), availableCeremonies: ceremonies.length, }; } - packages/mcp/src/server.ts:211-224 (registration)Tool registration for 'check_credentials' in the MCP server.
// -- check_credentials ------------------------------------------------ server.tool( "check_credentials", "Check what credential modes are available to you. Shows: (1) which Capabilities have Rhumb Resolve credentials (ready to call immediately), (2) which Services have ceremony guides (self-provision in minutes), and (3) BYOK status. Start here when you're new to Rhumb or unsure what you can call.", { capability: z.string().optional().describe(CheckCredentialsInputSchema.properties.capability.description) }, async ({ capability }) => { const result = await handleCheckCredentials({ capability }, client); return { content: [{ type: "text" as const, text: JSON.stringify(result) }] }; } );