Skip to main content
Glama
Stewyboy1990

CompanyScope

by Stewyboy1990

CompanyScope MCP Server

Stewyboy1990/companyscope-mcp MCP server npm License: MIT Install in Cursor Apify Actor

Company intelligence in one tool call. Get comprehensive company profiles — financials, tech stacks, competitors, patents, key people, job postings, domain intel, social presence, and news — from any domain or company name. Aggregates 12 free public data sources in parallel. Works with Claude, ChatGPT, Cursor, Windsurf, Cline, and any MCP-compatible client.

Try the live demo — enter any company name and see instant results. No signup needed.

Want cloud-hosted, always-on access with all 11 tools? Use the Apify Actor — pay only for what you use, no infrastructure to manage.

Tools

Tool

Description

lookup_company

Full company profile — founding info, description, tech stack, key people, news, corporate data, financials

get_tech_stack

Detect 19+ frameworks, languages, hosting, and analytics from website + GitHub

get_key_people

Find founders, executives, and team members with titles

get_company_news

Recent news articles about a company

get_corporate_registry

Corporate registry data — incorporation, jurisdiction, officers (140+ countries)

get_financials

SEC EDGAR financial data — revenue, net income, assets, liabilities, stock tickers, recent filings

get_competitors

Discover competing companies via web search

get_patents

Search US patents by company assignee via Google Patents

get_domain_intel

DNS records, WHOIS/RDAP, hosting provider, email service detection

get_job_postings

Open positions from careers pages — titles, departments, locations

get_social_presence

Social media across 12 platforms + GitHub org stats

Related MCP server: mcp-gtm-signals-aggregator

Quick Start

Option 1: Apify Actor (cloud-hosted, all 11 tools)

Use CompanyScope on Apify — always-on, pay-per-use, no setup required:

# Claude Code
claude mcp add companyscope --transport http \
  https://constructive-wainscot--companyscope-mcp.apify.actor/mcp \
  --header "Authorization:Bearer YOUR_APIFY_TOKEN"
// Claude Desktop (claude_desktop_config.json)
{
  "mcpServers": {
    "companyscope": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://constructive-wainscot--companyscope-mcp.apify.actor/mcp",
        "--header", "Authorization:Bearer YOUR_APIFY_TOKEN"
      ]
    }
  }
}

Option 2: One-click Claude Desktop install (.mcpb)

Download the CompanyScope extension and double-click to install in Claude Desktop. No configuration needed.

Option 3: Free hosted server (all 11 tools, 25 calls/day)

Connect to the free Cloudflare Workers endpoint:

# Claude Code
claude mcp add companyscope --transport http https://companyscope-mcp.stewwilli.workers.dev/mcp
// Claude Desktop
{
  "mcpServers": {
    "companyscope": {
      "command": "npx",
      "args": ["mcp-remote", "https://companyscope-mcp.stewwilli.workers.dev/mcp"]
    }
  }
}

Option 4: ChatGPT (Pro, Team, Enterprise, Edu)

Connect CompanyScope directly in ChatGPT — no installation required:

  1. Open ChatGPT → SettingsApps & ConnectorsAdvanced settings

  2. Toggle Developer Mode to ON

  3. Click Add new connector

  4. Enter:

    • Name: CompanyScope

    • URL: https://companyscope-mcp.stewwilli.workers.dev/mcp

    • Authentication: Select No Auth

  5. Check "I trust this application" → Create

  6. In any chat, enable Developer Mode and CompanyScope's 11 tools are available

Option 5: npm (local, stdio transport)

npx companyscope-mcp

Option 6: Self-host on Cloudflare Workers

git clone https://github.com/Stewyboy1990/companyscope-mcp.git
cd companyscope-mcp && npm install
wrangler kv namespace create CACHE
# Update wrangler.toml with your KV namespace ID
npm run deploy

Data Sources

All data is aggregated from 10 free public sources — no paid API keys required:

Source

Data Provided

Wikipedia / Wikidata

Company description, founding year, HQ, employees, industry, revenue, founders, CEO

GitHub API

Organization profile, top repos, programming languages, stars, contributors

SEC EDGAR

Revenue, net income, total assets, liabilities, stock tickers, recent filings

Web scraping

Company name, description, tech stack (19+ frameworks), social links

OpenCorporates

Incorporation date, jurisdiction, registered officers (140+ countries)

RDAP

Domain registrar, registration date, nameservers, domain age

DNS (Cloudflare DoH)

A, MX, NS, TXT records; hosting provider and email service detection

Brave Search

Competitor discovery, patent search, company news

Google Patents

US patents by company assignee — titles, IDs, dates

Careers pages

Job postings, departments, locations, ATS platform detection

Example Output

> lookup_company("anthropic.com")

Returns a structured profile with:

  • Company name, description, industry

  • Founded date, headquarters, employee count

  • Tech stack (from website + GitHub)

  • Key people (from corporate registry, website, Wikipedia)

  • Recent news

  • Social profiles

  • Confidence score (0-1 based on data sources that returned data)

Pricing

Option

Tools

Calls/Day

Price

Free (Cloudflare)

6 core

25

$0

Free (npm)

6 core

Unlimited

$0

Apify Actor

All 11

Unlimited

Pay-per-use

Use Cases

  • Sales prospecting — Research target companies before outreach. Get tech stack, team size, financials.

  • Due diligence — Pull SEC filings, corporate registry, patent portfolios in one call.

  • Competitive intelligence — Discover competitors, compare tech stacks and hiring activity.

  • AI agent workflows — Let your AI assistant autonomously research and enrich company data.

Also Available

License

MIT

Available Tools

6 tools
get_company_newsAInspect

Get recent news articles about a company from Brave Search and NewsAPI. Returns article titles, descriptions, sources, and publication dates sorted by recency. Use company name, not domain. Coverage depends on server-side API key configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_nameYesCompany name as it would appear in news articles (e.g. 'Anthropic', 'OpenAI', 'Tesla'). Do not pass a domain.

TDQS

A4.5/5.0
Behavior4/5

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

Discloses returned data (titles, descriptions, sources, dates sorted by recency) and the dependency on server-side API key configuration. No annotations provided, but description adequately covers behavioral expectations.

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?

Three sentences: purpose and sources, returned fields, usage note + caveat. Every sentence earns its place; no redundancy.

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?

For a simple news-fetching tool with one parameter and no output schema, the description covers input requirements, return content, sorting, and external dependencies. No critical gaps.

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

Parameters4/5

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

Schema covers 100% of the single parameter with description. Description adds value by providing examples ('Anthropic', 'OpenAI', 'Tesla') and reinforcing the 'not domain' constraint, exceeding baseline.

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?

Clearly states 'Get recent news articles about a company' with specific sources (Brave Search and NewsAPI). Precisely describes the action and resource, distinguishing it from sibling tools that handle corporate registry, financials, or people.

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?

Explicitly instructs to use company name, not domain, and mentions API key dependency. Lacks explicit guidance on when to prefer this tool over alternatives, but context is sufficiently implied.

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

get_corporate_registryAInspect

Look up corporate registry data from OpenCorporates — incorporation date, status, jurisdiction, registered address, and company officers. Covers companies in 140+ jurisdictions worldwide. Use the company's legal name for best results. Note: this may return no results for very new or small private companies.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_nameYesCompany legal name as registered (e.g. 'Stripe, Inc.', 'Alphabet Inc.'). Legal names with suffixes like Inc/Ltd/GmbH produce more accurate results.

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description bears full burden. Discloses potential no-results, but does not mention rate limits, data freshness, or auth requirements. Adequate but not thorough.

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?

Three concise sentences; purpose is front-loaded. No superfluous words. Efficient and structured.

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?

Despite no output schema, description enumerates returned data fields (incorporation date, etc.) and covers edge case (no results). Sufficient for a simple lookup tool.

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

Parameters4/5

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

Schema covers 100% of the single parameter with clear description. Description adds value by suggesting suffixes improve accuracy, going beyond schema details.

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?

Clearly states lookup of corporate registry data from OpenCorporates, specifying data types (incorporation date, status, etc.) and coverage (140+ jurisdictions). Distinguishes from siblings like get_financials or get_key_people.

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?

Provides best practice (use legal name) and acknowledges possible no-results for new/small companies, but does not explicitly contrast with sibling tools or state when to prefer this over alternatives.

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

get_financialsAInspect

Get financial data for US public companies from SEC EDGAR filings. Returns revenue, net income, total assets, total liabilities, stockholders' equity, stock exchange tickers, SIC industry code, and recent SEC filings (10-K, 10-Q, 8-K). Only works for companies that file with the SEC — private companies and non-US companies will return no results. Data is updated as companies file new reports.

ParametersJSON Schema
NameRequiredDescriptionDefault
company_nameYesCompany name or stock ticker symbol (e.g. 'Apple', 'AAPL', 'Tesla', 'MSFT'). Both common names and ticker symbols are supported.

TDQS

A4.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses data sources (SEC EDGAR), scope (US public companies), and data freshness ('updated as companies file new reports'), which is adequate for a read-only data retrieval tool.

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?

The description is concise (three sentences), front-loaded with the core purpose, and every sentence adds value. No redundancy or fluff.

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 one simple parameter, no output schema, and clear scope, the description fully explains what the tool does, what data it returns, and its limitations. No additional information is needed.

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

Parameters5/5

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

The single parameter 'company_name' is well-described in the schema (100% coverage). The description adds that both common names and ticker symbols are supported, which enhances semantic understanding beyond the schema.

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 clearly states it gets financial data for US public companies from SEC EDGAR, listing specific fields (revenue, net income, etc.). This distinguishes it from sibling tools like get_company_news (news) or get_corporate_registry (registry info).

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?

The description explicitly limits use to SEC-filing companies, stating private and non-US companies will return no results. It gives clear context but does not explicitly mention alternatives to this tool.

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

get_key_peopleAInspect

Find key people at a company including founders, C-suite executives, and team members. Scrapes the company's website (e.g. /about, /team pages), checks Wikipedia, and cross-references GitHub org members. Returns names, titles, and sources. Use this when you need leadership or team information specifically. Requires a domain name.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany website domain without protocol (e.g. 'openai.com'). The tool will scrape the site's about/team pages.

TDQS

A4.4/5.0
Behavior4/5

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

Describes the scraping process (website, Wikipedia, GitHub), the data returned (names, titles, sources). With no annotations, this is sufficient behavioral disclosure. Could be improved by mentioning potential failure modes or rate limits, but overall transparent.

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?

Three sentences concisely cover purpose, method, use case, and requirement. No extraneous words. Front-loaded with the main action.

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

Completeness4/5

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

Given a single parameter and no output schema, the description covers the essential aspects: input, process, output, and use case. It could be more complete by mentioning limitations (e.g., only public info, or if site blocks scraping), but it's largely adequate.

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

Parameters4/5

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

Schema covers the single parameter 'domain' at 100%. The description adds further context: 'without protocol (e.g. 'openai.com')' and explains how the domain is used (scraping about/team pages). This adds value beyond the schema.

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?

Clearly defines the tool as finding key people (founders, C-suite, team members) at a company. Differentiates from sibling tools like get_company_news or get_financials by focusing specifically on leadership and team information.

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?

Explicitly states when to use: 'when you need leadership or team information specifically.' Also specifies a prerequisite: 'Requires a domain name.' Does not provide explicit exclusions or alternatives, but the context is clear enough.

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

get_tech_stackAInspect

Detect a company's technology stack by analyzing HTTP headers, DNS records, and GitHub repositories. Returns frameworks, programming languages, hosting providers, analytics tools, and CDNs. Use this instead of lookup_company when you only need technology information. Requires a domain name — company names are not supported for this tool.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCompany website domain without protocol (e.g. 'vercel.com', 'github.com'). Must be a valid domain, not a company name.

TDQS

A4.5/5.0
Behavior4/5

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

The description discloses the analysis methods (HTTP headers, DNS, GitHub) and return content, but does not mention any side effects, rate limits, or authentication requirements. Since no annotations are provided, the description carries the full burden; it is mostly transparent but lacks explicit safety or non-destructive confirmation.

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?

The description is three sentences, each adding distinct value: purpose and method, usage guidance and return types, and input constraint. No unnecessary words, front-loaded with key information.

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?

Given the low complexity (1 parameter), full schema coverage, and no output schema, the description compensates by listing return types (frameworks, languages, etc.) and providing clear usage context. It is complete for an agent to correctly invoke the tool.

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?

With 100% schema coverage, the input schema already describes the 'domain' parameter adequately. The description reinforces the requirement but adds no new semantic meaning beyond confirming domain format and exclusion of company names.

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 explicitly states 'Detect a company's technology stack' with specific methods (HTTP headers, DNS, GitHub) and return types (frameworks, languages, etc.). It distinguishes itself from the sibling 'lookup_company' tool, making the purpose clear and unique.

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

Usage Guidelines5/5

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

The description provides explicit guidance: 'Use this instead of lookup_company when you only need technology information' and 'Requires a domain name — company names are not supported.' This covers when to use, when not to, and an alternative.

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

lookup_companyAInspect

Get a comprehensive company profile by aggregating data from Wikipedia, GitHub, SEC EDGAR, OpenCorporates, and web scraping. Returns founding year, description, headquarters, employee count, industry, tech stack, key people, and recent news. Use this as the primary entry point for any company research — it calls all other data sources automatically. Input can be a domain (stripe.com) or company name (Stripe). Returns a JSON object with confidence scores and source attribution.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesCompany domain (e.g. 'stripe.com') or company name (e.g. 'Stripe'). Domains produce richer results because they enable website scraping and DNS analysis.

TDQS

A4.7/5.0
Behavior4/5

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

Despite no annotations, the description discloses key behavioral traits: it aggregates data from multiple sources, returns JSON with confidence scores and source attribution, and notes that domains produce richer results. It could mention potential latency or failure modes, but overall is transparent enough.

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?

The description is four sentences, each serving a purpose: purpose and sources, return fields, usage guidance, input format and note. No fluff, and critical information is front-loaded.

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?

Given the tool's complexity and lack of output schema, the description adequately covers input format, output structure (fields, confidence scores, source attribution), and usage context. It equips the agent to understand what the tool returns and when to invoke it.

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

Parameters4/5

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

Schema coverage is 100% with one parameter. The description adds valuable context beyond the schema: 'Domains produce richer results because they enable website scraping and DNS analysis.' This helps an agent choose between domain or company name.

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 clearly states the tool's purpose: 'Get a comprehensive company profile by aggregating data from multiple sources.' It lists specific return fields and distinguishes itself from sibling tools by being the primary entry point that calls other data sources automatically.

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

Usage Guidelines5/5

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

Explicit guidance: 'Use this as the primary entry point for any company research — it calls all other data sources automatically.' This tells the agent when to use this tool versus the more specific sibling tools like get_financials or get_tech_stack.

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

TDQS

A4.4/5.0
Disambiguation4/5

Tools are mostly distinct, but lookup_company aggregates data from the other tools, creating potential overlap. Specialized tools have specific input constraints (e.g., domain vs. name), so they remain useful, but an agent might default to lookup_company and miss targeted functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (get_*, lookup_*), with clear and descriptive nouns. The slight variation in verb ('get' vs 'lookup') is minor and does not hinder readability.

Tool Count5/5

With 6 tools covering distinct aspects of company research (news, registry, financials, people, tech stack, comprehensive), the set is well-scoped without being overwhelming or insufficient.

Completeness3/5

The set covers core company data but has notable gaps: financials are limited to US public companies, and there is no tool for non-US private company financials or competitor analysis. The comprehensive lookup mitigates some gaps but cannot fill all.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides real-time company verification and corporate intelligence by accessing global registries like UK Companies House, Singapore ACRA, and OpenCorporates. It enables AI agents to perform KYC tasks, retrieve company profiles, and conduct automated risk assessments for due diligence workflows.
    249
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides domain and brand intelligence for AI agents, including company enrichment, tech stack detection, and brand research from free public sources with an on-demand cache.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to research companies and find contacts with structured data from multiple free sources, including company info, tech stack, and email addresses.
    3

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/Stewyboy1990/companyscope-mcp'

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