61 lines
2.1 KiB
Markdown
61 lines
2.1 KiB
Markdown
# MCP for ERP — 汽车零部件智能报价 ERP 数据服务
|
||
|
||
## 概述
|
||
|
||
为汽车零部件(小型阀体外壳)智能报价智能体提供 ERP 数据访问能力,通过 MCP 协议暴露 5 个工具。
|
||
|
||
## 技术栈
|
||
|
||
- **框架**: MCPServer(mcp 2.0.0 内置高级框架)
|
||
- **语言**: Python 3.11+
|
||
- **数据库**: PostgreSQL 15+
|
||
- **传输协议**: Streamable HTTP(远程调用)
|
||
|
||
## 工具清单
|
||
|
||
| 工具名 | 功能 | 核价环节 |
|
||
|---|---|---|
|
||
| `query_material_master` | 按编码/参数查询物料主数据(含体积、重量、吨位) | 基础数据 |
|
||
| `match_material_grade` | 材质牌号对照(GB/ASTM/JIS/EN),返回等效牌号+密度 | 材质确认 |
|
||
| `get_die_casting_params` | 根据零件体积+吨位返回压铸参数(节拍、铝水重量) | **压铸成本** |
|
||
| `get_machining_estimate` | 根据孔数/孔深/螺纹规格返回机加工工时估算 | **机加工成本** |
|
||
| `calculate_part_cost` | 汇总核价:材料+压铸+机加工+后处理+管理费+利润 | **最终报价** |
|
||
|
||
## 核价逻辑
|
||
|
||
```
|
||
1. 铝水重量 = 体积(cm³) × 密度(g/cm³) / 1000 × 1.05(损耗)
|
||
2. 材料成本 = 铝水重量 × 铝锭单价
|
||
3. 压铸成本 = (节拍秒/3600) × 机台费率 / 模穴数
|
||
4. 机加工成本 = 总工时(小时) × 加工中心费率(60元/时)
|
||
5. 后处理成本 = 零件重量(kg) × 后处理单价
|
||
6. 总成本 = 材料 + 压铸 + 机加工 + 后处理
|
||
7. 报价 = 总成本 × (1+管理费率12%) × (1+利润率15%)
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
cd src
|
||
python seed.py # 初始化数据库(可选,数据已在共享数据库中)
|
||
python server.py # 启动 MCP Server(端口 8001)
|
||
```
|
||
|
||
## 服务地址
|
||
|
||
- **HTTP 端点**: `http://0.0.0.0:8001/mcp`
|
||
- **传输协议**: Streamable HTTP
|
||
|
||
## 数据库配置
|
||
|
||
通过环境变量配置:
|
||
|
||
| 变量 | 默认值 | 说明 |
|
||
|---|---|---|
|
||
| `ERP_DB_HOST` | 192.168.1.206 | PostgreSQL 主机 |
|
||
| `ERP_DB_PORT` | 5432 | 端口 |
|
||
| `ERP_DB_USER` | postgres | 用户名 |
|
||
| `ERP_DB_PASSWORD` | digiwin | 密码 |
|
||
| `ERP_DB_NAME` | smart_quotation_auto | 数据库名 |
|