使用说明
股票mcp
一个与MCP兼容的小型微服务,将Finnhub市场数据API封装到MCP工具中。
此存储库公开了一组工具(在内部的MCP服务器实例上注册 server.py)其可由支持MCP协议的MCP感知客户端或本地助理使用。
本自述由AI编写,旨在解释项目的功能和限制。此外,client.py主要是用vibe编码的:D。
目录
server.py--主微服务和MCP工具注册。pyproject.toml--项目元数据和依赖关系。.env(可选)--环境变量(应包含FINNHUB_API_KEY).
这有什么作用
启动时,该服务会创建一个MCP实例并注册一组市场数据工具(公司简介、报价、新闻等)。该服务旨在本地运行,并由支持MCP的客户端或助手使用。
需求
- Python 3.10+
- 中列出的依赖关系
pyproject.toml(使用pip安装,如下所示)。
设置
- 创建并激活虚拟环境(推荐):
python -m venv .venv
source .venv/bin/activate
- 安装软件包(这将安装中列出的运行时依赖项
pyproject.toml):
python -m pip install .
- 创建一个
.env文件,并设置您的Finnhub API密钥:
FINNHUB_API_KEY=your_finnhub_api_key_here
(如果项目以其他方式读取环境变量,请相应地更新。)
运行服务
直接从项目根目录运行服务器:
python server.py
默认情况下 server.py 启动MCP服务(例如通过 mcp.run(transport='stdio') 或类似)。检查 server.py 对于确切的传输(stdio、tcp、http),如果需要不同的集成界面,请更改它。
如何连接客户端
- 如果您有支持MCP的助手或客户端,请在本地启动此服务,并将客户端配置为通过服务器使用的相同传输(例如stdio、TCP或HTTP包装器)进行连接。
- 要与Claude/Anthropic桌面应用程序或本地MCP客户端一起使用,请咨询该客户端的MCP配置,并将其指向此服务的传输。
可用的MCP工具(注册于 server.py)
服务已注册以下工具名称(请参见 server.py 用于精确的签名和参数):
get_market_holidays--返回市场假期。get_market_status--返回市场开盘/收盘状态。get_company_basic_financials--返回股票代码的基本财务信息。get_company_news--返回某个日期范围内的新闻。get_company_profile--返回股票代码的公司简介信息。get_ticker_for_company--按公司名称查找股票代码。get_stock_price--返回股票行情的最新报价。
如果添加新工具,请更新此README和MCP注册 server.py.
测试/快速冒烟测试
进行一个简单的烟雾测试 server.py 然后从兼容的MCP客户端调用其中一个已注册的工具。如果您没有MCP客户端,可以在中临时添加一个小型测试工具 server.py (或单独的脚本)导入已注册的函数并直接调用它们。
注意事项和故障排除
- 确保
FINNHUB_API_KEY是有效的,并且您尊重Finnhub的费率限制。 - 如果服务器使用
stdio传输时,它将作为MCP感知主机的子进程运行(例如,生成此进程的辅助主机)。 - 如果您需要HTTP传输,请考虑添加一个通过HTTP公开MCP工具的小型包装器或调整
server.py如果您的MCP库支持,则注册HTTP传输。
贡献
如果您添加了功能(新工具、额外传输、测试),请使用使用示例和任何新的环境变量更新README。