Toolstem Financial Data
Pricing
from $5.00 / 1,000 financial data queries
Toolstem Financial Data
Agent-ready financial intelligence MCP tools. Stock snapshots, deep company metrics, stock screening, and side-by-side company comparison — all with derived signals and pre-computed math. Designed for AI agents, not raw API passthrough.
Pricing
from $5.00 / 1,000 financial data queries
Rating
0.0
(0)
Developer
Toolstem
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
an hour ago
Last modified
Categories
Share
Toolstem MCP Server
Agent-ready financial intelligence tools — curated, not raw.
Toolstem is an MCP (Model Context Protocol) server that turns raw financial market data into curated, synthesized intelligence for AI agents. Unlike passthrough wrappers that just expose a vendor's REST API, every Toolstem tool combines multiple data sources, derives signals, and pre-computes the math an agent would otherwise have to do itself.
One call. One agent-friendly JSON response. No nested arrays to parse, no cross-endpoint stitching, no null-checking boilerplate.
Why Toolstem?
Most financial MCP servers expose one tool per API endpoint — forcing your agent to make 4–5 sequential calls, write glue code, and reason about raw data shapes. Toolstem is built differently:
- Parallel data fetching — every tool fans out to multiple sources concurrently.
- Derived signals — human-readable recommendations like
UNDERVALUED,STRONG,ACCELERATINGcomputed from raw numbers. - Pre-computed math — CAGRs, YoY growth, margin trends, distance from 52-week high/low, FCF yield, and more are already in the response.
- Flat, predictable schema — no deeply nested vendor quirks leaking into agent prompts.
- Graceful degradation — if one upstream endpoint fails, the rest of the response still comes through with nulls in place.
Tools
get_stock_snapshot
Comprehensive stock overview combining quote, profile, DCF valuation, and rating into a single response.
Input:
{"symbol": "AAPL"}
Example output (truncated):
{"symbol": "AAPL","company_name": "Apple Inc.","sector": "Technology","industry": "Consumer Electronics","exchange": "NASDAQ","price": {"current": 178.52,"change": 2.34,"change_percent": 1.33,"day_high": 179.80,"day_low": 175.10,"year_high": 199.62,"year_low": 130.20,"distance_from_52w_high_percent": -10.57,"distance_from_52w_low_percent": 37.11},"valuation": {"market_cap": 2780000000000,"market_cap_readable": "$2.78T","pe_ratio": 29.5,"dcf_value": 195.20,"dcf_upside_percent": 9.35,"dcf_signal": "FAIRLY VALUED"},"rating": {"score": 4,"recommendation": "Buy","dcf_score": 5,"roe_score": 4,"roa_score": 4,"de_score": 5,"pe_score": 3},"fundamentals_summary": {"beta": 1.28,"avg_volume": 55000000,"employees": 164000,"ipo_date": "1980-12-12","description": "Apple Inc. designs, manufactures..."},"meta": {"source": "Toolstem via Financial Modeling Prep","timestamp": "2026-04-17T18:30:00Z","data_delay": "End of day"}}
Derived fields (not in raw APIs):
dcf_signal—UNDERVALUEDif DCF upside > 10%,OVERVALUEDif < -10%, elseFAIRLY VALUED.market_cap_readable— human-friendly$2.78T,$450.2B,$12.5Mformat.distance_from_52w_high_percent/distance_from_52w_low_percent— pre-computed range position.
get_company_metrics
Deep fundamentals analysis — profitability, financial health, cash flow, growth, and per-share metrics — synthesized from 5 financial statements endpoints.
Input:
{"symbol": "AAPL","period": "annual"}
period accepts annual (default) or quarter.
Example output (truncated):
{"symbol": "AAPL","period": "annual","latest_period_date": "2025-09-30","profitability": {"revenue": 394328000000,"revenue_readable": "$394.3B","revenue_growth_yoy": 7.8,"net_income": 96995000000,"net_income_readable": "$97.0B","gross_margin": 46.2,"operating_margin": 31.5,"net_margin": 24.6,"roe": 160.5,"roa": 28.3,"roic": 56.2,"margin_trend": "EXPANDING"},"financial_health": {"total_debt": 111000000000,"total_cash": 65000000000,"net_debt": 46000000000,"debt_to_equity": 1.87,"current_ratio": 1.07,"interest_coverage": 41.2,"health_signal": "STRONG"},"cash_flow": {"operating_cash_flow": 118000000000,"free_cash_flow": 104000000000,"free_cash_flow_readable": "$104.0B","fcf_margin": 26.4,"capex": 14000000000,"dividends_paid": 15000000000,"buybacks": 89000000000,"fcf_yield": 3.7},"growth_3yr": {"revenue_cagr": 8.2,"net_income_cagr": 10.1,"fcf_cagr": 9.5,"growth_signal": "ACCELERATING"},"per_share": {"eps": 6.42,"book_value_per_share": 3.99,"fcf_per_share": 6.89,"dividend_per_share": 0.96,"payout_ratio": 14.9},"meta": {"source": "Toolstem via Financial Modeling Prep","timestamp": "2026-04-17T18:30:00Z","periods_analyzed": 3,"data_delay": "End of day"}}
Derived fields:
margin_trend—EXPANDING,STABLE, orCONTRACTINGbased on net margin series direction.health_signal—STRONG,ADEQUATE, orWEAKfrom debt-to-equity, current ratio, and interest coverage.growth_signal—ACCELERATING,STEADY, orDECELERATINGbased on YoY growth trajectory.revenue_cagr,net_income_cagr,fcf_cagr— compound annual growth rates over the analyzed window.fcf_margin,fcf_yield— pre-computed from cash flow + revenue + market cap.
screen_stocks
Screen and filter stocks by sector, market cap, price range, beta, volume, dividend yield, exchange, and country. Returns derived category signals for every match.
Input:
{"sector": "Technology","market_cap_min": 10000000000,"exchange": "NASDAQ","volume_min": 500000,"limit": 20}
All parameters are optional — omit any filter to leave that dimension open.
Example output (truncated):
{"query_summary": "20 stocks matching: sector=Technology, mktCap≥$10.0B, exchange=NASDAQ, volume≥500,000","total_results": 20,"stocks": [{"symbol": "AAPL","company_name": "Apple Inc.","sector": "Technology","industry": "Consumer Electronics","exchange": "NASDAQ","country": "US","price": 178.52,"market_cap": 2780000000000,"market_cap_readable": "$2.78T","beta": 1.28,"volume": 55000000,"last_annual_dividend": 0.96,"cap_category": "MEGA","volatility_category": "MODERATE","liquidity_category": "HIGH"}],"meta": {"source": "Toolstem via Financial Modeling Prep","timestamp": "2026-04-20T18:30:00Z","data_delay": "Real-time during market hours","filters_applied": ["sector: Technology", "market_cap_min: 10000000000", "exchange: NASDAQ", "volume_min: 500000", "limit: 20"]}}
Derived fields:
cap_category—MEGA(>$200B),LARGE($10B–$200B),MID($2B–$10B),SMALL($300M–$2B),MICRO($50M–$300M),NANO(<$50M).volatility_category—LOW(beta < 0.8),MODERATE(0.8–1.3),HIGH(> 1.3).liquidity_category—HIGH(volume > 1M),MODERATE(100K–1M),LOW(< 100K).
compare_companies
Side-by-side comparison of 2–5 companies across price, valuation, profitability, financial health, growth, dividends, and analyst ratings.
Input:
{"symbols": ["AAPL", "MSFT", "GOOGL"]}
Example output (truncated):
{"symbols_compared": ["AAPL", "MSFT", "GOOGL"],"comparison_date": "2026-04-20T18:30:00Z","companies": [{"symbol": "AAPL","company_name": "Apple Inc.","sector": "Technology","price": { "current": 178.52, "change_percent": 1.33 },"valuation": { "pe_ratio": 29.5, "dcf_upside_percent": 9.35 },"profitability": { "net_margin": 24.6, "roe": 160.5, "roic": 56.2 },"financial_health": { "debt_to_equity": 1.87, "current_ratio": 1.07 },"growth": { "revenue_growth_yoy": 7.8, "earnings_growth_yoy": 10.1 },"dividend": { "dividend_yield": 0.5, "payout_ratio": 14.9 },"rating": { "score": 4, "recommendation": "Buy" }}],"rankings": {"lowest_pe": "GOOGL","highest_margin": "AAPL","strongest_balance_sheet": "GOOGL","best_growth": "MSFT","most_undervalued": "GOOGL","highest_rated": "MSFT"},"meta": {"source": "Toolstem via Financial Modeling Prep","timestamp": "2026-04-20T18:30:00Z","data_delay": "Real-time during market hours","api_calls_made": 19}}
Derived fields:
rankings— automatically computed:lowest_pe,highest_margin,strongest_balance_sheet,best_growth,most_undervalued,highest_rated.- All valuation, profitability, health, and growth metrics pre-computed per company.
- Uses batch quote for efficient multi-symbol price retrieval.
Installation
npm
$npm install -g toolstem-mcp-server
Run as stdio server:
$FMP_API_KEY=your_key_here toolstem-mcp-server
Run as HTTP (Streamable HTTP transport) server:
$FMP_API_KEY=your_key_here PORT=3000 toolstem-mcp-server --http
Claude Desktop
Add to your claude_desktop_config.json:
{"mcpServers": {"toolstem": {"command": "npx","args": ["-y", "toolstem-mcp-server"],"env": {"FMP_API_KEY": "your_fmp_api_key"}}}}
Apify
Available on the Apify Store as the toolstem-financial-data Actor. Call it from your Apify workflow with input:
{"tool": "get_stock_snapshot","symbol": "AAPL"}
or
{"tool": "screen_stocks","sector": "Technology","market_cap_min": 10000000000,"limit": 20}
or
{"tool": "compare_companies","symbols": ["AAPL", "MSFT", "GOOGL"]}
Results are pushed to the default dataset. The actor monetizes per tool call via Apify's Pay-Per-Event model.
Self-hosting (Cloudflare Workers / any Node runtime)
Build and run the HTTP transport:
npm installnpm run buildFMP_API_KEY=your_key npm run start:http
Your MCP client can then connect to POST http://your-host:3000/mcp.
Environment Variables
| Variable | Required | Description |
|---|---|---|
FMP_API_KEY | Yes | Financial Modeling Prep API key. Get one at financialmodelingprep.com. |
PORT | No | Port for HTTP transport. Defaults to 3000. |
Development
npm installnpm run dev # stdio, hot reload via tsxnpm run build # TypeScript -> dist/npm start # run built stdio servernpm run start:http # run built HTTP server
Architecture
src/├── index.ts # MCP server entry (stdio + Streamable HTTP)├── actor.ts # Apify Actor entry├── services/│ └── fmp.ts # Financial Modeling Prep API client├── tools/│ ├── get-stock-snapshot.ts│ ├── get-company-metrics.ts│ ├── screen-stocks.ts│ └── compare-companies.ts└── utils/└── formatting.ts # Market cap formatting, CAGR, trend signals
All FMP endpoints are wrapped in a single FmpClient class. Tool implementations fan out to multiple client methods in parallel via Promise.all, then synthesize the merged result.
License
MIT — see ./LICENSE.
Toolstem — curated financial intelligence for the agent-native economy.