Finance MCP

io.github.aowang-aiPublished by GitHub account aowang-aiv0.1.0Updated Oct 25, 2026

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

The publisher's own server: Finance Foundation

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Hosted MCP server that lets an assistant discover, inspect and run finance data tools covering US stocks, SEC filings, macro series, crypto and prediction…

What you can do
  • Search a catalog of finance tools by task description, such as a ticker price, an income statement or a macro series
  • Read one tool's full contract: input schema, output shape, cost and rate limits
  • Run a chosen tool with parameters and get the vendor's response back
  • Coverage spans stock snapshots, price history and news, SEC EDGAR fundamentals, filings and submissions, FRED observations, FMP income statements, OKX tickers and klines, Deribit options and Polymarket events
When to use it
Useful when an assistant needs market, filing or macro data without wiring up several vendor APIs itself. The three-step discover, inspect, run flow suits questions about a ticker, a company's financials, a US economic series or crypto and prediction-market data.
Requirements
A remote MCP endpoint; no local package to install. Sign-in is requested by the client, and each account gets 1,000 free credits shared across its API keys and OAuth sessions. Runs cost credits (FMP tools cost 2); failed runs are not charged. Some sources rely on upstream keys such as TIINGO_API_KEY, FINNHUB_API_KEY, FRED_API_KEY and FMP_API_KEY, and SEC EDGAR uses SEC_EDGAR_USER_AGENT.
Before you install
Runs consume credits from a one-time free balance, so heavy use can exhaust the account. Data comes from third-party vendors and is often delayed or IEX-only, and the project states it is not investment advice. Queries and parameters are sent to the hosted service and on to upstream providers.

Installation

In SourceWeft

  1. Open Finance MCP in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.aowang-ai%2Ffinance-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "finance": {
      "type": "http",
      "url": "https://finance-mcp.com/mcp"
    }
  }
}

README

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:

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. 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.

  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.

Stock tools take the ticker directly. For "where is this stock now", start with stocks#snapshot.

json
{ "id": "stocks#snapshot", "params": { "ticker": "SNDK" } }{ "id": "stocks#price-history", "params": { "ticker": "MU", "range": "1y", "interval": "daily", "indicators": true } }{ "id": "stocks#news", "params": { "ticker": "SNDK", "days": 7, "limit": 10 } }{ "id": "macro#overview", "params": {} }{ "id": "sec-edgar#fundamentals", "params": { "ticker": "SNDK", "period": "quarterly", "limit": 4 } }{ "id": "sec-edgar#filings", "params": { "ticker": "MU", "forms": ["10-K", "10-Q", "8-K", "4"], "limit": 10 } }{ "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": { "query": "SpaceX" } }

Sources

SourceUpstreamAuthEndpoints
US stocksTiingo, Twelve Data, SEC XBRL, FinnhubTIINGO_API_KEY, FINNHUB_API_KEY, optional TWELVE_DATA_API_KEYstocks#snapshot, stocks#price-history, stocks#news
US macroFREDFRED_API_KEYmacro#overview
SEC EDGAREDGAR APIsSEC_EDGAR_USER_AGENT, or the default contact stringsec-edgar#fundamentals, sec-edgar#filings, sec-edgar#submissions
FREDseries observationsFRED_API_KEYfred#observations
PolymarketGamma eventsnonepolymarket#events
Deribitget_instrumentsnonederibit#options
OKXmarket datanoneokx#ticker, okx#klines
FMPincome statementFMP_API_KEYfmp#income-statement

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:

ts
// connectors/okx/provider.tsexport 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.

ts
// connectors/okx/endpoints/ticker/endpoint.tsexport 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

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.

  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:

bash
npm installnpm testnpm run catalog

Repo layout

connectors/     provider + endpoint definitionssrc/            catalog load and fixture replayscripts/        catalog and recordserver.json     registry entry for the hosted server

License

MIT. See LICENSE.

Source: README.md at commit d3e3176

Tools

3

finance_discover

Discover finance tools

FREE. Search the finance tool catalog by task description (e.g. 'BTC spot price', 'AAPL income statement', 'US CPI'). Returns ranked tools with id, summary, and categories. Call this first.

Parameterslimitqueryrequiredcategory

finance_inspect

Inspect a finance tool

FREE. Get the full contract of one tool by id (input schema, output shape, cost, rate limits). Call after finance_discover, before finance_run.

Parametersidrequired

finance_run

Run a finance tool

Execute a finance tool by id with params. Discover, inspect, and run are free to call. Failed vendor calls return an error.

Parametersidrequiredparamsrequired

Version history

1
  1. v0.1.0LatestOct 25, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Finance integrations