Acmezone Data MCP
Read-only MCP server for internal Amazon business data, exposing 19 tools to query sales, inventory, and financial metrics.
README
Acmezone Data MCP
Acmezone Data MCP 是一个面向公司内部 Amazon 经营数据的只读 MCP 服务。它把销量、库存、库存金额和财务数据封装成 19 个 Tool,供 WorkBuddy、MCP Inspector 及其他兼容 MCP 的客户端调用。
两阶段模块化重构已经完成:Tool 接口层与 Repository 数据访问层均已落地,并通过重构前后完整回归。实施记录请参阅 重构计划。
当前状态
- Python 3.12
- MCP Streamable HTTP
- 容器监听:
0.0.0.0:8000 - 无环境变量配置,数据路径、工作表名和端口目前写在
settings.py中 - 19 个 Tool 已按业务领域拆分到 8 个模块,既有接口保持兼容
- Excel 和 SQLite 的直接读取已集中到 Repository 层
- 19 个 Tool 均发布结构化输出 Schema、参数枚举/范围和只读标记
- Excel Snapshot 按文件大小和纳秒级修改时间缓存,源文件变化后自动失效
- Excel 以
read_only=True、data_only=True打开 - SQLite 财务库通过
mode=ro只读连接
当前目录:
mcp/
├─ mcp_server.py
├─ settings.py
├─ core/
├─ tools/
├─ repositories/ # Excel、销售、库存和财务数据访问
├─ tests/
├─ scripts/
├─ docs/
├─ requirements.txt
└─ Dockerfile
数据源
| 业务数据 | 容器路径 | 工作表/数据表 | 容器权限 |
|---|---|---|---|
| 历史销量与预测 | /storage/sales_data.xlsx |
data |
只读 |
| 当前销售 | /storage/sales.xlsx |
Sheet1 |
只读 |
| 当前库存 | /storage/inventory.xlsx |
Sheet1 |
只读 |
| 库存数量与金额 | /storage/inventory_value.xlsx |
库存情况 |
只读 |
| 历史财务 | /finance/finance_profit.db |
SQLite | 只读 |
源文件修改时间只用于判断数据新鲜度,不再用于划分实际与预测。实际/预测分界统一使用公司时区 Asia/Shanghai 的当前月份。财务数据另外使用数据库中的报表月份和上传时间表示数据截止期。
Docker 部署方式
当前 NAS 容器使用以下存储挂载:
| NAS 目录或文件 | 容器位置 | 权限 | 用途 |
|---|---|---|---|
共享文件夹/docker1/AcmezoneWeb/mcp |
/app |
读写 | MCP 源代码 |
共享文件夹/docker1/AcmezoneWeb/backend/app/finance_profit.db |
/finance/finance_profit.db |
只读 | 财务数据库 |
共享文件夹/docker1/AcmezoneWeb/data |
/storage |
只读 | Excel 数据文件 |
容器执行:
python /app/mcp_server.py
当前 Dockerfile 只安装依赖,不复制源代码,这是因为运行时会把整个 MCP 项目目录挂载到 /app。因此该镜像如果脱离 /app 挂载单独运行,将找不到 mcp_server.py;这是当前部署方式的已知前提。
容器内服务监听 8000 端口。NAS 对外端口以容器管理界面的“端口映射”配置为准。
Tool 概览
产品
search_productget_product_catalog_summaryget_parent_childrenget_product_overviewcompare_product_overviews
销售
get_sales_historyget_current_salesget_sales_rankingget_sales_trend_ranking
库存
get_inventoryget_inventory_valueget_inventory_ranking
财务、预测和系统
get_finance_historyget_finance_rankingget_replenishment_forecastget_product_batchfilter_productsget_data_source_statusget_data_quality_report
各 Tool 的参数和用途参阅 Tool 接口参考。
安装依赖
pip install -r requirements.txt
当前依赖:
mcp[cli]==2.0.0openpyxl==3.1.5pydantic==2.13.4
核心运行依赖已锁定版本。升级依赖或重建镜像前,仍应先运行完整回归。
启动
在具备 /storage 和 /finance 数据挂载的容器内执行:
python /app/mcp_server.py
本地直接运行虽然可以启动服务,但如果不存在对应的绝对数据路径,数据查询 Tool 会返回数据文件不存在或不可访问。
维护原则
- 不修改原始 Excel 或财务数据库。
- Tool 只读取和整理真实业务数据,不替代 AI 进行经营判断。
- 修改 Tool 时应保持名称、参数和返回结构的向后兼容。
- 重构过程中每迁移一个模块,都应重新检查 Tool 注册数量和代表性响应。
- 修改 Tool 时必须同步更新接口参考、架构说明和员工使用文档。
文档一致性检查:
python scripts/check_documentation_consistency.py
项目文档
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。