这是一个用于访问财务报告 API 的 MCP(模型上下文协议)服务器,提供工具和资源以访问公司财务申报、行业分类及相关数据。
注意: 该服务器现在仅使用真实的财务报告 API。为了简化和可靠性,已移除所有模拟 API 逻辑和配置。
有多种方式可以运行此 MCP 服务器。选择以下选项之一:
Docker 是推荐的方式,因为它具有可重复性、隔离性和易用性。
# 构建(一次)
docker build -t financial-reports-mcp .
# 运行
docker run --rm -i \
-e API_KEY=your_api_key_here \
-e API_BASE_URL=https://api.financialreports.eu/ \
-e MCP_TRANSPORT=stdio \
financial-reports-mcp:latest
对于 Docker Compose 用户:
# 复制并配置 .env
echo "复制 .env.example 到 .env 并填写密钥"
cp .env.example .env
# 启动服务
docker-compose up
对于 Claude Desktop,请使用以下配置。将密钥作为 -e 参数传递给 args 以确保最大兼容性和安全性:
{
"mcpServers": {
"financial-reports": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e", "API_KEY=your_api_key_here",
"-e", "API_BASE_URL=https://api.financialreports.eu/",
"-e", "MCP_TRANSPORT=stdio",
"financial-re reports-mcp:latest"
]
}
}
}
为什么? 将密钥作为
-e参数传递给args可确保 Docker 总是接收到它们,无论客户端如何实现环境变量支持。这是对 Claude Desktop 和类似客户端最健壮和可移植的方法。
使用 Smithery CLI 在 Claude 中安装和运行服务器:
npx -y @smithery/cli@latest install \
@itisaevalex/financial-reports-mcp-server \
--client claude \
--key smithery_api_key
python -m venv venv # 创建虚拟环境
venv\Scripts\activate # 激活(在 Windows 上)
pip install -r requirements.txt
python -m src.financial_reports_mcp
# 或者使用 uv
uv run src/financial_reports_mcp.py
提示: 如果您使用
uv,它会自动从项目根目录加载.env。
所有示例脚本和配置现在位于 examples/ 目录中,例如:
examples/test_server.py — 运行完整的 MCP 测试套件examples/docker_claude_config.json — Docker 的 Claude Desktop 配置示例examples/uvx_claude_config.json — 使用 uv 的 Claude Desktop 配置示例examples/python_client_example.py — Python 客户端使用示例运行测试套件:
python examples/test_server.py
在根目录创建一个 .env 文件,包含以下变量:
API_KEY=your_api_key_here
API_BASE_URL=https://api.financialreports.eu/
MCP_TRANSPORT=stdio
src/ — 源代码目录
financial_reports_mcp.py — MCP 服务器主入口点(所有工具/资源在此定义)api_client.py — API 客户端工厂real_api/real_client.py — 实际 API 客户端实现.env - 环境变量(不在 Git 中)requirements.txt - 项目依赖项Dockerfile & docker-compose.yml - Docker 配置setup.py - 包安装配置install.py - 帮助 Claude Desktop 安装examples/ - 示例脚本和配置scripts/ - 安装脚本get_filing_type(filing_type_id) — 根据 ID 获取申报类型的详细信息list_industries(industry_group, page, page_size, search) — 列出所有可用的 GICS 行业get_industry(industry_id) — 获取 GICS 行业的详细信息list_industry_groups(sector, page, page_size, search) — 列出所有可用的 GICS 行业组get_industry_group(group_id) — 获取 GICS 行业组的详细信息get_sector(sector_id) — 获取 GICS 部门的详细信息list_sub_industries(industry, page, page_size, search) — 列出所有可用的 GICS 子行业get_sub_industry(sub_industry_id) — 获取 G_ICS 子行业的详细信息list_sources(page, page_size) — 列出所有可用的数据源get_source(source_id) — 获取数据源的详细信息get_processed_filing(processed_filing_id) — 获取申报的处理内容get_schema(format, lang) — 获取 API 的 OpenAPI3 模式search_companies(params) — 按名称、ISIN、LEI 等搜索公司get_company_detail(company_id) — 获取公司的详细信息get_latest_filings(params) — 获取最新的财务申报get_filing_detail(filing_id) — 获取特定申报的详细信息list_sectors() — 列出所有可用的 GICS 部门list_filing_types() — 列出所有可用的申报类型get_sectors_resource() — 以 Markdown 格式列出 GICS 部门get_filing_types_resource() — 以 Markdown 格式列出申报类型get_company_profile(company) — 以 Markdown 格式列出公司概况get_company_recent_filings(company, limit) — 以 Markdown 格式列出最近的申报search_company_by_name() — 搜索公司名称的提示find_latest_annual_reports() — 查找最新年度报告的提示financial-reports://sectors:所有 GICS 部门列表financial-reports://filing-types:所有申报类型列表financial-reports://companies/{company_id}/profile:公司概况financial-reports://companies/{company_id}/recent-filings:公司的最近申报我想查询关于德意志银行的信息。请帮我找到:
1. 基本公司详情,如国家、部门和行业
2. 最近的财务申报
3. 如果有的话,关键财务指标
我想查看主要欧洲银行的最新年度报告。
请帮我:
1. 找到银行业部门的公司
2. 获取他们的最新年度报告
3. 如果有的话,总结这些报告的关键财务指标
该服务器可以在以下平台上运行:
uv 进行 Claude Desktop 安装特别针对 Windows 用户:
与 Claude Desktop 的通信问题:
-i 标志以启用交互模式“模块未找到”错误:
pip install -r requirements.txt 安装了所有依赖项无法连接到 MCP 服务器:
API 认证错误:
.env 文件中验证您的 API 密钥直接运行时,日志输出到控制台。对于 Docker,您可以使用以下命令查看日志:
docker logs <container-id>
该项目根据带有 Data Alchemy Labs 归属要求的 MIT 许可证发布。详情请参阅 LICENSE。