
FinancialFilings
com.financialfilings由 financialfilings.com 發布官方發布者v1.4.170更新於 Nov 8, 2026
Filings and XBRL financials for listed companies worldwide: official filings, as published
概覽
遠端 MCP 伺服器,讓助理存取全球上市公司的官方監理申報文件、XBRL 財務資料與公司資訊。
- 可以做什麼
- 依名稱、股票代號或 ISIN 搜尋與解析公司,取得公司檔案、標準化財務資料與下一份年報預測
- 列出、取得並閱讀申報文件,包含文件 Markdown 內容與單一文件內的關鍵字搜尋
- 查詢 ISIN 並列出雙重上市資訊
- 瀏覽申報類別與申報類型等參考資料
- 查看帳戶用量、支出上限與剩餘免費額度
- 適用情境
- 適合讓助理在聊天用戶端內研究上市公司、摘要或比較申報文件、依產業篩選公司或追蹤新申報文件的情境。
- 執行需求
- 遠端 Streamable HTTP 端點,透過 OAuth 登入,無需保存 API 金鑰或機密。需要免費的 FinancialFilings 帳戶,用戶端需支援遠端 MCP OAuth。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 FinancialFilings,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/com.financialfilings%2Fmcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"financialfilings": {
"type": "http",
"url": "https://mcp.financialfilings.com/mcp"
}
}
}README
English | 简体中文
FinancialFilings MCP Server
[License: MIT] [Python] [MCP Spec] [Status]
Official Model Context Protocol (MCP) server for the FinancialFilings 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.
Quick start
If you're an analyst, researcher, or anyone who wants to ask Claude about public-company filings:
- Create a free account at financialfilings.com — the MCP connector is free for any FinancialFilings user. No paid plan required.
- Add the connector in your MCP client — pick yours under Connect your client below. The two most common:
- Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → URL:
https://mcp.financialfilings.com/mcp - Claude Code:
claude mcp add --transport http financialreports https://mcp.financialfilings.com/mcp
- Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → URL:
- Sign in with your FinancialFilings account when prompted. That's it.
Full setup walkthrough with screenshots: financialfilings.com/integrations/claude/.
Connect your client
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.
Claude.ai / Claude Desktop
Settings → Connectors → Add custom connector → URL: https://mcp.financialfilings.com/mcp. Sign in when prompted.
Claude Code
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):
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 (OpenAI)
Codex uses TOML. Add to ~/.codex/config.toml (or a project .codex/config.toml):
Then authenticate — Codex runs the OAuth browser flow for servers that support it:
Cursor
One-click install from Cursor Directory, or add it by hand to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project):
OAuth runs in the browser on first use.
Kilo Code
Project .kilocode/mcp.json (or the global MCP settings file):
opencode
opencode.json:
Gemini CLI
~/.gemini/settings.json:
Hermes
mcp_servers in your Hermes config (YAML):
Generic (any MCP client)
Most MCP-aware harnesses accept a mcpServers object. Point it at the endpoint over Streamable HTTP:
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.
Troubleshooting: "Client Not Registered"
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:
Two things the error page itself doesn't tell you:
- It won't fix itself, and retrying won't help. Sign-in happens in your browser, so your client never learns it failed — it waits for a callback that never arrives and simply replays the same dead ID. Restarting doesn't help either: hosted connectors (ChatGPT, Claude.ai) keep the registration server-side, so only removing the connector clears it.
- Nothing is wrong with your account and no data is affected. Re-adding creates a fresh registration and everything works as before.
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.
What you get
17 LLM-callable tools by default — the curated surface analysts actually use:
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.
Companion skill
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.
Architecture
Key design decisions:
- Tools are generated, not hand-written.
scripts/generate_mcp_tools.pyreads the OpenAPI schema — pinned to a committed snapshot viaFR_PIN_SCHEMA=1in CI and the Docker build — and emitssrc/financial_reports_mcp.py. The default surface is curated to a focused 17-tool set;MCP_FULL_SURFACE=1emits the full surface. Note that_PRUNED_EXCLUDEin the generator is a denylist, so a new upstream endpoint joins the curated surface unless the snapshot-refresh PR explicitly excludes it. - Bearer-token proxy, not session storage. The user's Cognito access token is forwarded to the upstream API on every call. No conversation data, no API responses cached server-side.
- Subscription gating in-process. A 15-second LRU cache holds Cognito
sub→ tier mappings to avoid hammering the FR API on every tool call. - Same-origin asset proxy.
/favicon.ico,/icon.png,/icon-{32,192,512}.pngare served from this origin (proxied + cached from CDN) so connector UIs and the/consentpage render without cross-origin CSP friction.
MCP spec compliance
Compliant with the MCP 2025-11-25 specification:
- ✅ Streamable HTTP transport —
POST /mcpwithMCP-Protocol-Versionecho, 400 on unsupported versions - ✅ OAuth 2.0 — RFC 7591 dynamic client registration + PKCE S256
- ✅ RFC 9728 protected-resource metadata — both at
/.well-known/oauth-protected-resourceand/.well-known/oauth-protected-resource/mcp - ✅ Tool annotations — every tool has
titleplusreadOnlyHintordestructiveHint - ✅
outputSchema— six structured-content tools (companies_list,companies_retrieve,companies_financials_retrieve,filings_list,filings_retrieve,isins_list) - ✅ Origin validation — 403 on unrecognized origins, 401 with proper
WWW-Authenticateheader for unauthenticated requests - ✅ Multi-size connector icons — 32×32, 192×192, 512×512 PNG advertised in
initializeresponse
CI verifies all of the above on every PR.
Tool catalog
The list below is regenerated by scripts/generate_mcp_tools.py on every build. Do not hand-edit between the markers.
Account
usage_retrieve— Get API Usage and Spend
Companies
companies_financials_retrieve— Retrieve Company Financialscompanies_list— List Companiescompanies_next_annual_report_retrieve— Predict Next Annual Reportcompanies_resolve_create— Resolve Companies by Identifier (Batch)companies_retrieve— Retrieve Company Details
Filing Categories
filing_categories_list— List Filing Categories
Filing Types
filing_types_list— List Filing Types
Filings
filings_list— List Filingsfilings_markdown_retrieve— Retrieve Filing Markdownfilings_retrieve— Retrieve Filing Details
ISINs
isins_list— List ISINsisins_retrieve— Retrieve ISIN
Example prompts
Once connected, try:
- "Find Apple's most recent 10-K and summarize the risk factors that changed year-over-year."
- "Get full company details for ASML."
- "Compare net debt for Iberdrola, Engie, Enel, RWE for the latest fiscal year."
- "List EU airlines that filed annual reports in the last 6 months."
- "Show me insider-transaction filings at Tesla in the last 30 days."
- "Show the latest filings from companies on my watchlist."
- "What's the LEI for Volkswagen AG?"
Self-hosting
Self-hosting requires standing up your own AWS Cognito user pool and is primarily useful for forking + adapting to a different upstream API. For the FinancialFilings API specifically, the hosted server at mcp.financialfilings.com is the supported path.
Detailed self-hosting docs (Docker, Cognito setup, env vars, CDN/icon configuration): docs/SELF-HOSTING.md.
Development
One-shot bootstrap (venv → deps → env check → generate → run):
Or step by step:
CI runs the full unit suite plus a Docker-Compose end-to-end test (with Redis) on every PR. See .github/workflows/ci.yml.
Local development with a personal API key
For iterating on the generator, tools, or prompts against a real backend without going through the Cognito OAuth dance every restart, the server supports a dev-only DEV_MODE_API_KEY env var. When set, JWT validation is skipped on the existing /mcp endpoint (both the subscription_required and _authorize_or_raise paths) and the key is forwarded as X-API-Key to API_BASE_URL.
This is a maintainer convenience, not a production auth path. The module refuses to import if MCP_BASE_URL contains a production hostname (mcp.financialfilings.com).
- Add your personal FinancialFilings API key to
.env: - Regenerate and start the server (Cognito vars must still be set — the OAuth proxy module loads even when the bypass is active):
- Point Claude Code at the local instance:
Add it per developer like this rather than to the repo's
.mcp.json: that file lists the production server only, because directories that scan this repo (e.g. Cursor Directory) advertise every entry in it as a public install.
Production headless / API-key auth (parallel /mcp/apikey endpoint with per-request X-API-Key) is tracked in #28 and is a separate feature from this dev-mode shortcut.
Common tasks
Evaluating changes
This server is benchmarked by financial-reports/mcp-evals (private). Cross-model scorecards (task success, tool-selection accuracy, path consistency, tokens/turns/latency) live there, not here. Before merging changes to tool descriptions, Prompts, or the generator, run the harness against either prod or a local dev MCP and compare the scorecard.
What lives in this repo: deterministic prompt-registration tests at tests/eval/ — fast, no API keys, run on every PR. See tests/eval/README.md for the cross-repo workflow.
Security
This server handles OAuth flows and bearer tokens. Found a vulnerability? Please don't open a public issue. See SECURITY.md for the responsible-disclosure process.
Server-side guarantees:
- Bearer tokens are proxied per-request, never logged or persisted.
- HTTPS is enforced (HTTP redirects to HTTPS at the edge).
- CSP is applied to HTML responses (
default-src 'none', only same-origin assets allowed). - Origin validation rejects requests from unrecognized origins.
- All cryptographic operations rely on standard library + AWS SDKs; no custom crypto.
Contributing
Contributions welcome. See CONTRIBUTING.md for development setup, the regenerate→test→PR workflow, and what kinds of changes are welcome (tests, docs, generator improvements, hand-tuned tool descriptions in scripts/generate_mcp_tools.py) versus what gets rejected (hand-edited src/financial_reports_mcp.py — it's auto-generated and overwritten on every build).
Project status
- Production: live at
https://mcp.financialfilings.com/mcp - Listed on: Claude connector directory, Cursor Directory
- Spec compliance: MCP 2025-11-25
- Tested with: Claude.ai, Claude Code, Claude Desktop, Cursor, Windsurf. Config snippets also provided for Codex, Kilo Code, opencode, Gemini CLI, and Hermes (see Connect your client).
License
MIT — © FINANCIALREPORTS PTE. LTD.
Acknowledgments
Special thanks to @itisaevalex for the original community-built MCP server, which served as the proof-of-concept that motivated this official version.
Built on FastMCP, FastAPI, and the Model Context Protocol.
來源:README.md,提交 a59360b
工具
0版本歷史
8- v1.4.169Nov 7, 2026
- v1.4.167Nov 6, 2026
- v1.4.165Nov 5, 2026
- v1.4.164Nov 5, 2026
- v1.4.161Nov 5, 2026
- v1.4.160Nov 4, 2026
- v1.4.121Oct 19, 2026
- v1.4.105Oct 10, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分