DEV Community

Mustafa.Ramx
Mustafa.Ramx

Posted on

Building FinMCP: A Free Financial Data MCP Server for Global Markets (Including ASX)

FinMCP
TL;DR — I built a MCP server that connects Claude and other AI assistants to live financial data across any market. No API keys, free forever, open source. Works for US stocks, ASX, crypto, forex — everything Yahoo Finance covers.

The Problem: AI That Doesn't Know Today's Market
Here's the thing nobody mentions when you start using AI for investing decisions: your AI model has a knowledge cutoff. It doesn't know what happened in the market yesterday, last week, or last month.
I'm constantly asking Claude things like:

"How does VAS compare to A200 over the last 5 years?"
"What's the analyst consensus on this ASX stock right now?"
"Show me the free cash flow trend for this company."

And I'd get answers that were weeks old or completely fabricated.

The Solution: FinMCP: I discovered Yahoo Finance has an undocumented free API that supports everything — US stocks, ASX, LSE, TSE, crypto, forex, global ETFs. No API key required. The yahoo-finance2 npm library handles all the authentication.
So I forked an existing basic MCP wrapper and rebuilt it properly.
What emerged was FinMCP — a production-grade financial data server that connects Claude, ChatGPT, Cursor, Cline, and Perplexity to live market data across 50+ exchanges worldwide.

I also added cloud deployment (Railway, Docker, any VPS) so you can deploy this publicly and share it with teammates over HTTPS — something the original couldn't do.

The 15 Tools You Get:
✅ Real-time quotes (any market, any asset)
✅ Financial statements (annual/quarterly)
✅ Options chains with Greeks
✅ Analyst consensus & price targets
✅ Institutional holdings data
✅ News with relevance scoring
✅ Market screener (P/E, yield, beta, etc.)
✅ Earnings data
✅ Dividend history
✅ Crypto quotes
✅ Forex data
✅ And more...

FinMCP

Real Example: I asked Claude: "Compare the free cash flow margin trends for three ASX mining companies over the last four years."
It pulled the balance sheet and cash flow statements for each company, calculated the trends, and gave me a structured breakdown.
Normally? That's 20 minutes of spreadsheet work.

How to Deploy
Local (5 minutes)
Prerequisites: Node.js 22+

git clone https://github.com/Steve-sy/finmcp.git
cd finmcp
npm install
npm run build
npm run start
Enter fullscreen mode Exit fullscreen mode

Point Claude Desktop at it:

{
  "mcpServers": {
    "finmcp": {
      "command": "node",
      "args": ["/path/to/finmcp/dist/index.js"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Done. Every Claude conversation now has live financial data access.

Cloud (Railway, Docker, Any VPS)
Deploy to Railway with one click (free tier is plenty):

Clone/Fork the repo
Connect to Railway
Set YF_MCP_API_KEY environment variable for auth protection
Share the public HTTPS URL with teammates or friends

Connect with: https://your-app.up.railway.app/mcp?key=YOUR_SECRET

👉 Deploy to Railway with this referral link — helps both of us out.

Why Yahoo Finance:
Yahoo Finance: Free, global coverage, no API key, no rate limits on the API.

Real-World Use Cases:
Pre-market brief automation:
Schedule a daily prompt at 8am that pulls your watchlist, overnight moves, analyst sentiment, and relevant news.

Portfolio health check:
Monthly scan across all holdings. Flag companies with deteriorating free cash flow or rising debt ratios.

Options flow monitoring:
Track put/call ratios and unusual activity for stocks you're watching or holding.

Most MCP servers built on older yahoo-finance2 versions are returning broken data right now. This one is updated for the current v3 API.
Get Started:
GitHub: github.com/Steve-sy/finmcp

Want the full story? Read the deep dive on my blog.

Top comments (1)

Collapse
 
klement_gunndu profile image
klement Gunndu

Built an MCP server recently and the hardest part was exactly what you solved — keeping the yahoo-finance2 wrapper current when Yahoo keeps changing their undocumented API. Smart call adding the Railway deployment option, most MCP servers only support local stdio transport.