Skip to main content
Glama

Company Profile

get_company_profile
Read-only

Company profile: tech stack, hiring intent, Google Ads, published contacts (emails, social links, MX) and breakout_summary growth estimates. $0.03 only when at least 2 of 4 sections have data; one of 10 free daily calls. Growth estimates are not forecasts. Single-signal tools narrow research; batch_lookup covers domains; company_footprint_check gives operating evidence.

Input Schema

NameRequiredDescriptionDefault
domainYesPublic company domain without a URL scheme, path or port.
contextNoOptional. A few words on why you are calling this tool. Recorded without your identity to improve the tools; leave out personal data.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "breakout_summary": {
      -        "description": "get_company_profile only. Growth estimate from public signals (hiring, Google Ads, site maturity); not investment advice.",
      -        "properties": {
      -          "method": {
      -            "type": "string"
      -          },
      -          "reasons": {
      -            "items": {
      -              "type": "string"
      -            },
      -            "type": "array"
      -          },
      -          "score": {
      -            "maximum": 100,
      -            "minimum": 0,
      -            "type": [
      -              "integer",
      -              "null"
      -            ]
      -          },
      -          "signal": {
      -            "enum": [
      -              "strong",
      -              "moderate",
      -              "weak",
      -              "none",
      -              "insufficient_data"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "checked_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "contacts": {
      -        "description": "get_company_profile only. Same fields as extract_company_contacts.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "footprint": {
      -        "description": "found, not_found or unknown for each public signal.",
      -        "properties": {
      -          "google_ads": {
      -            "type": "string"
      -          },
      -          "job_board_with_open_roles": {
      -            "type": "string"
      -          },
      -          "website_ad_or_analytics_tags": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "google_ads": {
      -        "description": "Same fields as get_google_ads_by_domain.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "hiring_intent": {
      -        "description": "Same fields as get_company_hiring_intent.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "note": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sections_status": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "sections_with_data": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "signals": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "status": {
      -        "description": "Only ok is charged: at least two sections have data (of four for get_company_profile, three for company_footprint_check).",
      -        "enum": [
      -          "ok",
      -          "insufficient_data"
      -        ],
      -        "type": "string"
      -      },
      -      "tech_stack": {
      -        "description": "Same fields as detect_website_tech_stack.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "status",
      -      "sections_status",
      -      "checked_at"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "status": {
      -        "maximum": 599,
      -        "minimum": 400,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "code"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "age_seconds": {
      +        "description": "Seconds since checked_at, not the cache insertion time; null when the observation time is unknown.",
      +        "minimum": 0,
      +        "type": [
      +          "integer",
      +          "null"
      +        ]
      +      },
      +      "breakout_summary": {
      +        "description": "get_company_profile only. Growth estimate from public signals (hiring, Google Ads, site maturity); not investment advice.",
      +        "properties": {
      +          "method": {
      +            "type": "string"
      +          },
      +          "reasons": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "score": {
      +            "maximum": 100,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "signal": {
      +            "enum": [
      +              "strong",
      +              "moderate",
      +              "weak",
      +              "none",
      +              "insufficient_data"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "checked_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "contacts": {
      +        "description": "get_company_profile only. Same fields as extract_company_contacts.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "footprint": {
      +        "description": "found, not_found or unknown for each public signal.",
      +        "properties": {
      +          "google_ads": {
      +            "type": "string"
      +          },
      +          "job_board_with_open_roles": {
      +            "type": "string"
      +          },
      +          "website_ad_or_analytics_tags": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "google_ads": {
      +        "description": "Same fields as get_google_ads_by_domain.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "hiring_intent": {
      +        "description": "Same fields as get_company_hiring_intent.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "note": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "recommended_next_step": {
      +        "description": "null after a completed company-profile; no automatic repeat of the same lookup is recommended.",
      +        "properties": {
      +          "body": {
      +            "type": "object"
      +          },
      +          "price_usd": {
      +            "minimum": 0,
      +            "type": "number"
      +          },
      +          "tool": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          },
      +          "zero_result_zero_charge": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "tool",
      +          "url",
      +          "body",
      +          "price_usd",
      +          "zero_result_zero_charge"
      +        ],
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "sandbox": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "demo_domain": {
      +            "const": true,
      +            "type": "boolean"
      +          },
      +          "note": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "demo_domain",
      +          "note"
      +        ],
      +        "type": "object"
      +      },
      +      "sections_status": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "sections_with_data": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "served_from_cache": {
      +        "description": "True when the gateway reused a saved result; false does not guarantee the upstream fetched fresh data.",
      +        "type": "boolean"
      +      },
      +      "signals": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "status": {
      +        "description": "Only ok is charged: at least two sections have data (of four for get_company_profile, three for company_footprint_check).",
      +        "enum": [
      +          "ok",
      +          "insufficient_data"
      +        ],
      +        "type": "string"
      +      },
      +      "tech_stack": {
      +        "description": "Same fields as detect_website_tech_stack.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "status",
      +      "sections_status",
      +      "checked_at"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "status": {
      +        "maximum": 599,
      +        "minimum": 400,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "code"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "checked_at": {
      -        "format": "date-time",
      -        "type": "string"
      -      },
      -      "domain": {
      -        "type": "string"
      -      },
      -      "footprint": {
      -        "description": "found, not_found or unknown for each public signal.",
      -        "properties": {
      -          "google_ads": {
      -            "type": "string"
      -          },
      -          "job_board_with_open_roles": {
      -            "type": "string"
      -          },
      -          "website_ad_or_analytics_tags": {
      -            "type": "string"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "google_ads": {
      -        "description": "Same fields as get_google_ads_by_domain.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "hiring_intent": {
      -        "description": "Same fields as get_company_hiring_intent.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      },
      -      "note": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "sections_status": {
      -        "additionalProperties": {
      -          "type": "string"
      -        },
      -        "type": "object"
      -      },
      -      "sections_with_data": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "signals": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "status": {
      -        "description": "Only ok is charged: at least two of the three sections have data.",
      -        "enum": [
      -          "ok",
      -          "insufficient_data"
      -        ],
      -        "type": "string"
      -      },
      -      "tech_stack": {
      -        "description": "Same fields as detect_website_tech_stack.",
      -        "type": [
      -          "object",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "domain",
      -      "status",
      -      "sections_status",
      -      "checked_at"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": true,
      -    "properties": {
      -      "code": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "status": {
      -        "maximum": 599,
      -        "minimum": 400,
      -        "type": "integer"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "code"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "breakout_summary": {
      +        "description": "get_company_profile only. Growth estimate from public signals (hiring, Google Ads, site maturity); not investment advice.",
      +        "properties": {
      +          "method": {
      +            "type": "string"
      +          },
      +          "reasons": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "score": {
      +            "maximum": 100,
      +            "minimum": 0,
      +            "type": [
      +              "integer",
      +              "null"
      +            ]
      +          },
      +          "signal": {
      +            "enum": [
      +              "strong",
      +              "moderate",
      +              "weak",
      +              "none",
      +              "insufficient_data"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "checked_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "contacts": {
      +        "description": "get_company_profile only. Same fields as extract_company_contacts.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "footprint": {
      +        "description": "found, not_found or unknown for each public signal.",
      +        "properties": {
      +          "google_ads": {
      +            "type": "string"
      +          },
      +          "job_board_with_open_roles": {
      +            "type": "string"
      +          },
      +          "website_ad_or_analytics_tags": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "google_ads": {
      +        "description": "Same fields as get_google_ads_by_domain.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "hiring_intent": {
      +        "description": "Same fields as get_company_hiring_intent.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "note": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sections_status": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "sections_with_data": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "signals": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "status": {
      +        "description": "Only ok is charged: at least two sections have data (of four for get_company_profile, three for company_footprint_check).",
      +        "enum": [
      +          "ok",
      +          "insufficient_data"
      +        ],
      +        "type": "string"
      +      },
      +      "tech_stack": {
      +        "description": "Same fields as detect_website_tech_stack.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "status",
      +      "sections_status",
      +      "checked_at"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "status": {
      +        "maximum": 599,
      +        "minimum": 400,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "code"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "Optional. A few words on why you are calling this tool. Recorded without your identity to improve the tools; leave out personal data.",
      +  "type": "string"
      +}
  4. Changed3 schema fields changed
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "properties": {
      +      "checked_at": {
      +        "format": "date-time",
      +        "type": "string"
      +      },
      +      "domain": {
      +        "type": "string"
      +      },
      +      "footprint": {
      +        "description": "found, not_found or unknown for each public signal.",
      +        "properties": {
      +          "google_ads": {
      +            "type": "string"
      +          },
      +          "job_board_with_open_roles": {
      +            "type": "string"
      +          },
      +          "website_ad_or_analytics_tags": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "google_ads": {
      +        "description": "Same fields as get_google_ads_by_domain.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "hiring_intent": {
      +        "description": "Same fields as get_company_hiring_intent.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      },
      +      "note": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "sections_status": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "type": "object"
      +      },
      +      "sections_with_data": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "signals": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "status": {
      +        "description": "Only ok is charged: at least two of the three sections have data.",
      +        "enum": [
      +          "ok",
      +          "insufficient_data"
      +        ],
      +        "type": "string"
      +      },
      +      "tech_stack": {
      +        "description": "Same fields as detect_website_tech_stack.",
      +        "type": [
      +          "object",
      +          "null"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "domain",
      +      "status",
      +      "sections_status",
      +      "checked_at"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": true,
      +    "properties": {
      +      "code": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "status": {
      +        "maximum": 599,
      +        "minimum": 400,
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "code"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "checked_at": {
      -    "format": "date-time",
      -    "type": "string"
      -  },
      -  "domain": {
      -    "type": "string"
      -  },
      -  "footprint": {
      -    "description": "found, not_found or unknown for each public signal.",
      -    "properties": {
      -      "google_ads": {
      -        "type": "string"
      -      },
      -      "job_board_with_open_roles": {
      -        "type": "string"
      -      },
      -      "website_ad_or_analytics_tags": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "google_ads": {
      -    "description": "Same fields as get_google_ads_by_domain.",
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  },
      -  "hiring_intent": {
      -    "description": "Same fields as get_company_hiring_intent.",
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  },
      -  "note": {
      -    "type": [
      -      "string",
      -      "null"
      -    ]
      -  },
      -  "sections_status": {
      -    "additionalProperties": {
      -      "type": "string"
      -    },
      -    "type": "object"
      -  },
      -  "sections_with_data": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "signals": {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  "status": {
      -    "description": "Only ok is charged: at least two of the three sections have data.",
      -    "enum": [
      -      "ok",
      -      "insufficient_data"
      -    ],
      -    "type": "string"
      -  },
      -  "tech_stack": {
      -    "description": "Same fields as detect_website_tech_stack.",
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "domain",
      -  "status",
      -  "sections_status",
      -  "checked_at"
      -]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "checked_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "footprint": {
      +      "description": "found, not_found or unknown for each public signal.",
      +      "properties": {
      +        "google_ads": {
      +          "type": "string"
      +        },
      +        "job_board_with_open_roles": {
      +          "type": "string"
      +        },
      +        "website_ad_or_analytics_tags": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "google_ads": {
      +      "description": "Same fields as get_google_ads_by_domain.",
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "hiring_intent": {
      +      "description": "Same fields as get_company_hiring_intent.",
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "note": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "sections_status": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "sections_with_data": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "signals": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "description": "Only ok is charged: at least two of the three sections have data.",
      +      "enum": [
      +        "ok",
      +        "insufficient_data"
      +      ],
      +      "type": "string"
      +    },
      +    "tech_stack": {
      +      "description": "Same fields as detect_website_tech_stack.",
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "domain",
      +    "status",
      +    "sections_status",
      +    "checked_at"
      +  ],
      +  "type": "object"
      +}
  6. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, and the description adds genuinely new behavioral facts: a conditional price ($0.03 only when 2 of 4 sections have data), a free-tier quota (1 of 10 daily calls), and a data-quality caveat that growth estimates are not forecasts. These are exactly the cost and interpretation constraints an agent needs before spending a call, and none are derivable from the annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every clause carries load: contents first, then cost/quota, then the forecast caveat, then sibling disambiguation. No filler and no repetition of the title or annotations, and the highest-value routing information is placed last as a clean hand-off.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present the return shape need not be explained, and read-only/open-world behavior is covered by annotations; the description fills the remaining gaps — what sections exist, what it costs, when it is free, and how it differs from batch_lookup and company_footprint_check. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (domain, context) are documented in the schema itself, including the no-URL-scheme constraint and the privacy note on context. The description adds nothing beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates exactly what the profile aggregates — tech stack, hiring intent, Google Ads, published contacts (emails, social links, MX) and breakout_summary growth estimates — so an agent knows the payload before opening the schema. It also explicitly contrasts itself with sibling tools (batch_lookup, company_footprint_check), which no other field does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Single-signal tools narrow research; batch_lookup covers domains; company_footprint_check gives operating evidence" routes the agent away from this tool toward the correct alternative in specific cases. It lacks an explicit positive "use this when..." clause, leaving the caller to infer that this is the broad multi-section option.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources