Sec vs Signal8 MCP

A side-by-side look at the Sec and Signal8 MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Sec logoSecFinance & Fintech · Local subprocess (stdio)SEC MCP — SEC EDGAR public APIs (free, no auth)56GoodAuth: not declaredSignal8 MCP logoSignal8 MCPFinance & Fintech · Local subprocess (stdio)SEC filing intelligence for AI agents: insider (Form 4) & institutional (13F) ownership, dilution-risk scoring, congressional & executive (STOCK Act) trades, FEC campaign finance, SEC filing search, compliance monitoring, and a dilution-aware stock screener. 86 tools over live Signal8 data.64GoodAuth: api key required

Verdict: choose Sec for finance & fintech work as a local process; choose Signal8 MCP for finance & fintech as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Sec logoChoose Sec when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like search_companies, get_company_filings, get_company_facts.
Explore Sec

Signal8 MCP logoChoose Signal8 MCP when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: SIGNAL8_API_KEY.
  • You want tools like search_companies, get_company_profile, get_quote.
Explore Signal8 MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecSec logoSecSignal8 MCP logoSignal8 MCP
CategoryFinance & FintechFinance & Fintech
Quality signal56/100 · Good64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredBYOK (pay the provider)
Required env varsNone listedSIGNAL8_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars01
Directory activity 1 views 0 installs 0 upvotes 6 views 0 installs 0 upvotes
Tools3101

Tools & capabilities

Sec tools 3

  • search_companiesSearch SEC EDGAR for companies by name or ticker symbol. Returns matching company names and their CIK numbers, which are needed for other SEC tools.
  • get_company_filingsGet recent SEC filings for a company by CIK number, ticker, or company name. Returns filing dates, form types, and accession numbers. Optionally filter by form type (e.g., "10-K", "10-Q", "8-K").
  • get_company_factsGet XBRL financial facts for a company by CIK number, ticker, or company name. Returns latest_annual — revenue, net income, operating income, total assets, liabilities, equity, cash, EPS and shares for the most recent fiscal year (10-K), resolved to whichever XBRL concept the filer currently reports under — plus per-concept detail with the fiscal year and period end on every figure. Concepts the filer has retired (e.g. a pre-ASC-606 Revenues tag) are kept for history but flagged stale and sorted last.

Signal8 MCP tools 101

  • search_companiesSearch for companies by name or ticker symbol in the Signal8 database. Returns matching companies with their ticker, name, CIK, and exchange. Use this as the first step to find a company before calling other tools.
  • get_company_profileGet an enriched company profile by ticker symbol. Returns CIK, exchange, sector, industry, market cap, employee count, description, and other fundamental data. This is a lightweight lookup (1 credit) -- use this when you only need basic company info rather than the full bundle. Always includes halted/haltCode/haltedAt trading-halt status (false/null when trading normally); a halted-but-listed ticker reports delisted:false.
  • get_quoteGet the current stock quote for a company including price, volume, change, market cap, and other real-time market data. Use this when a user asks about a stock's current price or trading activity. Always includes halted/haltCode/haltReason/haltedAt/resumptionAt trading-halt fields (false/null when trading normally); a halted ticker returns the last-known quote instead of an error, or currentPrice:null + halted:true when nothing is recoverable.
  • get_market_metricsGet computed market metrics for a company including volume averages, volatility, SMAs, and trend direction. Use when analyzing trading patterns or technical indicators beyond the basic quote.
  • get_short_interestGet short interest data for a company including short volume, short ratio, days to cover, and short percent of float. Use when analyzing bearish sentiment or potential short squeeze setups.
  • get_floatGet float data for a company: floatShares, source, floatDefinition, and as-of date. Use when analyzing share supply. IMPORTANT: check "floatDefinition" to know which float you are reading — "tradeable" (shares outstanding minus affiliates minus restricted/unregistered blocks: what can actually reach the tape; used on filing-derived dilution-snapshot tickers), "non_affiliate" (the SEC I.B.6 figure, which INCLUDES restricted shares held by non-affiliates — not what a trader means by float), "non_affiliate_estimate" (approximated from ownership filings), or "free_float" (vendor methodology). On snapshot tickers "nonAffiliateFloatShares" carries the SEC I.B.6 figure separately — it is the ONLY correct input to baby-shelf / I.B.6 shelf-capacity math; never use the tradeable float there, and never present the non-affiliate figure as tradeable supply. floatShares:null with "floatWithheldReason" set ("restricted_blocks_unnetted" | "stated_figure_impossible" | "affiliate_basis_stale" | "affiliate_figure_declined") means the figure was deliberately WITHHELD, not unavailable — do not substitute a vendor float. On "affiliate_basis_stale", "affiliateBasis.floatLowerBound" / "floatUpperBound" are a RANGE the float lies in (both ends or neither; null = not measurable) — a range to state, never a number to compute with. "restrictedShares":null means NOT MEASURED (a block exists whose size the filings do not state), NEVER zero; "restrictedBlockCount":0 is an answer, not an absence. "affiliateBasisStale" (with basisSpanDays/affiliateAnchorDate) labels a float whose affiliate table is materially older than its share count — the number itself is unchanged.
  • get_float_historyGet the POINT-IN-TIME float history for a company — one sample per trade date (float shares, shares outstanding, and the source the float came from). Use to answer "what was the float on date X" or to see float expand across a dilution event, which the latest-only get_float cannot show. IMPORTANT: this series is FORWARD-ONLY — it began accumulating in mid-2026 and is NOT backfilled, so early/absent history is expected and an empty rows array is a normal result, not an error or a delisted company. Each row carries "source" ("polygon" | "computed" | "sec_10k" | "fmp") because float quality varies by provider — weigh rows accordingly rather than treating all sources as equal. Charged per your API tier.
  • get_historical_pricesGet historical OHLCV price candles for a stock. Supports daily, weekly, and monthly resolutions. Use period shorthand (1M, 3M, 6M, 1Y, 5Y, ALL) or explicit from/to UNIX timestamps. Default is 1 year of daily candles. Use this to compute price returns, chart price history, or analyze volume trends over time.
  • get_stock_price_changeGet percentage price changes for a stock across multiple timeframes: 1D, 5D, 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y, 10Y, and MAX. Use this for quick "how much is it up/down" answers without fetching full candle data.
  • get_financialsGet income statement, balance sheet, and cash flow data for a company. Supports annual, quarterly, and trailing-twelve-month views. Use when analyzing revenue, profitability, debt, or cash position.
  • get_earningsGet historical earnings data for a company including EPS actual vs estimate, revenue actual vs estimate, and surprise percentages. Use when analyzing earnings beats/misses or upcoming earnings expectations.
  • get_executivesGet key executives and officers of a company including name, title, compensation, and tenure. Use when researching company leadership or management quality.
  • +89 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Sec

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "sec": {
      "command": "npx",
      "args": [
        "-y",
        "@pipeworx/mcp-sec"
      ]
    }
  }
}

Signal8 MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "signal8ai-signal8-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@signal8ai/mcp"
      ],
      "env": {
        "SIGNAL8_API_KEY": "YOUR_SIGNAL8_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Sec is categorized under Finance & Fintech and uses a local stdio subprocess. Signal8 MCP belongs to Finance & Fintech and uses a local stdio subprocess. Pick Sec for finance & fintech work and Signal8 MCP for finance & fintech.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Sec has no declared pricing — check the project's own site. Signal8 MCP is bring-your-own-key: usage is billed by the API provider you supply a key for. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add sec and signal8ai-signal8-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Sec has a quality signal of 56/100 (Good) with 1 views, 0 installs and 0 GitHub stars. Signal8 MCP has 64/100 (Good) with 6 views, 0 installs and 1 GitHub stars.