Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
SEC filings, dilution, insider & institutional ownership, and political-trade data for AI agents.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SIGNAL8_API_KEY, AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"signal8": {
"command": "npx",
"args": [
"-y",
"@signal8ai/mcp"
],
"env": {
"SIGNAL8_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http signal8 https://mcp.signal8.ai/mcp --header 'Authorization: your-value'claude mcp add signal8 --env SIGNAL8_API_KEY=your-value -- npx -y @signal8ai/mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"signal8": {
"url": "https://mcp.signal8.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"signal8": {
"command": "npx",
"args": [
"-y",
"@signal8ai/mcp"
],
"env": {
"SIGNAL8_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"signal8": {
"type": "http",
"url": "https://mcp.signal8.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"signal8": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@signal8ai/mcp"
],
"env": {
"SIGNAL8_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Authorization secreto HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Todavía no hemos leído la lista de herramientas de este servidor; revisamos los endpoints por turnos.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con el dominio signal8.ai (el registro comprueba quién es dueño del dominio)
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; revisamos los endpoints por turnos
Aún sin revisar; leemos la lista de herramientas cuando revisamos el endpoint
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: SIGNAL8_API_KEY, Authorization
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (0.19.0) llegó al registro hace 18 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Dialyne
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
MCP (Model Context Protocol) server for Signal8 -- AI-extracted SEC filing intelligence data.
Gives AI agents like Claude, Cursor, and other MCP-compatible tools direct access to:
npm install -g @signal8ai/mcp
npx @signal8ai/mcp
API and MCP access are included with Signal8 Pro ($59/mo, or $588/yr). A free Signal8 account cannot create API keys. Upgrade at signal8.ai/pro, then create a key in the developer portal at signal8.ai/developer/api-keys.
Using Claude.ai or Claude Desktop? You can skip the key entirely: add the hosted server as a custom connector and sign in with your Signal8 account (see Hosted Endpoint).
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": { "signal8": { "command": "npx", "args": ["-y", "@signal8ai/mcp"], "env": { "SIGNAL8_API_KEY": "sk_live_your_key_here" } } } }
Add to .cursor/mcp.json in your project root:
{
"mcpServers": { "signal8": { "command": "npx", "args": ["-y", "@signal8ai/mcp"], "env": { "SIGNAL8_API_KEY": "sk_live_your_key_here" } } } }
Set the SIGNAL8_API_KEY environment variable and run:
SIGNAL8_API_KEY=sk_live_your_key_here npx @signal8ai/mcp
The server exposes 104 live tools at runtime. The reference tables below are a representative catalog grouped by domain, not an exhaustive list; the Extractions section documents tools that are currently disabled and not registered live. The authoritative list is what tools/list returns.
| Tool | Description |
|---|---|
search_companies | Search companies by name or ticker |
get_company_profile | Full company profile (description, market cap, sector) |
get_company_bundle | Consolidated data bundle in one call |
| Tool | Description |
|---|---|
get_quote | Real-time stock quote (price, change, volume) |
get_market_metrics | Volume averages, volatility, SMAs, trend direction |
get_short_interest | Short interest data and days-to-cover |
get_float | Float composition, shares outstanding, ownership % |
get_financials | Income statement, balance sheet, cash flow |
get_earnings | Earnings history with EPS surprises |
get_executives | Executive team roster and compensation |
get_peers | Peer/comparable companies |
get_transcripts | Earnings call transcripts |
get_news | Latest company news headlines |
get_analyst_consensus | Analyst ratings and price targets |
get_material_events | Material corporate events (8-K filings) |
get_clinical_trials | Clinical trials matched to a company, each tagged sponsorRole (lead vs collaborator; only lead trials are its own pipeline) |
| Tool | Description |
|---|---|
get_quotes_batch | Batch real-time quotes for up to 200 tickers (POST) |
get_quotes_universe | Quotes for an entire index universe (sp500/ndx/dji) |
get_index_snapshot | Bulk ticker snapshots (price, day change, % change) |
get_sector_etf_snapshot | Snapshot of the 11 SPDR sector ETFs with sector labels |
get_top_movers | Top gainers / losers / most-active by volume (with optional session window) |
get_market_breadth | Advance/decline, % above SMA50/200, 52-week high/low counts |
| Tool | Description |
|---|---|
get_earnings_calendar | Upcoming/recent earnings releases between two dates |
get_economic_calendar | Macro/economic events (CPI, FOMC, jobs, GDP) by date and country |
get_filing_calendar | 10-K / 10-Q SEC filing-deadline calendar by universe |
get_lockup_expirations | Upcoming IPO/secondary lockup expirations |
get_recent_material_filings | Recent material 8-K filings by index universe and item codes |
Backed by Signal8's own archive of SEC EDGAR filings — the archive's held range (see archiveFrom in each response; currently from late 2021, expanding back to 2016 as the history backfill fills in), full-text indexed and updated through the day. Filings older than archiveFrom may be absent, so an empty result is not proof a filing was never made. Record-only rows (bodyStored: false) carry metadata but no body.
| Tool | Description |
|---|---|
search_sec_filings | Filings by CIK, form, date, 8-K items, excluded forms, full-text q (match exact/stemmed, sort newest/relevance, facets counts by form/year/8-K item, understand on/off, section search, exhibitTypes — see query syntax below), and company filters (market cap, float, price, sector, industry, exchange, company type, foreign issuer, recent IPO) |
get_filing_documents | Every document in a filing (type, size, stored, secUrl) with the filingId / exhibitId to read each one |
get_filing_structured | Parsed Form 3/4/5 transactions, 13F holdings (values normalised to dollars), XML SCHEDULE 13D/G |
get_filing_document | Full text of a filing by filing id |
get_filing_exhibits | Readable exhibits of a filing, with ids |
get_exhibit_content | Full text of one exhibit |
search_filing_text | Exhibit-level full-text search returning the matching passage (match exact/stemmed, sort, section, exhibitTypes) |
lookup_accession_number | Accession number → filing id and metadata |
screen_sec_filings | Filings across companies by sector / industry / exchange / market cap |
screen_sec_filings_performance | Price returns +1/+3/+7/+30 days after filings (numbers, percent points), with aggregates |
Full-text query syntax (search_sec_filings.q, search_filing_text.pattern): unquoted words must all appear; "quoted phrase" for exact wording; OR between alternatives; -word to exclude; w1 NEAR/10 w2 (or NEAR(10), bare NEAR = 10) for proximity; word* for a prefix of 4+ letters; $AAPL or a capitalised ticker scopes to that company; a form code (8-K), item 5.02 / 8-K 1.05 and a bare year scope to that form / 8-K item / year. Relevance page 1 shows a few filings per company; meta.diversity names who has more. How the archive read the query is returned in meta.understanding (pass understand: false to search the words literally). facets: true adds per-form / per-year / per-8-K-item counts over the whole result set — absent when not measured, never zero.
Section search + exhibit types (both search tools): section restricts matching to business, risk_factors, cybersecurity, legal_proceedings, mdna, market_risk, controls, ex99 (press releases) or an 8-K item (item_5_02); exhibitTypes keeps filings with e.g. EX-10 (material contracts) or EX-99.1. A section is applied only when meta.sections says so — otherwise meta.unsupported explains that the whole filing was searched. Rows may carry matchedSections (absent = not measured).
Company filters on search_sec_filings follow the same rules as the signal8.ai/sec-filings page: they are applied from the archive only, against the filer's own CIK, on issuer-filed forms only (Form 4, 144 and SCHEDULE 13D/G are dropped and reported in companyFilter.droppedForms). Companies with no measured value for a filter are excluded and counted in companyFilter.unknown. Unknown values return a 400 listing the valid names. If the archive cannot answer, the call fails with COMPANY_FILTER_NOT_APPLIED and a reason rather than returning unfiltered rows.
13F values: the SEC changed the unit of a 13F from thousands of dollars to whole dollars for filings on/after 2023-01-03. get_filing_structured returns valueUsd / totalMarketValueUsd normalised to dollars (null when the unit cannot be determined) next to the raw valueThousands, and valueUnit says which unit the raw number is in.
| Tool | Description |
|---|---|
get_extractions | AI-extracted SEC filing data (13 types) |
get_filing_extractions | Extractions for a specific SEC filing |
get_extraction_dashboard | Cross-company extraction analytics |
get_extraction_by_type | Filter extractions by type (warrants, convertibles, etc.) |
Small-cap dilution analysis read directly from SEC filings. Every figure carries the accession number, filing date and the quoted sentence it came from. Included in Signal8 Pro. Call get_dilution_coverage first: it is the cheapest way to learn whether there is anything to fetch.
| Tool | Description |
|---|---|
get_dilution_coverage | Whether a ticker has a dilution analysis, how fresh it is, and why not if it doesn't |
get_dilution_risk | Dilution Pressure Score with its seven-component breakdown and risk levels. A partial score is out of scoreMaxMeasured (never rescale to /100); overheadSupply is total potential dilution excluding shelf (gross warrants/convertibles + ATM/equity line/S-1 at the current price, details.overheadSupplyBasis); levels named in levelsLowerBoundScope are floors ("at least") when levelsAreLowerBound is true; details.levelBounds gives each level's floor, ceiling and best estimate (a level whose floor and ceiling agree is exact) |
get_dilution_snapshot | Potential new shares and % of shares outstanding, cash position and runway, float |
get_dilution_instruments | One instrument family's rows with per-field SEC citations (warrants, convertibles, preferred, shelfs, atms, elocs, s1_offerings, equity_plans, exchangeables, recent_offerings) |
| get_baby_shelf_capacity | S-3 I.B.6 baby shelf: how much the issuer can raise off it
Solo se muestra el principio; lee el resto en el repo