get_account_plan
Generate comprehensive account plans with stakeholder mapping, MEDDICC analysis, and tailored messaging strategies for enterprise sales teams.
Instructions
Builds the account plan you'd normally spend a weekend on — stakeholder map, what each person needs to hear, MEDDICC gaps, and the unified story across the buying committee.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accountName | Yes | Target account/company name | |
| domain | No | Company domain | |
| industry | No | Industry vertical | |
| stakeholders | No | Known stakeholders at the account | |
| dealContext | No | Current deal context |
Implementation Reference
- src/catalog.js:193-226 (registration)Registration of the 'get_account_plan' tool, including its description and input schema.
name: 'get_account_plan', description: 'Builds the account plan you\'d normally spend a weekend on — stakeholder map, what each person needs to hear, MEDDICC gaps, and the unified story across the buying committee.', annotations: READ_ONLY, inputSchema: { type: 'object', properties: { accountName: { type: 'string', description: 'Target account/company name' }, domain: { type: 'string', description: 'Company domain' }, industry: { type: 'string', description: 'Industry vertical' }, stakeholders: { type: 'array', items: { type: 'object', properties: { name: { type: 'string' }, title: { type: 'string' }, role: { type: 'string', description: 'Buying committee role (champion, economic_buyer, etc.)' }, }, }, description: 'Known stakeholders at the account', }, dealContext: { type: 'object', properties: { stage: { type: 'string', description: 'Current deal stage' }, value: { type: 'number', description: 'Deal value' }, nextMeeting: { type: 'string', description: 'Next meeting date/context' }, }, description: 'Current deal context', }, }, required: ['accountName'], }, }, - src/server.js:47-68 (handler)The handler in the MCP server proxies tool execution to the Andru API client. The 'get_account_plan' tool is executed via this call handler.
server.setRequestHandler( CallToolRequestSchema, async (request) => { if (!client) { return { content: [{ type: 'text', text: JSON.stringify({ error: 'ANDRU_API_KEY not configured. Tool execution requires an API key.' }) }], isError: true, }; } const { name, arguments: args } = request.params; try { return await client.callTool(name, args || {}); } catch (error) { return { content: [{ type: 'text', text: JSON.stringify({ error: error.message }), }], isError: true, }; } } - src/client.js:31-38 (helper)The API client implementation that performs the actual network request to the backend for the tool call.
* Execute an MCP tool. * @param {string} name - Tool name * @param {object} args - Tool arguments * @returns {Promise<{ content: Array<{ type: string, text: string }>, isError?: boolean }>} */ async callTool(name, args) { return this.post('/api/mcp/tools/call', { tool: name, arguments: args }); }