Skip to main content
Glama

get_icp_fit_score

Evaluate companies against your ideal customer profile across 5 dimensions to identify sales-ready prospects. Uses your product details and buyer data for instant scoring without AI calls.

Instructions

Tells you in seconds whether the company you're thinking about is worth your time — scores them against who actually buys from you and why, across 5 dimensions. No AI calls, instant results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
companyNameNoCompany name to evaluate
domainNoCompany website domain
industryNoIndustry vertical
employeeCountNoNumber of employees
revenueNoRevenue range (e.g., "$1M-$5M")
geographyNoHQ location
techStackNoTechnologies the company uses
painPointsNoKnown pain points or challenges they face
triggerEventsNoRecent trigger events (e.g., "just raised Series B", "new CTO hired")
productDescriptionNoA brief description of what the user's product does and who it's for. Infer this from the conversation if the user has already described their product. If the user hasn't mentioned their product yet, ask them: "What does your product do, and who do you sell to?" before calling this tool.
verticalNoThe industry the user sells into (e.g., "fintech", "healthcare", "defense"). Infer from conversation context — the user's product description, company name, or the companies they're asking about. If unclear, ask.
targetRoleNoThe buyer role being evaluated (e.g., "CFO", "CTO", "VP Sales"). Infer from context — often explicit in the user's question. If not mentioned, default to the most senior relevant role for their vertical.

Implementation Reference

  • src/catalog.js:41-72 (registration)
    Registration of the get_icp_fit_score tool in the static catalog.
    {
      name: 'get_icp_fit_score',
      description: 'Tells you in seconds whether the company you\'re thinking about is worth your time — scores them against who actually buys from you and why, across 5 dimensions. No AI calls, instant results.',
      annotations: READ_ONLY,
      inputSchema: {
        type: 'object',
        properties: {
          companyName: { type: 'string', description: 'Company name to evaluate' },
          domain: { type: 'string', description: 'Company website domain' },
          industry: { type: 'string', description: 'Industry vertical' },
          employeeCount: { type: 'number', description: 'Number of employees' },
          revenue: { type: 'string', description: 'Revenue range (e.g., "$1M-$5M")' },
          geography: { type: 'string', description: 'HQ location' },
          techStack: {
            type: 'array',
            items: { type: 'string' },
            description: 'Technologies the company uses',
          },
          painPoints: {
            type: 'array',
            items: { type: 'string' },
            description: 'Known pain points or challenges they face',
          },
          triggerEvents: {
            type: 'array',
            items: { type: 'string' },
            description: 'Recent trigger events (e.g., "just raised Series B", "new CTO hired")',
          },
          ...COLD_START_PARAMS,
        },
      },
    },
  • The MCP server handler for all tools, which proxies tool execution to the backend Andru 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,
          };
        }
      }
    );
  • The client-side method that handles the actual API call for executing the tool.
     * 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 });
    }

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