内容
# P21 API 文档 MCP 服务器
一个 [MCP (模型上下文协议)](https://modelcontextprotocol.io/) 服务器,为 AI 代理提供 **专家知识**,关于 [Epicor Prophet 21 (P21)](https://www.epicor.com/en-us/erp-systems/prophet-21/) API 系统。
文档从 [mrwuss/p21-api-documentation](https://github.com/mrwuss/p21-api-documentation) 获取,并通过 **可流式 HTTP** 传输服务 - 无需维护本地文档。
> **免责声明:** 本项目与 Epicor Software Corporation 无关联、未获得其认可或支持。
---
## 功能介绍
该 MCP 服务器提供了 **5 种工具**、**11 种资源** 和 **2 种提示**,使 AI 代理能够:
- 🔍 **搜索** 所有 P21 API 文档中的特定主题
- 📖 **检索** 任意 API 类型的完整文档
- 💻 **获取代码示例** - 适用于每种 API 的 Python 示例
- 🗺️ **比较 API** - 概览表,帮助选择适合的 API
- 🔗 **查找端点** - 精确的 URL 模式、HTTP 方法和实体
### 涵盖的 API
| API | 类型 | 用例 |
|-----|------|----------|
| **OData** | 只读 | 报告、查找、数据导出 |
| **事务** | 批量 CRUD | 批量创建、外部集成 |
| **交互式** | 有状态 | 带有业务逻辑的窗口工作流 |
| **实体** | 简单 CRUD | 基本记录操作 |
| **库存 REST** | 库存 | 物料 CRUD,多公司 |
| **生产和劳动** | 制造 | 工作订单、时间跟踪 |
---
## 快速入门
### 先决条件
- Python 3.10+
- 互联网访问(文档从 GitHub 获取)
### 安装
```bash
# 克隆仓库
git clone https://github.com/your-username/P21-API-MCP.git
cd P21-API-MCP
# 创建虚拟环境
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
# 安装依赖
pip install -r requirements.txt
```
### 运行服务器
```bash
# 使用 HTTP 传输(默认)启动
python -m src.server
# 自定义端口
python -m src.server --port 9000
# 本地绑定
python -m src.server --host 127.0.0.1
# stdio 模式(适用于 Claude Desktop)
python -m src.server --transport stdio
```
服务器将:
1. 从 GitHub 获取所有 P21 API 文档
2. 解析为可搜索的章节
3. 在 `http://0.0.0.0:8000/mcp` 上开始监听
---
## 连接您的 MCP 客户端
### Claude Code / Cursor / VS Code
添加到您的 MCP 配置文件中:
```json
{
"mcpServers": {
"p21-api-docs": {
"type": "streamable-http",
"url": "http://localhost:8000/mcp"
}
}
}
```
### Claude Desktop(stdio 桥接)
```json
{
"mcpServers": {
"p21-api-docs": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:8000/mcp"]
}
}
}
```
### 配置文件位置
| 客户端 | 路径 |
|--------|------|
| Claude Desktop(Win) | `%APPDATA%\Claude\claude_desktop_config.json` |
| Cursor | `~/.cursor/mcp.json` |
| VS Code | `.vscode/mcp.json` |
| Claude Code | `~/.claude/mcp.json` |
---
## 可用工具
| 工具 | 描述 |
|------|-------------|
| `get_p21_api_overview` | 所有 P21 API 的高级别比较 + 选择指南 |
| `search_p21_docs` | 搜索所有文档中的特定主题 |
| `get_p21_api_documentation` | 检索特定 API 类型的完整文档 |
| `get_p21_code_examples` | 获取特定 API 的 Python 代码示例 |
| `get_p21_endpoint_reference` | URL 模式、HTTP 方法和实体 |
---
## 环境变量
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `MCP_HOST` | `0.0.0.0` | 绑定主机 |
| `MCP_PORT` | `8000` | 监听端口 |
| `MCP_TRANSPORT` | `streamable-http` | 传输模式 |
---
## 开发
```bash
# 安装开发依赖
pip install -e ".[dev]"
# 运行测试
python -m pytest tests/ -v
```
---
## 许可证
MIT
## 致谢
- P21 API 文档由 [mrwuss/p21-api-documentation](https://github.com/mrwuss/p21-api-documentation) 提供
- 使用 [FastMCP](https://github.com/jlowin/fastmcp) 构建
- 由 [模型上下文协议](https://modelcontextprotocol.io/) 提供支持