Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Filings and XBRL financials for listed companies worldwide: official filings, as published
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.financialfilings.com/mcpRun this in your terminal
claude mcp add --transport http financialfilings https://mcp.financialfilings.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"financialfilings": {
"url": "https://mcp.financialfilings.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"financialfilings": {
"type": "http",
"url": "https://mcp.financialfilings.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.financialfilings.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server asks you to sign in before it lists its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The publisher (financialfilings.com) is not the repo owner (financial-reports); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 1572 ms (HTTP 401)
Declares OAuth sign-in, so your AI app can take you to log in
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.4.170) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Compose Preview Catalogs
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Browse, inspect and render Jetpack Compose Material 3 and Wear component catalogs.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
English | 简体中文
Official Model Context Protocol (MCP) server for the [FinancialFilings](https://financialfilings.com) API.
Direct access from Claude (and any MCP-compatible client) to regulatory filings, financial data, and corporate information from listed companies worldwide. 17 curated tools by default (set
MCP_FULL_SURFACE=1for the full 55-tool surface). Free for any FinancialFilings account. Official filings, as published.
If you're an analyst, researcher, or anyone who wants to ask Claude about public-company filings:
https://mcp.financialfilings.com/mcpclaude mcp add --transport http financialreports https://mcp.financialfilings.com/mcpFull setup walkthrough with screenshots: financialfilings.com/integrations/claude/.
This is a remote MCP server — Streamable HTTP with OAuth (PKCE + Dynamic Client Registration). There is no API key to copy and no secret to store: connecting opens a browser sign-in with your FinancialFilings account.
Endpoint: https://mcp.financialfilings.com/mcp
Find your client below. If it isn't listed, use the Generic block at the end — the endpoint and OAuth flow are identical everywhere; only the config file differs.
Already added the server under the old name financialreports? Nothing to change, it keeps working: the name is a local label in your client and the server never sees it. New installs use financialfilings.
Settings → Connectors → Add custom connector → URL: https://mcp.financialfilings.com/mcp. Sign in when prompted.
claude mcp add --transport http financialreports https://mcp.financialfilings.com/mcp
Run /mcp in-session to complete the browser sign-in.
Or install the plugin, which adds the same server plus the financial-filings-research skill (tool cheat-sheet and research workflows):
/plugin install financialfilings --marketplace financial-reports/financial-reports-mcp-server
On Claude Code before 2.1.275, add the marketplace first: /plugin marketplace add financial-reports/financial-reports-mcp-server, then /plugin install financialfilings@financialfilings. Either way, run /mcp once to sign in.
Codex uses TOML. Add to ~/.codex/config.toml (or a project .codex/config.toml):
[mcp_servers.financialreports]
url = "https://mcp.financialfilings.com/mcp"
Then authenticate — Codex runs the OAuth browser flow for servers that support it:
codex mcp login financialreports
One-click install from Cursor Directory, or add it by hand to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
{
"mcpServers": { "financialfilings": { "url": "https://mcp.financialfilings.com/mcp" } } }
OAuth runs in the browser on first use.
Project .kilocode/mcp.json (or the global MCP settings file):
{
"mcpServers": { "financialreports": { "type": "remote", "url": "https://mcp.financialfilings.com/mcp" } } }
opencode.json:
{
"$schema": "https://opencode.ai/config.json", "mcp": { "financialreports": { "type": "remote", "url": "https://mcp.financialfilings.com/mcp", "enabled": true } } }
~/.gemini/settings.json:
{
"mcpServers": { "financialreports": { "httpUrl": "https://mcp.financialfilings.com/mcp" } } }
mcp_servers in your Hermes config (YAML):
mcp_servers:
financialreports: url: "https://mcp.financialfilings.com/mcp" auth: oauth
Most MCP-aware harnesses accept a mcpServers object. Point it at the endpoint over Streamable HTTP:
{
"mcpServers": { "financialreports": { "type": "streamable-http", "url": "https://mcp.financialfilings.com/mcp" } } }
Clients with native remote-MCP OAuth (Claude, Cursor, Windsurf, VS Code, opencode, Codex via codex mcp login) run the sign-in in a browser automatically. For OpenClaw and other MCP-aware harnesses, use this block with the connector URL and complete OAuth when prompted — see your client's own MCP configuration docs for the exact file location.
If signing in sends you to a page titled Client Not Registered — "The client ID … was not found in the server's client registry" — your client is presenting a registration this server no longer has.
Remove the connector and add it again. That is the only thing that resolves it, and it takes a few seconds:
| Client | What to do |
|---|---|
| ChatGPT / OpenAI | Settings → Connectors → remove FinancialFilings (listed as FinancialReports if you connected before the rename) → add it back with https://mcp.financialfilings.com/mcp and sign in again. |
| Claude.ai / Claude Desktop | Settings → Connectors → remove FinancialFilings (listed as FinancialReports if you connected before the rename) → re-add and sign in again. |
| Claude Code / Codex / Cursor / opencode | Remove and re-add the server (e.g. claude mcp remove financialfilings, then re-add), or run the client's login command again (codex mcp login financialfilings). If you added it before the rename, its name is financialreports: use that name in both commands instead. |
Two things the error page itself doesn't tell you:
If you were affected on or after 14 July 2026: a cache failover dropped stored client registrations. Sign-ins have worked normally since — only connectors added *before* that date need the remove-and-re-add above.
17 LLM-callable tools by default — the curated surface analysts actually use:
| Domain | Tools | Use cases |
|---|---|---|
| Companies | 5 | Search by name/ticker/ISIN, retrieve full company profiles, get normalized financials, predict next annual report, batch-resolve a list of identifiers to company IDs |
| Filings | 4 | List, retrieve, fetch markdown content (capped at 150K chars), keyword-search inside a single filing |
| ISINs | 2 | Lookup by ISIN, list dual-listings |
| Reference taxonomy | 2 | Filing categories and filing types |
| Account | 1 | What your API and MCP usage has cost this cycle, spend caps and free credits left (free, never billed) |
| Guides | 3 | Filing-type taxonomy, ISIC industry classification, and markdown-fetch strategy — callable references for tool-only clients that can't read MCP resources |
Set MCP_FULL_SURFACE=1 to restore the full 55-tool surface: the ISIC section/division/group/class hierarchy, the rest of the reference data (countries, languages, sources, line-item definitions, filing history), per-user watchlists, webhook subscriptions, the company-merge audit feed, per-exchange security listings, the agent account-onboarding endpoints (sign-up, key claim, key rotation, checkout link, owner confirmation, status), the raw filings_markdown_search_retrieve endpoint behind filings_markdown_search, and filings_document_retrieve (returns a file, not JSON).
The shipped surface is generated from a committed, reviewed snapshot of the FinancialFilings OpenAPI schema (scripts/openapi.snapshot.json, pinned via FR_PIN_SCHEMA=1 in CI and the Docker build), so it's deterministic and never drifts silently on a rebuild.
The repository ships an Agent Skill — financial-filings-research — that teaches Claude how to compose these tools into the workflows analysts actually run: company lookup, filing summarization, multi-company financial comparison, ISIC industry screening, and filings monitoring. It activates automatically when the user mentions a company name, ticker, ISIN, filing type, or financial metric.
┌──────────────────┐ OAuth (PKCE + DCR) ┌──────────────────┐
│ Claude / MCP │ ───────────────────────► │ AWS Cognito │ │ client │ │ (user pool) │ └────────┬─────────┘ └────────┬─────────┘ │ Streamable HTTP /mcp │ │ + bearer token │ ▼ │ ┌──────────────────┐ verify subscription tier │ │ This server │ ───────────────────────────────────► │ │ (FastAPI + │ ▼ │ FastMCP) │ proxy bearer token ┌──────────────────┐ │ │ ─────────────────────────► │ api. │ │ 17 tools │ │ financial- │ │ generated from │ │ reports.eu │ │ OpenAPI schema │ │ (first-party) │ └──────────────────┘ └──────────────────┘
Key design decisions:
scripts/generate_mcp_tools.py reads the OpenAPI schema — pinned to a committed snapshot via FR_PIN_SCHEMA=1 in CI and the Docker build — and emits src/financial_reports_mcp.py. The default surface is curated to a focused 17-tool set; MCP_FULL_SURFACE=1 emits the full surface. Note that _PRUNED_EXCLUDE in the generator is a denylist, so a new upstream endpoint joins the curated surface unless the snapshot-refresh PR explicitly excludes it.sub → tier mappings to avoid hammering the FR API on every tool call./favicon.ico, /icon.png, /icon-{32,192,512}.png are served from this origin (proxied + cached from CDN) so connector UIs and the /consent page render without cross-origin CSP friction.Compliant with the MCP 2025-11-25 specification:
POST /mcp with MCP-Protocol-Version echo, 400 on unsupported versionsOnly the beginning is shown; read the rest in the repo