Skip to main content
Glama

credential_ceremony

Obtain API credentials with step-by-step instructions for services like OpenAI or Stripe. Lists available ceremonies or provides detailed setup steps, token formats, and documentation links.

Instructions

Get step-by-step instructions for obtaining API credentials for a service. Without a service param, lists all available ceremonies. With a service param, returns detailed steps, token format info, and documentation links. Use this before agent_vault execute mode.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serviceNoService slug to get the credential ceremony for (e.g. 'openai', 'stripe', 'resend'). Omit to list all available ceremonies.

Implementation Reference

  • The core handler function implementing the credential_ceremony logic. It calls the client to either retrieve a specific ceremony or list all available ceremonies.
    export async function handleCredentialCeremony(
      input: CredentialCeremonyInput,
      client: RhumbApiClient
    ): Promise<CredentialCeremonyOutput> {
      // If a specific service is requested, return detailed ceremony
      if (input.service) {
        const ceremony = await client.getCeremony(input.service);
        if (!ceremony) {
          return { count: 0 };
        }
    
        return {
          ceremony: {
            service: ceremony.service_slug,
            displayName: ceremony.display_name,
            description: ceremony.description,
            authType: ceremony.auth_type,
            difficulty: ceremony.difficulty,
            estimatedMinutes: ceremony.estimated_minutes,
            requiresHuman: ceremony.requires_human,
            documentationUrl: ceremony.documentation_url,
            steps: ceremony.steps,
            tokenPrefix: ceremony.token_prefix,
            tokenPattern: ceremony.token_pattern,
            verifyEndpoint: ceremony.verify_endpoint,
          },
          count: 1,
        };
      }
    
      // List all ceremonies
      const ceremonies = await client.listCeremonies();
      return {
        ceremonies: ceremonies.map((c) => ({
          service: c.service_slug,
          displayName: c.display_name,
          description: c.description,
          authType: c.auth_type,
          difficulty: c.difficulty,
          estimatedMinutes: c.estimated_minutes,
          requiresHuman: c.requires_human,
          documentationUrl: c.documentation_url,
        })),
        count: ceremonies.length,
      };
    }
  • The registration of the 'credential_ceremony' tool within the MCP server setup.
    server.tool(
      "credential_ceremony",
      "Get step-by-step instructions to obtain API credentials for a Service. Returns signup steps, expected token format (prefix, pattern), verification endpoint, estimated time, and whether human intervention is needed. Use before calling in agent_vault mode. Call without params to list all Services with available ceremonies.",
      {
        service: z.string().optional().describe(CredentialCeremonyInputSchema.properties.service.description)
      },
      async ({ service }) => {
        const result = await handleCredentialCeremony({ service }, client);
        return {
          content: [{ type: "text" as const, text: JSON.stringify(result) }]
        };
      }
  • The input schema definition for the credential_ceremony tool.
    export const CredentialCeremonyInputSchema = {
      type: "object" as const,
      properties: {
        service: { type: "string" as const, description: "Service slug (e.g. 'openai', 'stripe', 'resend'). Returns step-by-step signup instructions, expected token format, and verification endpoint. Omit to list all services with available ceremonies." }
      },
      required: [] as const
    };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/supertrained/rhumb'

If you have feedback or need assistance with the MCP directory API, please join our Discord server