Skip to main content
Glama

chargebee_code_planner

Generate integration code snippets and workflows for implementing Chargebee functionality like subscriptions, billing updates, and webhooks in your preferred programming language.

Instructions

Use this tool for any Chargebee integration questions or implementation needs.

Always use this tool to get the accurate integration code guide for Chargebee. This is the main tool developers need when asking about implementing Chargebee functionality (like "how to update billing address", "how to create subscription", "how to handle webhooks", etc.).

This tool will take in parameters about integrating with Chargebee in their application and generates an integration workflow along with the code snippets.

It takes the following arguments:

  • goal (string): What is the user's goal?

  • language (enum): Programming language the code to be generated in. Check the user's application language.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
goalYesWhat is the user's goal?
languageNoProgramming language the code to be generated in. Check the user's application language.

Implementation Reference

  • The main handler function `generateCodePlanner` that executes the tool logic by calling chargebeeAIClient.getCodePlanner with the goal and optional language.
    const generateCodePlanner = async ( parameters: z.infer<typeof codePlannerParameters>, ) => { try { const results = await chargebeeAIClient.getCodePlanner({ query: parameters.goal, language: parameters.language, }); return results; } catch (error) { if (error instanceof Error) { console.error('Error generating code planner:', error.message); return `Failed to generate code planner: ${error.message}`; } console.error('Error generating code planner:', error); return 'Failed to generate code planner'; } };
  • Zod input schema defining 'goal' (string) and optional 'language' (enum of languages).
    const codePlannerParameters = z.object({ goal: z.string().describe(goalParamDescription), language: z .enum(['node', 'python', 'curl', 'java', 'go', 'ruby', 'php', 'dotnet']) .describe(languageParamDescription) .optional(), });
  • Exports the tool configuration object specifying method, name, description, parameters, and execute handler.
    export const codePlannerTool = { method: 'chargebee_code_planner', name: 'Chargebee Code Planner', description: codePlannerPrompt, parameters: codePlannerParameters, execute: generateCodePlanner, };
  • Imports codePlannerTool and includes it in the tools array exported for use in MCP server registration.
    import { codePlannerTool } from './code-planner.js'; export const tools: Tool[] = [ codePlannerTool, documentationSearchTool, ];
  • Registers each tool from the tools array with the MCP server using the tool method, wrapping the execute to format as MCP content.
    private registerTools() { tools.forEach((tool) => { this.tool( tool.method, tool.description, tool.parameters.shape, async (arg: any) => { try { const result = await tool.execute(arg, this); return { content: [ { type: 'text' as const, text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { return { content: [ { type: 'text' as const, text: `Error: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } }, ); });

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/chargebee/agentkit'

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