金融引擎MCP服务器
高级模型上下文协议(MCP)服务器,为商业智能和战略决策提供八种复杂的财务计算功能
 
一个用Rust开发的生产就绪模型上下文协议(MCP)服务器,提供八个强类型的财务计算函数。该项目演示了如何构建具有复杂多步计算的企业级MCP服务器,用于财务分析和商业智能。
为什么选择此金融引擎MCP服务器?
企业需要遵守要求安全、内部数据处理的法规,同时利用人工智能功能。小型语言模型虽然功能强大,但有时在监管环境中难以处理复杂的、多步骤的财务逻辑,这些逻辑需要高可靠性。
此金融引擎提供:
- 明确、可验证的计算:所有财务逻辑都是透明和可审计的
- 多步分析:结合多个财务维度的复杂计算
- 企业就绪:强大的打字、全面的验证和错误处理
- AI友好:结构化的回答非常适合法学硕士的消费和解释
⚠️ 免责声明
该服务器提供八种计算功能,展示了商业智能应用程序中常用的复杂财务分析模式。所有计算都是明确和透明的。
这只是一个演示/示例项目。 这里实现的计算和逻辑用于教育和演示目的。该软件:
- 不应用于实际的财务或商业决策
- 不代表真正的财务建议或计算
- 不隶属于任何官方金融实体
- 作为MCP服务器实现的技术示例
对于真正的财务分析或商业决策,请咨询适当的专业服务。
介绍
金融引擎MCP服务器通过模型上下文协议为AI代理提供复杂的财务指标计算能力。它为企业级财务分析实现了八个关键的商业智能功能:
- 关键业务指标 -公司健康评分、收入质量评估和集中度风险分析
- 运营指标 -运营杠杆和可扩展性评估
- 组合分析 -收入加权动量、多元化和有机增长分析
- 矢量存储集成 -从OpenAI矢量存储中检索财务指标
🎯 特性
- 8财务计算功能:全面的商业智能指标
- 矢量存储集成:使用OpenAI的向量存储API查询财务指标
- 显式多步逻辑:所有计算都是透明和可核查的
- 稳健的输入验证:JSON模式验证和详细的错误处理
- 多种传输协议:STDIO和流式HTTP
- 容器化:生产就绪的Podman/Docker设置
- Claude桌面集成:MCPB封装实现无缝集成
- 专业指标:普罗米修斯监控指标
- CI/CD管道:全面的GitHub操作工作流程
📚 快速参考
| 任务 | 命令 | 描述 |
|---|---|---|
| 🧪 测试 | make test | 运行所有测试 |
| 🧪 测试MCP | make test-mcp | 使用流式HTTP传输运行MCP服务器 |
| 🚀 发布 | make release-patch | 创建新的补丁版本 |
| 📦 包裹 | make pack | 创建Claude桌面包 |
| 🐳 容器 | make image-build | 构建容器映像 |
| ℹ️ 帮助 | make help | 显示所有命令 |
📋 可用功能
关键业务指标
| 功能 | 说明 | 按键输出 |
|---|---|---|
| 计算_公司_健康_核心 | 0-100健康综合评分(5个维度) | 总分、风险水平、成分细分 |
| 计算结果质量分数 | 收入可持续性分析 | 质量分数(0.0-1.0)、字母等级、建议 |
| 计算高度和多样性 | 收入集中度风险评估(HHI) | HHI指数、多元化得分、风险水平 |
运营指标
| 功能 | 说明 | 按键输出 |
|---|---|---|
| 计算操作平均值 | 收入与成本增长的可扩展性 | 运营杠杆率、利润率扩张、效率评级 |
组合分析
| 功能 | 说明 | 按键输出 |
|---|---|---|
| 计算投资组合时刻 | 收入加权投资组合增长 | 投资组合势头%,部门贡献,最大贡献者 |
| 计算最小效率 | 收入集中风险(基尼系数) | 基尼系数、多元化得分、集中度 |
| 计算有机生长 | 同比有机增长(不包括并购) | 有机增长率、绝对增长、增长评级 |
矢量存储集成
| 功能 | 说明 | 按键输出 |
|---|---|---|
| get_metrics_from_vector_store | 从OpenAI向量存储中检索财务指标 | 包含内容、分数和元数据的匹配块数组 |
备注:这些函数实现了结合多个业务维度的复杂多步计算。
📊 功能详情
功能1:计算_公司_健康_核心
目的: 通过仅使用可直接提取的指标组合三个加权维度来计算公司的综合健康状况。
重量:
- 收入增长:40%
- SLA合规性:35%
- 客户满意度:25%
例子:
{
"revenue_growth": "0.09",
"sla_compliance": "0.985",
"customer_satisfaction": "89"
}退货:
- 整体健康评分(0-100)
- 每个维度的组件得分
- 加权贡献
- 风险等级:低(≥80)、中(65-79)、高(50-64)或临界(\15%):1.0
- 稳定(同比0-15%):0.7
- 下降(同比\0.25
例子:
{
"revenues": [15.0, 25.0, 5.0, 8.0]
}退货:
- HHI值
- 多样化得分(1-HHI)
- 有效段数(1/HHI)
- 风险分类
- 市场份额
- 浓度警告
______________________________________________________________________
功能4:计算_操作_平均值
目的: 衡量收入增长和成本增长之间的关系,以评估运营可扩展性。
公式: 经营杠杆=收入增长率/成本增长率
效率等级:
- 优秀:≥1.5
- 良好:1.2-1.5
- 足够:1.0-1.2
- 差:\10%
- 中等:5%-10%
- 弱:0%-5%
- 下降:\0.40(风险)
例子:
{
"revenues": [15.0, 25.0, 5.0, 8.0]
}退货:
- 基尼系数(0-1)
- 多样化得分(1-基尼系数)
- 专注度
- 最大/最小细分市场份额
- 有效分段数
- 分类收入
______________________________________________________________________
函数7:计算有机物生长
目的: 计算不包括收购、资产剥离和其他无机因素的同比有机收入增长。
公式: (当期收入-前期收入)/前期收入
增长评级:
- 特殊:>15%
- 强:10%-15%
- 中等:5%-10%
- 弱:0%-5%
- 下降:\ 备注:只有当您计划使用矢量存储集成功能时,才需要这些环境变量。更新这些值以匹配您的LlamaStack部署。
📥 安装
# Clone the repository
git clone https://github.com/alpha-hack-program/finance-engine-mcp-rs.git
cd finance-engine-mcp-rs🏗️ 构建
# Build all servers
make build-all
# Or build individually
make build-mcp # MCP HTTP Server
make build-stdio # STDIO Server for Claude🧪 单元测试
# Run all tests
make test🏃♂️ 跑步
注: 默认情况下 BIND_ADDRESS=127.0.0.1:8001 为了 流式HTTP# MCP Streamable HTTP Server
make test-mcp
# Or directly with custom address
RUST_LOG=info BIND_ADDRESS=127.0.0.1:8001 ./target/release/mcp_server🧪 使用MCP检验员进行测试
使用StreamableHTTP传输运行MCP服务器:
make test-mcp在另一个终端中,运行MCP检查器:
make inspector打开浏览器中提供的URL,然后:
- 集 运输类型:
StreamableHTTP - 集 网址:
http://localhost:8002/mcp - 点击
Connect - 点击
List Tools查看所有七个功能 - 选择任何函数,填写参数,然后单击
Run tool
📦 Claude桌面集成
包装
# Create MCPB package for Claude Desktop
make pack这创造了 finance-engine-mcp-server.mcpb 文件。
安装
- 打开克劳德桌面
- 转到“设置”→ 开发者→ 编辑配置
- 添加服务器配置或拖放
finance-engine-mcp-server.mcpb文件 - 重新启动克劳德桌面
查询示例
试着问克劳德:
公司健康状况:
“计算收入增长9%、SLA合规性98.5%、现代收入37.7%、客户满意度89、渠道覆盖率0.849的企业的公司健康评分。他们的风险水平是多少?"
经营杠杆:
“我们的收入增长了9%,而成本仅增长了6%。计算一下我们的运营杠杆率,告诉我利润率增长的基点是多少。”
投资组合分析:
“计算这些细分市场的投资组合势头:订阅(1500万美元,增长20%)、企业(2500万美元,发展14%)、追加销售(500万美元,上升19%)和传统(800万美元,下降20%)。哪个细分市场对势头贡献最大?”
集中风险:
“我们在四个细分市场的收入分别为1500万美元、2500万美元、500万美元和800万美元。计算基尼系数,告诉我我们是否存在危险的集中风险。”
有机增长:
“收入从4870万美元同比增长到5300万美元,没有收购。我们的有机增长率是多少?”
🔧 配置
环境变量
# Logging level
RUST_LOG=info
# Server bind address
BIND_ADDRESS=127.0.0.1:8000🐳 容器化
构建并运行
# Build container image
scripts/image.sh build
# Run locally
scripts/image.sh run
# Run from remote registry
scripts/image.sh push
scripts/image.sh run-remote
# Show container information
scripts/image.sh info生产配置
podman run -p 8001:8001 \
-e BIND_ADDRESS=0.0.0.0:8001 \
-e RUST_LOG=info \
quay.io/yourorg/finance-engine-mcp-server:latest🛠️ 发展
可用命令
🏗️ 构建命令
make build-all # Build all servers
make build-mcp # Build MCP server
make build-stdio # Build stdio server
make pack # Pack for Claude Desktop🚀 放行命令(货物放行)
make release-patch # Patch release (1.0.0 → 1.0.1)
make release-minor # Minor release (1.0.0 → 1.1.0)
make release-major # Major release (1.0.0 → 2.0.0)
make release-dry-run # Preview release changes
make sync-version # Manually sync version🧪 测试命令
make test # Run all tests
make test-mcp # Test MCP server🔧 开发命令
make clean # Clean build artifacts
make help # Show all commands项目结构
├── src/ # Source code
│ ├── common/
│ │ ├── finance_engine.rs # Core financial logic
│ │ ├── metrics.rs # Prometheus metrics
│ │ └── mod.rs
│ ├── mcp_server.rs # MCP HTTP Server
│ └── stdio_server.rs # STDIO Server
├── scripts/ # Utility scripts
│ ├── sync-manifest-version.sh # Version sync
│ └── image.sh # Container management
├── mcpb/
│ └── manifest.json # Claude Desktop manifest
├── .github/workflows/ # CI/CD pipelines
├── Containerfile # Container definition
├── Cargo.toml # Rust package manifest
└── Makefile # Build commands💡 LLM集成的使用技巧
使用此MCP代理查询LLM时:
- 具体数字 -提供准确的财务数据
- 包括上下文 -提及会计期间、业务部门等。
- 要求解释 -功能提供详细的细分
- 合并计算 -使用多种功能进行综合分析
- 使用自然语言 -无需知道确切的API参数
- 组合分析 -使用投资组合函数进行多样化和集中化风险分析
🔒 安全
- 输入验证:严格的JSON模式和范围检查
- 非root用户:容器以用户身份运行
1001 - 安全审计:
cargo audit在CI/CD中 - 最小图像:基于UBI 9最低标准
- 山宁泰错误:输入净化可防止注射攻击
🤝 贡献
开发流程
- 分叉项目
- 创建特征分支:
git checkout -b feature/new-metric - 进行更改和测试:
make test - 提交更改:
git commit -am 'Add new metric' - 推送到分支:
git push origin feature/new-metric - 创建拉取请求
指南
- 代码质量:关注
cargo fmt并通过cargo clippy - 测试:添加新功能的测试
- 版本管理:让货物放行处理版本控制
- CI/CD:确保所有GitHub操作都通过
- 文档:根据需要更新README
⚙️ 版本管理
此项目使用 货物放行 用于自动同步的专业版本管理。
发布工作流
# 1. Make your changes and commit them
git add -A && git commit -m "feat: your changes"
# 2. Create a release
make release-patch # Bug fixes: 1.0.0 → 1.0.1
make release-minor # New features: 1.0.0 → 1.1.0
make release-major # Breaking changes: 1.0.0 → 2.0.0
# 3. Build and package
make pack
make image-build
make image-push
# 4. Push to repository
git push && git push --tags📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 了解详情。
🙋 支持
- 问题:
- 文档: 维基工程
- CI/CD:通过GitHub Actions进行自动化测试
🏷️ 标签
mcp model-context-protocol rust finance-engine financial-analysis business-intelligence explicit-logic claude multi-step-calculations cargo-release enterprise-rust containerization ci-cd
______________________________________________________________________
与开发❤️ 通过 阿尔法黑客集团
