Finance MCP
Hosted MCP server for SEC, FRED, Polymarket, Deribit, OKX, and FMP.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http finance-mcp 'https://finance-mcp.com/mcp'
{
"mcpServers": {
"finance-mcp": {
"type": "http",
"url": "https://finance-mcp.com/mcp"
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
Finance MCP connectors
Connector definitions for Finance MCP: how each source is called, what it accepts, and what it returns.
This repo is the connector layer. Agents use the hosted server. Adding a source is a pull request.
Equity and crypto figures are what those sources return, often delayed. Not investment advice.
Quickstart
Connect to the hosted server.
- MCP:
https://finance-mcp.com/mcp - Skill:
set up https://finance-mcp.com/SKILL.md - Docs: finance-mcp.com/docs
Cursor, in ~/.cursor/mcp.json:
{
"mcpServers": {
"finance-mcp": {
"url": "https://finance-mcp.com/mcp"
}
}
}
Claude Code:
claude mcp add --transport http finance-mcp https://finance-mcp.com/mcp
Sign in when the client asks. Other clients are in the docs.
How an agent uses it
Three verbs. Discover, inspect, and run are free.
finance_discover— describe the task.{ "query": "BTC spot price", "limit": 5 }returns ranked{ id, provider, displayName, summary }.finance_inspect— read one tool.{ "id": "okx#ticker" }returns its input schema and output shape.finance_run— call it.{ "id": "okx#ticker", "params": { "instId": "BTC-USDT" } }. A failed vendor call returns an error.
{ "id": "fmp#income-statement", "params": { "symbol": "AAPL", "period": "annual", "limit": 3 } }
{ "id": "fred#observations", "params": { "seriesId": "DGS10", "limit": 12 } }
{ "id": "sec-edgar#submissions", "params": { "cik": "0000320193" } }
{ "id": "deribit#options", "params": { "currency": "BTC" } }
{ "id": "polymarket#events", "params": { "tag": "Fed" } }
Sources
| Source | Upstream | Auth | Endpoints |
|---|---|---|---|
| SEC EDGAR | submissions API | SEC_EDGAR_USER_AGENT, or the default contact string | sec-edgar#submissions |
| FRED | series observations | FRED_API_KEY | fred#observations |
| Polymarket | Gamma events | none | polymarket#events |
| Deribit | get_instruments | none | deribit#options |
| OKX | market data | none | okx#ticker, okx#klines |
| FMP | income statement | FMP_API_KEY | fmp#income-statement |
Writing a connector
A connector describes one provider and its endpoints. The id is <provider>#<endpoint>.
A provider names the source, links its docs, and says how auth is supplied:
// connectors/okx/provider.ts
export default defineProvider({
name: "okx",
meta: {
displayName: "OKX",
summary: "Public crypto spot and swap market data.",
homepageUrl: "https://www.okx.com",
docsUrl: "https://www.okx.com/docs-v5/en/#order-book-trading-market-data",
},
auth: { kind: "none" },
});
An endpoint declares the call, the input schema, the output shape, and an example. The example response is a fixture file, replayed by the test.
// connectors/okx/endpoints/ticker/endpoint.ts
export default defineEndpoint({
provider,
name: "ticker",
meta: {
displayName: "OKX ticker",
summary: "24h ticker (last price, high/low, volume) for a crypto instrument like BTC-USDT.",
description: "Latest OKX ticker for one spot or swap instrument.",
tags: ["crypto", "spot", "ticker"],
docsUrl: "https://www.okx.com/docs-v5/en/#order-book-trading-market-data-get-ticker",
},
input: z.object({
instId: z.string().describe("Instrument id, for example BTC-USDT."),
}),
outputShape: {
type: "object",
required: ["instId", "last"],
properties: { instId: { type: "string" }, last: { type: "string" } },
},
example: {
params: { instId: "BTC-USDT" },
request: {
method: "GET",
url: "https://www.okx.com/api/v5/market/ticker?instId=BTC-USDT",
},
fixture: "recorded.json",
},
// buildRequest and parse map that call onto the output shape
});
meta.summary is what finance_discover ranks and finance_inspect returns. Say what the endpoint returns.
connectors/<name>/
├── provider.ts
└── endpoints/<endpoint>/
├── endpoint.ts
├── endpoint.test.ts
└── fixtures/*.json
- Read
connectors/okxandconnectors/fred, and CONTRIBUTING.md. - Write the provider and the endpoint.
- Record a fixture with
npm run record, then keep it trimmed. npm testandnpm run lintmust pass with no network.- Open a pull request.
Check the definitions locally:
npm install
npm test
npm run catalog
Repo layout
connectors/ provider + endpoint definitions
src/ catalog load and fixture replay
scripts/ catalog and record
server.json registry entry for the hosted server
License
MIT. See LICENSE.
الأسئلة الشائعة
ما هو Finance MCP؟
Hosted MCP server for SEC, FRED, Polymarket, Deribit, OKX, and FMP.
كيف أثبّت Finance MCP؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http finance-mcp 'https://finance-mcp.com/mcp'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Finance MCP إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل Finance MCP مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Finance MCP؟
ينشره aowang-ai. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.