Finance MCP

Registre officiel Finance et paiements

Hosted MCP server for SEC, FRED, Polymarket, Deribit, OKX, and FMP.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http finance-mcp 'https://finance-mcp.com/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "finance-mcp": {
            "type": "http",
            "url": "https://finance-mcp.com/mcp"
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Finance MCP connectors
  2. Quickstart
  3. How an agent uses it
  4. Sources
  5. Writing a connector
  6. Repo layout
  7. License

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.

  1. finance_discover — describe the task. { "query": "BTC spot price", "limit": 5 } returns ranked { id, provider, displayName, summary }.
  2. finance_inspect — read one tool. { "id": "okx#ticker" } returns its input schema and output shape.
  3. 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

SourceUpstreamAuthEndpoints
SEC EDGARsubmissions APISEC_EDGAR_USER_AGENT, or the default contact stringsec-edgar#submissions
FREDseries observationsFRED_API_KEYfred#observations
PolymarketGamma eventsnonepolymarket#events
Deribitget_instrumentsnonederibit#options
OKXmarket datanoneokx#ticker, okx#klines
FMPincome statementFMP_API_KEYfmp#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
  1. Read connectors/okx and connectors/fred, and CONTRIBUTING.md.
  2. Write the provider and the endpoint.
  3. Record a fixture with npm run record, then keep it trimmed.
  4. npm test and npm run lint must pass with no network.
  5. 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.

Questions fréquentes

Qu'est-ce que Finance MCP ?

Hosted MCP server for SEC, FRED, Polymarket, Deribit, OKX, and FMP.

Comment installer Finance MCP ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http finance-mcp 'https://finance-mcp.com/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Finance MCP ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Finance MCP est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Finance MCP ?

Il est publié par aowang-ai. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.