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:
Claude Code:
Sign in when the client asks. Other clients are in the docs.
How an agent uses it
Three verbs. Finance MCP never charges money: each account gets 1,000 free credits once, shared by all of its API keys and OAuth sessions. Discover and inspect are free; each successful run costs 1 credit (FMP tools 2), and failed runs are not charged. See https://finance-mcp.com/pricing.
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.
Stock tools take the ticker directly. For "where is this stock now", start with stocks#snapshot.
Sources
Stock prices are delayed or IEX only. Finnhub parts of the snapshot are optional and show up as notes when the free tier does not cover them.
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:
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.
meta.summary is what finance_discover ranks and finance_inspect returns. Say what the endpoint returns.
Composite tools, the ones that combine several upstream calls (stocks#*, macro#overview, sec-edgar#fundamentals, sec-edgar#filings), declare an execute function and are wrapped with composite() in the connector's index.ts. Their fixture records every upstream response of one run; npm run record:composite -- <provider>#<endpoint> writes it with keys removed.
- Read
connectors/okx and connectors/fred, and CONTRIBUTING.md.
- Write the provider and the endpoint.
- Record a fixture with
npm run record, then keep it trimmed.
npm test and npm run lint must pass with no network.
- Open a pull request.
Check the definitions locally:
Repo layout
License
MIT. See LICENSE.