Skip to main content
Glama

simulate_buyer_persona

Practice sales pitches against realistic buyer personas like CFOs or VPs to refine your messaging and handle objections before actual meetings.

Instructions

Practice your pitch against a realistic buyer — pick a CFO, CTO, COO, VP Sales, or VP Engineering and get their opening challenge. They'll push back the way real buyers do, so you can sharpen your story before the actual meeting.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
personaYesWhich buyer to simulate. Pick based on who the user is preparing to meet.
stageIdNoBuyer journey stage (0=Unaware through 7=Advocating). Default: 3.
productDescriptionNoWhat the user's product does. Infer from conversation context.
productNameNoProduct name. Infer from context.
modeNoopening = buyer's opening message. list = available personas. Default: opening.

Implementation Reference

  • Tool definition and input schema for `simulate_buyer_persona`.
      name: 'simulate_buyer_persona',
      description: 'Practice your pitch against a realistic buyer — pick a CFO, CTO, COO, VP Sales, or VP Engineering and get their opening challenge. They\'ll push back the way real buyers do, so you can sharpen your story before the actual meeting.',
      annotations: READ_ONLY,
      inputSchema: {
        type: 'object',
        properties: {
          persona: {
            type: 'string',
            enum: ['CFO', 'CTO', 'COO', 'VP Sales', 'VP Engineering'],
            description: 'Which buyer to simulate. Pick based on who the user is preparing to meet.',
          },
          stageId: {
            type: 'number',
            enum: [0, 1, 2, 3, 4, 5, 6, 7],
            description: 'Buyer journey stage (0=Unaware through 7=Advocating). Default: 3.',
          },
          productDescription: {
            type: 'string',
            description: 'What the user\'s product does. Infer from conversation context.',
          },
          productName: {
            type: 'string',
            description: 'Product name. Infer from context.',
          },
          mode: {
            type: 'string',
            enum: ['opening', 'list'],
            description: 'opening = buyer\'s opening message. list = available personas. Default: opening.',
          },
        },
        required: ['persona'],
      },
    },
  • The tool handler in `server.js` proxies all tool executions (including `simulate_buyer_persona`) to the `AndruClient` backend API.
    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,
          };
        }
      }
    );

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/geter-andru/andru-revenue-intelligence'

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