Skip to main content
Glama
companylens-mcp

companylens-mcp

CompanyLens MCP Server

npm version License: MIT

Corporate intelligence for AI agents. Search companies, get SEC filings, screen sanctions, check government contracts — all via Model Context Protocol.

CompanyLens MCP gives your AI assistant access to real corporate data from official government sources. No web scraping, no hallucinations — verified data from SEC EDGAR, UK Companies House, OpenSanctions, and USAspending.gov.


Available Tools

Tool

Description

Data Source

company_search

Search companies by name or ticker

SEC EDGAR, Companies House

company_profile

Full corporate profile — financials, filings, officers, registration

SEC EDGAR, Companies House

company_sanctions_check

Screen against 75+ global sanctions lists

OpenSanctions (OFAC, EU, UN, HMT)

company_contracts

US government contracts and open opportunities

USAspending.gov, SAM.gov

company_court_cases

Federal court cases and litigation history

CourtListener / RECAP

Quick Start

Claude Desktop

claude mcp add companylens -- npx companylens-mcp

Claude Code (CLI)

Add to your project's .mcp.json:

{
  "mcpServers": {
    "companylens": {
      "command": "npx",
      "args": ["companylens-mcp"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "companylens": {
      "command": "npx",
      "args": ["companylens-mcp"]
    }
  }
}

Windsurf

Add to ~/.windsurf/mcp.json:

{
  "mcpServers": {
    "companylens": {
      "command": "npx",
      "args": ["companylens-mcp"]
    }
  }
}

Smithery

Install on Smithery

npx -y @smithery/cli install companylens-mcp --client claude

Usage Examples

Once connected, ask your AI assistant:

Company Research

  • "Search for Apple Inc and show me their latest SEC filings"

  • "Get the full profile for Microsoft — revenue, officers, SIC codes"

  • "Look up Rolls Royce in the UK Companies House registry"

Compliance & Risk

  • "Screen Gazprom against global sanctions lists"

  • "Check if this company has any OFAC matches"

  • "Run a sanctions check on all companies in my spreadsheet"

Government Contracts

  • "What government contracts does Boeing have?"

  • "Show me the top federal contracts for Lockheed Martin"

  • "Are there any open SAM.gov opportunities for this vendor?"

Legal Research

  • "Find federal court cases involving Tesla"

  • "What litigation history does Johnson & Johnson have?"

How It Works

AI Assistant  →  CompanyLens MCP  →  CompanyLens API  →  Government Sources
                  (this server)       (REST backend)      SEC, CH, OFAC, SAM.gov
  1. Your AI calls company_search with a company name

  2. CompanyLens searches official registries (SEC EDGAR, Companies House)

  3. Returns an entity_id — a stable identifier for that company

  4. Use the entity_id with other tools to get profile, sanctions, contracts, court cases

Every response includes an agent_hint — a natural-language suggestion for what the AI should do next.

Data Sources

Source

Coverage

Data

SEC EDGAR

US public companies

10-K, 10-Q filings, XBRL financials, SIC codes

Companies House

UK companies

Registration, officers, PSC, filing history

OpenSanctions

Global

OFAC SDN, EU Consolidated, UN Security Council, HMT + 75 lists

USAspending.gov

US federal

Contract awards, amounts, agencies

SAM.gov

US federal

Active opportunities, entity registration

CourtListener

US federal courts

Dockets, case metadata, RECAP archive

Configuration

Custom API URL

By default, the server connects to https://companylensapi.vercel.app. To use your own instance:

COMPANYLENS_API_URL=https://your-api.example.com npx companylens-mcp

Or in your MCP config:

{
  "mcpServers": {
    "companylens": {
      "command": "npx",
      "args": ["companylens-mcp"],
      "env": {
        "COMPANYLENS_API_URL": "https://your-api.example.com"
      }
    }
  }
}

Development

git clone https://github.com/diplv/companylens-mcp.git
cd companylens-mcp
pnpm install
pnpm dev

Build

pnpm build

Test with MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

API Reference

Search companies by name or stock ticker.

Parameters:

  • query (string, required) — Company name or ticker (e.g., "Apple", "AAPL", "Rolls Royce")

  • jurisdiction (string, optional) — Filter: us, uk, or all (default: all)

  • limit (number, optional) — Max results 1-50 (default: 10)

Returns: List of companies with entity_id for use with other tools.

company_profile

Full corporate profile with financials and registration data.

Parameters:

  • entity_id (string, required) — CompanyLens entity ID from company_search

Returns: JSON with name, jurisdiction, status, SIC codes, registered address, XBRL financials (revenue, net income, total assets), recent filings, officers list, and data source attribution.

company_sanctions_check

Screen against global sanctions lists.

Parameters:

  • entity_id (string, required) — CompanyLens entity ID from company_search

Returns: Boolean is_sanctioned flag, match details with confidence scores, and list names. Includes a disclaimer that this is automated screening, not legal advice.

company_contracts

US government contract awards and opportunities.

Parameters:

  • entity_id (string, required) — CompanyLens entity ID from company_search

Returns: Awarded contracts (amount, agency, date) and open SAM.gov opportunities.

company_court_cases

Federal court litigation history.

Parameters:

  • entity_id (string, required) — CompanyLens entity ID from company_search

Returns: Court cases with case name, court, docket number, filing date, and status.

License

MIT

Available Tools

5 tools
company_contractsGovernment ContractsA

Get US government contract data for a company: awarded contracts from USAspending.gov and open opportunities from SAM.gov. Use company_search first to get an entity_id.

Inputs: entity_id (required).

company_court_casesCourt CasesA

Get US federal court cases involving a company — dockets, litigation history, case status. Powered by CourtListener/RECAP. Use company_search first to get an entity_id.

Inputs: entity_id (required).

company_profileCompany ProfileA

Get a full corporate profile for a company: SEC filings, financials (revenue, net income, assets), UK registration details, officers. Use company_search first to get an entity_id.

Inputs: entity_id (required).

company_sanctions_checkSanctions ScreeningA

Screen a company against global sanctions lists (OFAC, EU, UN) via OpenSanctions. Returns match confidence scores. Use company_search first to get an entity_id. IMPORTANT: This is an automated screening, not a legal determination.

Inputs: entity_id (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool targets a completely distinct data domain—search/indexing, financial/SEC profiles, government contracts, federal litigation, and sanctions screening. No functional overlap exists between the tools, making selection unambiguous.

    Naming Consistency4/5

    All tools follow the 'company_<resource>' snake_case pattern consistently. The minor deviation is that 'search' is an action/entry point while the others (profile, contracts, court_cases, sanctions_check) imply data retrieval, but the shared prefix and formatting keep it predictable.

    Tool Count5/5

    Five tools is ideal for this focused corporate intelligence domain. The set covers the essential due diligence workflow (search → profile/contracts/litigation/sanctions) without bloat or trivial fragmentation.

    Completeness4/5

    Covers the core compliance and intelligence lifecycle well: discovery via search, financial vetting via profile, legal risk via court cases, regulatory risk via sanctions, and business relationships via contracts. Minor gaps like news/media monitoring or beneficial ownership chains prevent a perfect score.

    Related MCP Connectors