用于公共市场数据检索的MCP服务器
此服务器提供 模型上下文协议(MCP) 接口,使用财务建模准备(FMP)API检索公开市场数据(股票、公司指标等)。
特性
- 严格的MCP兼容性:单人
/mcp使用类似JSON RPC的模式的端点 - 检索股票价格、公司指标等
- OAuth支持(演示令牌)
- 错误处理
- 使用stdio传输进行本地测试
设置
- 克隆存储库 (如果还没有):
git clone
cd mcp-server-public-markets- 创建一个
.env文件 使用您的FMP API密钥:
echo "FMP_API_KEY=wQfRLCIqXg0Q681eMZye1mxPCC12jFua" > .env- 安装依赖项:
pip install -r requirements.txt- 在本地运行服务器(HTTP API):
uvicorn mcp_server:app --reload
# or
python mcp_server.py- 在stdio模式下运行服务器(用于代理/CLI测试):
STDIO_MODE=1 python mcp_server.pyMCP协议使用
所有请求均发送至 /mcp 端点(HTTP)或JSON行(stdio)。模式为:
请求:
{
"id": 1,
"method": "company.metrics",
"params": { "symbol": "AAPL" }
}答复:
{
"id": 1,
"result": { ... },
"error": null
}如果发生错误, result 是 null 和 error 包含代码/消息。
支持的方法
stock.price--参数:{ "symbol": "AAPL" }company.metrics--参数:{ "symbol": "AAPL" }
认证
- 使用OAuth2承载令牌
test-token用于本地测试。 - 对于HTTP,添加标头:
Authorization: Bearer test-token - 对于stdio,添加字段:
"token": "test-token"在您的请求JSON中。
例子
HTTP(curl)
curl -X POST http://127.0.0.1:8000/mcp \
-H "Authorization: Bearer test-token" \
-H "Content-Type: application/json" \
-d '{"id": 1, "method": "company.metrics", "params": {"symbol": "AAPL"}}'标准输入输出
开始:
STDIO_MODE=1 python mcp_server.py然后键入:
{"id": 1, "method": "company.metrics", "params": {"symbol": "AAPL"}, "token": "test-token"}错误处理
- 所有错误都将返回到
error带有代码和消息的字段,MCP风格。
______________________________________________________________________
注: 此项目用于教育/测试目的。对于生产使用,请查看安全性和可扩展性考虑因素。
