关于 Toolstem Mcp Server
Toolstem 是面向 AI Agent 的金融数据 MCP 服务,将股票行情、公司基本面、估值和财务指标合并为扁平 JSON,并预先计算分析信号。适用于股票分析与公司比较,也可使用托管端点或自行运行服务。
主要功能
- 01获取股票概览与 DCF 估值
- 02汇总盈利、现金流和增长指标
- 03比较 2 至 5 家公司
- 04预计算估值、健康度与增长信号
- 05以扁平 JSON 返回综合数据
适用场景
- 01获取单只股票的行情和估值概览
- 02分析公司的财务状况与增长趋势
- 03并列比较多家公司的指标
- 04将财务数据接入 Agent 投研流程
MCP 相关
Toolstem MCP 服务向客户端提供三个复合工具:股票概览、公司指标和公司比较。托管端点通过 x402 按次收取 USDC;也可使用 FMP API 密钥自行运行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| symbol | string | 是 | 股票代码(例如:AAPL、MSFT、TSLA) |
详细介绍
📊 Toolstem — 面向 AI Agent 的金融数据 MCP | 股票分析与 DCF
专为 AI Agent 打造的精选金融数据 MCP——一次调用即可完成股票研究。
Toolstem 是一款金融数据 MCP,专为 AI 股票分析、股票研究和 Agent 驱动的投资工作流打造。实时股票数据、公司基本面、DCF 估值、财务指标,以及并排比较公司的能力——所有结果都以扁平、适合 Agent 使用的 JSON 返回,并已计算好衍生信号。
可原生搭配 Claude、OpenAI Agents SDK 和 LangChain 使用。按调用付费,无需订阅。更多金融领域的 MCP 服务(SEC 文件、内幕交易、机构持仓)即将推出。
不同于仅暴露供应商 REST API 的直通封装,每个 Toolstem 工具都会整合多个数据源、推导信号,并预先计算 Agent 否则必须自行处理的数学运算。
一次调用。一个适合 Agent 使用的 JSON 响应。无需解析嵌套数组,无需跨端点拼接数据,也无需编写空值检查样板代码。
快速开始 — 托管端点(推荐)
将 MCP 客户端或 Agent 指向托管端点。无需 API 密钥、基础设施或设置。 通过 x402 按调用计费——Agent 的钱包直接在 Base 主网上以 USDC 付款。
https://mcp.toolstem.com/mcp/finance
- 无需 FMP API 密钥——你无需提供或管理任何上游数据密钥。
- 无需基础设施——无需安装、托管或持续运行任何内容。
- 无需设置——连接 MCP 客户端并调用工具即可。
initialize和tools/list免费(用于发现和检查架构)。- 每次
tools/call在 Base 主网上收费 $0.01 USDC,通过 x402 结算。
Claude Desktop
将以下内容放入你的 claude_desktop_config.json:
{
"mcpServers": {
"toolstem-finance": {
"url": "https://mcp.toolstem.com/mcp/finance"
}
}
}
重启 Claude Desktop,然后询问:“使用 Toolstem 获取 NVDA 的快照。”
任意 MCP 客户端(LangChain.js)
官方的 @langchain/mcp-adapters 库可直接连接托管 URL:
import { MultiServerMCPClient } from "@langchain/mcp-adapters";
import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
const client = new MultiServerMCPClient({
toolstem_finance: {
transport: "http",
url: "https://mcp.toolstem.com/mcp/finance",
// Add your x402-signing middleware via headers, OR run an x402
// proxy locally and point url at it. See https://www.x402.org/clients.
},
});
const tools = await client.getTools();
const agent = createReactAgent({ llm: new ChatOpenAI({ model: "gpt-4o-mini" }), tools });
await agent.invoke({ messages: "Compare AAPL, MSFT, and GOOGL on valuation and growth." });
LangChain 快速入门(langchain-toolstem)
langchain-toolstem 封装会代你处理 x402 付款——传入已充值的钱包密钥,工具就会自动按调用付款:
import { createToolstemTools } from 'langchain-toolstem';
const tools = await createToolstemTools({ walletPrivateKey: process.env.WALLET_KEY });
// Tools auto-pay $0.01 USDC per call via x402
想使用自己的 FMP 密钥自行运行服务?请参阅文末的高级:自行托管。
可在 Toolstem playground 中在线试用这些工具。
产品页面:https://toolstem.com/finance/.
定价
- MCP
initialize和tools/list免费——发现、架构检查和运行状况检查均不收费。 - 每次调用
tools/call在 Base 主网上收费 $0.01 USDC,通过 x402 付款。 无需 API 密钥、注册或市场账户——Agent 的钱包直接付款。
| 工具 | 每次调用 |
|---|---|
get_stock_snapshot | $0.01 USDC |
get_company_metrics | $0.01 USDC |
compare_companies | $0.01 USDC |
计费方式
Toolstem 使用 x402 支付协议。Agent 在 Base 上以 USDC 按调用付款——无需 API 密钥、订阅或发票。Agent 的钱包通过 EIP-3009 自动结算每次调用。
工作原理
Toolstem 以 Node MCP 服务(本仓库)以及托管的、受 x402 保护的代理形式提供。
Agent ──MCP──▶ Cloudflare Worker (x402 paywall) ──MCP──▶ Toolstem MCP server ──REST──▶ Financial Modeling Prep
│ │
└─ free: initialize, tools/list └─ composite tool: fans out to 3–5 FMP endpoints
└─ paid: tools/call → 0.01 USDC on Base in parallel, derives signals, returns flat JSON
- Cloudflare Worker 在
mcp.toolstem.com终止公共 MCP 连接,并对tools/call强制执行 x402 付款。 - MCP 服务(此软件包)实现 3 个组合工具,并与 Financial Modeling Prep 通信。
- Base 主网上的 x402 处理微支付——结算不到一秒,无需链下账户。
工具
三个组合工具,每个工具都会综合多个 FMP 端点,并提供衍生信号和预先计算的数学结果。
| 工具 | 标题 | 必填输入 | 可选输入 |
|---|---|---|---|
get_stock_snapshot | 股票概览 | symbol(字符串) | — |
get_company_metrics | 公司指标 | symbol(字符串) | period(annual | quarter,默认值为 annual) |
compare_companies | 公司比较 | symbols(string[2..5]) | — |
这三个工具均为只读、幂等,并且可安全地由 Agent 重试。
get_stock_snapshot
综合股票概览,将报价、公司简介、DCF 估值和评级整合为单个响应。
输入:
{
"symbol": "AAPL"
}
输出示例(已截断):
{
"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"
}
}
衍生字段(原始 API 中不存在):
dcf_signal— 如果 DCF 上涨空间 > 10%,则为UNDERVALUED;如果 < -10%,则为OVERVALUED;否则为FAIRLY VALUED。market_cap_readable— 易读的$2.78T、$450.2B、$12.5M格式。distance_from_52w_high_percent/distance_from_52w_low_percent— 预先计算的区间位置。
get_company_metrics
深入分析基本面——盈利能力、财务健康状况、现金流、增长和每股指标——综合自 5 个财务报表端点。
输入:
{
"symbol": "AAPL",
"period": "annual"
}
period 可接受 annual(默认值)或 quarter。
输出示例(已截断):
{
"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"
}
}
衍生字段:
margin_trend— 根据净利润率序列的变化方向,取值为EXPANDING、STABLE或CONTRACTING。health_signal— 根据债务权益比、流动比率和利息覆盖率,取值为STRONG、ADEQUATE或WEAK。growth_signal— 根据同比增长轨迹,取值为ACCELERATING、STEADY或DECELERATING。revenue_cagr、net_income_cagr、fcf_cagr— 分析时间范围内的复合年增长率。fcf_margin、fcf_yield— 根据现金流、收入和市值预先计算。
compare_companies
并排比较 2–5 家公司的价格、估值、盈利能力、财务健康状况、增长、股息和分析师评级。
输入:
{
"symbols": ["AAPL", "MSFT", "GOOGL"]
}
symbols 必须是包含 2 到 5 个股票代码字符串的数组。
输出示例(已截断):
{
"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
}
}
衍生字段:
rankings— 自动计算:lowest_pe、highest_margin、strongest_balance_sheet、best_growth、most_undervalued、highest_rated。- 每家公司均预先计算所有估值、盈利能力、健康状况和增长指标。
- 使用批量报价,高效获取多个股票代码的价格。
为什么选择 Toolstem?
大多数金融 MCP 服务都为每个 API 端点提供一个工具——这迫使 Agent 连续调用 4–5 次、编写胶水代码,并推理原始数据的结构。Toolstem 则采用了不同的方式:
- 并行获取数据——每个工具都会并发请求多个数据源。
- 衍生信号——根据原始数字计算出
UNDERVALUED、STRONG、ACCELERATING等易于理解的建议。 - 预先计算的数学结果——响应中已包含 CAGR、同比增长、利润率趋势、距 52 周高点/低点的距离、FCF 收益率等。
- 扁平且可预测的架构——不会将供应商复杂且深层嵌套的差异泄漏到 Agent 提示词中。
- 优雅降级——如果某个上游端点失败,响应的其余部分仍会返回,失败项以 null 填充。
高级:自托管
大多数用户应使用上方的托管端点 — 无需 API 密钥、基础设施或配置。本节面向明确希望自行运行服务的用户。
使用你自己的 FMP 密钥,在本地运行 Node MCP 服务 — 无需 x402,除 FMP 配额外也无需按次付费。你需要自行获取并管理 FMP_API_KEY,并负责运行所需的任何基础设施。
npm
npm install -g toolstem-mcp-server
stdio(默认 — 用于 Claude Desktop、Cursor 等):
FMP_API_KEY=your_key_here toolstem-mcp-server
HTTP — 仅限本地(默认,绑定到 127.0.0.1):
FMP_API_KEY=your_key_here toolstem-mcp-server --http
HTTP — 远程 + 身份验证(绑定到 0.0.0.0,需要 bearer 令牌):
FMP_API_KEY=your_key ALLOW_REMOTE=1 MCP_AUTH_TOKEN=my-secret toolstem-mcp-server --http
客户端必须在每个 /mcp 请求中发送 Authorization: Bearer my-secret。
HTTP — 禁用身份验证(仅限本地):
FMP_API_KEY=your_key MCP_AUTH_DISABLED=1 toolstem-mcp-server --http
MCP_AUTH_DISABLED=1会强制服务绑定到127.0.0.1,无论ALLOW_REMOTE的值如何。这是适用于开发的安全模式,即“跳过身份验证,仅限本地”。
HTTP — 远程且无身份验证(危险):
FMP_API_KEY=your_key ALLOW_REMOTE=1 MCP_AUTH_DISABLED=1 I_KNOW_THIS_IS_DANGEROUS=1 toolstem-mcp-server --http
警告: 这会将你的 FMP API 密钥暴露给任何能够访问该端口的人。需要设置全部三个环境变量。启动时会显示
[SECURITY WARNING]警告横幅,并每隔 60 秒重复显示。仅用于可信网络或开发环境。
Claude Desktop(自托管)
{
"mcpServers": {
"toolstem": {
"command": "npx",
"args": ["-y", "toolstem-mcp-server"],
"env": {
"FMP_API_KEY": "your_fmp_api_key"
}
}
}
}
从源代码运行
npm install
npm run build
FMP_API_KEY=your_key npm run start:http
环境变量
| 变量 | 必需 | 说明 |
|---|---|---|
FMP_API_KEY | 是(自托管) | Financial Modeling Prep API 密钥。请前往 financialmodelingprep.com 获取。调用托管端点时无需此密钥。 |
PORT | 否 | HTTP 传输端口。默认为 3000。 |
ALLOW_REMOTE | 否 | 设置为 1,可将 HTTP 绑定到 0.0.0.0,而非 127.0.0.1。 |
MCP_AUTH_TOKEN | 当 ALLOW_REMOTE=1 时 | 用于对 /mcp 请求进行身份验证的 Bearer 令牌。 |
MCP_AUTH_DISABLED | 否 | 设置为 1 可跳过身份验证。除非同时设置 I_KNOW_THIS_IS_DANGEROUS=1,否则会强制绑定到 127.0.0.1。 |
I_KNOW_THIS_IS_DANGEROUS | 否 | 与 ALLOW_REMOTE=1 和 MCP_AUTH_DISABLED=1 一同设置为 1,以允许无身份验证的远程访问。此设置会触发定期显示的警告横幅。 |
开发
npm install
npm run dev # stdio, hot reload via tsx
npm run build # TypeScript -> dist/
npm start # run built stdio server
npm run start:http # run built HTTP server
架构
src/
├── index.ts # MCP server entry (stdio + Streamable HTTP)
├── actor.ts # Apify Actor entry (legacy)
├── services/
│ └── fmp.ts # Financial Modeling Prep API client
├── tools/
│ ├── get-stock-snapshot.ts
│ ├── get-company-metrics.ts
│ └── compare-companies.ts
└── utils/
└── formatting.ts # Market cap formatting, CAGR, trend signals
所有 FMP 端点都封装在单个 FmpClient 类中。工具实现会通过 Promise.all 并行调用多个客户端方法,然后合成合并后的结果。
许可证
MIT — 请参阅 LICENSE。
Toolstem — 为 Agent 原生经济精选的金融情报。https://toolstem.com/finance/
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。