protogrid

Search / io.github.pgeneralpl/edgar-entity-mcp

EDGAR + Entity: US Company Research

R0· no sign-in

SEC EDGAR filings, XBRL financials, Form 4 insider trades + state business-entity registry lookups

v0.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94new
Trust97of 100
Uptime, 30 days100%
Latency p50231 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "edgar-entity-mcp": {
      "type": "http",
      "url": "https://edgar-entity-mcp.vercel.app/mcp"
    }
  }
}
claude mcp add --transport http edgar-entity-mcp https://edgar-entity-mcp.vercel.app/mcp
[mcp_servers.edgar-entity-mcp]
url = "https://edgar-entity-mcp.vercel.app/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "edgar-entity-mcp": {
      "type": "remote",
      "url": "https://edgar-entity-mcp.vercel.app/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "edgar-entity-mcp": {
      "type": "http",
      "url": "https://edgar-entity-mcp.vercel.app/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=edgar-entity-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZWRnYXItZW50aXR5LW1jcC52ZXJjZWwuYXBwL21jcCJ9"
}
{
  "servers": {
    "edgar-entity-mcp": {
      "type": "http",
      "url": "https://edgar-entity-mcp.vercel.app/mcp"
    }
  }
}
{
  "mcpServers": {
    "edgar-entity-mcp": {
      "httpUrl": "https://edgar-entity-mcp.vercel.app/mcp"
    }
  }
}
extensions:
  "edgar-entity-mcp":
    enabled: true
    name: "edgar-entity-mcp"
    type: streamable_http
    uri: "https://edgar-entity-mcp.vercel.app/mcp"
    timeout: 300

Quality 94 / 100new

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations10 of 10 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,076 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool history recorded for 0 of the 7 days needed
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledependencies not resolved yet

10 tools, about 3,076 tokens to load them all · tool set d81dc2aee669 · checked 2026-10-20 23:27 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-0d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmnot resolved yet; dependencies are read once a day

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://edgar-entity-mcp.vercel.app/mcp streamable-httpnoneyes100%231 ms2026-07-282026-10-20
packageregistryversionruntimesecrets
edgar-entity-mcpnpm0.1.0npxSOCRATA_APP_TOKEN, UPSTASH_REDIS_REST_TOKEN

Tools (10)

compare_companiesread-onlyCompare one XBRL concept across ALL reporting companies for a calendar period (SEC frames API), e.g. rank by revenue for CY2024, or compare specific companies. Period: CY2024 (annual duration), CY2024Q2 (quarter), CY2024Q4I (instant, required for balance-sheet items like Assets). Pass companies to filter to specific tickers/CIKs; otherwise returns the top `limit` by value.
get_company_profileread-onlyCompany profile from SEC EDGAR submissions: legal name, tickers, exchanges, SIC code + industry, state of incorporation, fiscal year end, EIN, filer category, business/mailing addresses, former names, latest 10-K/10-Q. Use it to orient before deeper research.
get_filing_documentread-onlyFetch an SEC filing's primary document (HTML converted to clean text, tables preserved as aligned rows). Identify it by `url` (any www.sec.gov/Archives document URL from list_filings) or by `company` + `accession`. Optionally extract one 10-K/10-Q item via `section` (e.g. '1' Business, '1A' Risk Factors, '7' MD&A, '7A' Market Risk, '8' Financial Statements; for 10-Q: '1' Financial Statements, '2' MD&A, '1A' Risk Factors). Long text is paged: use max_chars and the returned next_offset.
get_financialsread-onlyKey financial metrics normalized from SEC XBRL companyfacts, one row per fiscal period (deduped; as-filed values from the filing that reported the period). Metrics: revenue, gross_profit, operating_income, net_income, eps_basic, eps_diluted, operating_cash_flow, capex, total_assets, total_liabilities, stockholders_equity, cash, long_term_debt, shares_outstanding, free_cash_flow (derived). Revenue tries common tags in order (Revenues, RevenueFromContractWithCustomerExcludingAssessedTax, SalesRevenueNet, ...) and tags_used reports which was used. period_type 'quarterly' returns 3-month values (cash-flow quarters derived from YTD; Q4 derived as FY minus 9M). Values are raw (e.g. 391035000000 = $391.0B).
get_insider_tradesread-onlyRecent insider transactions for a company (issuer) from SEC Form 4 / 4/A XML: reporter name, role and officer title, transaction date, code with plain-English meaning (P=open-market buy, S=sale, A=grant, M=option exercise, F=tax withholding, G=gift...), shares, price, value, acquired/disposed, shares owned after, direct/indirect, plus a summary of open-market buys vs sales. `limit` counts filings (each filing can hold several transactions).
get_xbrl_conceptread-onlyAll reported values of one XBRL concept for one company (SEC companyconcept API), newest first, deduped by period. Use for any tag not in get_financials, e.g. us-gaap:ResearchAndDevelopmentExpense, us-gaap:LongTermDebt, dei:EntityCommonStockSharesOutstanding. framed_only=true keeps only SEC's one-fact-per-calendar-period values (cleanest time series).
list_filingsread-onlyList a company's EDGAR filings newest-first, filtered by form type and filing-date range. Each row has form, accession, filed date, report period, primary document URL and filing index URL. Amendments (e.g. 10-K/A) are included when filtering by the base form unless include_amendments=false. Older history pages are fetched automatically when needed. Common forms: 10-K, 10-Q, 8-K, DEF 14A, S-1, 4, 13D/G (SC 13D), 20-F, 6-K.
list_supported_statesread-onlyList the state business-entity registries supported by lookup_business_entity, with dataset ids, coverage caveats, update frequency, and license/commercial-use terms.
lookup_business_entityread-onlySearch Secretary of State business-entity registries (official open data) by entity name and/or state entity id. Supported: NY, CO, OR, CT, PA (NY, OR and PA list active entities only; CO and CT include dissolved entities with status). Returns normalized name, entity id, status, type, formation date, jurisdiction, principal/mailing address, registered agent where available, and source URLs. Use for private companies, subsidiaries, LLCs, and verifying legal entity names. Call list_supported_states for coverage and licenses.
search_companyread-onlyFind SEC-registered public companies by ticker or name (fuzzy). Returns CIK (the SEC id used by every other tool), name, tickers, exchange and a match score (100 = exact ticker). Source: SEC company_tickers_exchange.json (companies with a listed ticker).

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.pgeneralpl/edgar-entity-mcp",
  "title": "EDGAR + Entity: US Company Research",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://edgar-entity-mcp.vercel.app/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "packages": [
    {
      "version": "0.1.0",
      "transport": {
        "type": "stdio"
      },
      "identifier": "edgar-entity-mcp",
      "runtimeHint": "npx",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "SEC_USER_AGENT",
          "isRequired": true,
          "description": "Required by SEC fair-access policy: '<Name or Company> <email>'"
        },
        {
          "name": "SOCRATA_APP_TOKEN",
          "isSecret": true,
          "description": "Optional Socrata app token for higher state-registry rate limits"
        },
        {
          "name": "UPSTASH_REDIS_REST_URL",
          "description": "Optional Upstash Redis REST URL for a shared cache"
        },
        {
          "name": "UPSTASH_REDIS_REST_TOKEN",
          "isSecret": true,
          "description": "Optional Upstash Redis REST token"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/pgeneralpl/edgar-entity-mcp",
    "source": "github"
  },
  "websiteUrl": "https://github.com/pgeneralpl/edgar-entity-mcp",
  "description": "SEC EDGAR filings, XBRL financials, Form 4 insider trades + state business-entity registry lookups"
}