Express ERP MCP服务器
ERP模型上下文协议(MCP)服务器,允许AI代理通过Supabase API验证订单。
功能
- ✅ 在ERP系统中验证订单的存在
- ✅ 下载订单详细信息
- ✅ 错误处理和复古逻辑
- ✅ 超时处理
- ✅ 支持本地和云部署(Railway、Google Cloud Run)
要求
- Node.js 18 或更高版本
- npm-lub纱线
- Supabase ERP API 访问
本地安装
1. 删除仓库
git clone
cd Express_ERP_MCP2. 安装依赖关系
npm install3. 配置
复制文件 .env.example 做 .env:
cp .env.example .env编辑文件 .env 并填写所需的数据:
SUPABASE_URL=https://qqlfyuhupuqcingumhqm.supabase.co/functions/v1/order-verification
SUPABASE_BEARER_TOKEN=twój_token_tutaj
NODE_ENV=development
API_TIMEOUT=5000
LOG_LEVEL=info4.唤醒项目
npm run build5. 启动服务器
npm start或者在开发者模式下使用 hot reload:
npm run dev在 Claude Desktop 中配置
若要将 MCP 服务器与 Claude Desktop 配合使用,请将配置添加到 claude_desktop_config.json:
对于本地服务器
{
"mcpServers": {
"express-erp": {
"command": "node",
"args": ["C:/path/to/Express_ERP_MCP/dist/index.js"],
"env": {
"SUPABASE_URL": "https://qqlfyuhupuqcingumhqm.supabase.co/functions/v1/order-verification",
"SUPABASE_BEARER_TOKEN": "twój_token_tutaj"
}
}
}
}用于云服务器(Railway/Google Cloud Run)
{
"mcpServers": {
"express-erp": {
"url": "https://your-server-url.app/sse",
"transport": "sse"
}
}
}部署
选项A:铁路
Railway提供了最简单的部署,自动集成了GitHub。
克罗基:
- 登录到Railway
- 转到 railway应用程序 - 通过GitHub登录
- 创建新工程
- 点击“新项目” - Wybierz“从GitHub仓库部署” - 选择 Express_ERP_MCP 仓库
- 配置环境变量
- 在项目面板中,转到“变量”标签 - 添加以下变量 : - SUPABASE_URL - SUPABASE_BEARER_TOKEN - NODE_ENV=production
- 部署
- Railway将自动构建和部署应用程序 - 您将获得公共 URL
自动部署
Railway会在每次推送到主分支时自动部署。
选项 B:Google Cloud Run
Google Cloud Run 提供自动扩展的无服务器部署。
要求:
- Konto谷歌云
- 已安装
gcloud命令行界面
克罗基:
- 登录到 Google Cloud
gcloud auth login
gcloud config set project YOUR_PROJECT_ID- 启用所需API
gcloud services enable cloudbuild.googleapis.com
gcloud services enable run.googleapis.com- 创建并将映像提交到容器注册表
gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/express-erp-mcp- 启用 Cloud Run
gcloud run deploy express-erp-mcp \
--image gcr.io/YOUR_PROJECT_ID/express-erp-mcp \
--platform managed \
--region europe-central2 \
--allow-unauthenticated \
--set-env-vars SUPABASE_URL="https://qqlfyuhupuqcingumhqm.supabase.co/functions/v1/order-verification" \
--set-env-vars SUPABASE_BEARER_TOKEN="your_token_here" \
--set-env-vars NODE_ENV="production"- 您将收到 URL
- Cloud Run 将返回公共网站 URL - Np。 https://express-erp-mcp-xxxxx-uc.a.run.app
MCP工具
verify_order
在ERP系统中验证订单的存在并获取详细信息。
参数测量:
numer_zamowienia(string, required) - 要验证的订单号(例如“OP1001”)
在Claude中使用示例:
Sprawdź zamówienie OP1001现有订单的答案:
✓ Zamówienie zostało znalezione w systemie
📦 SZCZEGÓŁY ZAMÓWIENIA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Numer zamówienia: OP1001
• ID zamówienia: 1a2b7eaa-fbae-46a0-b3ce-896654acb814
• Status: dostarczone
• Wartość całkowita: 1476 PLN
👤 DANE KLIENTA
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
• Imię i nazwisko: Anna Kowalska
• Email: anna.k101@example.com不存在订单的答案:
✗ Zamówienie "OP9999" nie zostało znalezione w systemie
Możliwe przyczyny:
• Numer zamówienia został wpisany nieprawidłowo
• Zamówienie nie istnieje w systemie
• Zamówienie zostało usunięteAPI 参考
API 响应结构
interface OrderVerificationResponse {
zamowienieIstnieje: boolean;
daneZamowienia: {
id_zamowienia: string;
numer_zamowienia: string;
status: string;
wartosc_calkowita: number;
klient: {
imie: string;
nazwisko: string;
email: string;
};
} | null;
}错误处理
服务器支持以下错误类型:
- 400 - 错误的请求(错误的号码格式)
- 401 - 授权错误(无效令牌)
- 408 超时(Timeout)
- 429 速率限制(Rate Limiting)
- 500+ API 服务器错误
所有错误都会自动重试,以指数回退过渡错误。
安全
最佳实践:
- 永远不要提交令牌 Git 仓库
- 使用环境变量 对于敏感数据
- 定期旋转代币 (每90天)
- 监视日志 未经授权的访问
- 使用HTTPS 在生产中
速率限制
API可能有请求限制。服务器在代码 429 的情况下自动支持重试。
故障排除
问题:“SUPABASE_URL环境变量是必需的”
解决方案: 确保您设置了环境变量 SUPABASE_URL 在文件中 .env 或者在云提供商配置中。
问题:“授权错误 - 无效的令牌”
解决方案: 检查Bearer令牌是否在变量中 SUPABASE_BEARER_TOKEN 是正确的。
问题:“请求超时”
解决方案: 检查网络连接或增加价值 API_TIMEOUT 在配置中。
问题:服务器没有响应
解决方案:
- 请检查是否安装了所有依赖关系:
npm install - 重建项目:
npm run build - 检查控制台中的错误日志
发展
在开发者模式下运行
npm run dev代码检查
npm run lint清理 build
npm run clean项目结构
Express_ERP_MCP/
├── src/
│ ├── index.ts # Główny serwer MCP
│ ├── config/
│ │ └── index.ts # Konfiguracja
│ ├── services/
│ │ └── apiClient.ts # Klient API
│ ├── tools/
│ │ └── orderVerification.ts # Narzędzie MCP
│ └── types/
│ └── index.ts # Typy TypeScript
├── dist/ # Zbudowane pliki (generowane)
├── tests/ # Testy (przyszłe)
├── .env.example # Przykładowa konfiguracja
├── .gitignore
├── Dockerfile # Dla Google Cloud Run
├── railway.json # Konfiguracja Railway
├── package.json
├── tsconfig.json
└── README.md环境变量
| 可变 | 必需 | 默认 | 描述 |
|---|---|---|---|
SUPABASE_URL | ✅ | - | URL端点API数据库 |
SUPABASE_BEARER_TOKEN | ✅ | - | Bearer 授权代币 |
NODE_ENV | ❌ | development 开发/生产(Development/Production) | |
API_TIMEOUT | ❌ | 5000 | 超时API w milisekundach |
LOG_LEVEL | ❌ | info 登录级别 | |
PORT | ❌ | 3000 | 端口dla HTTP传输(云) |
许可证
麻省理工学院
支持
如有任何问题或疑问,请在 GitHub 中创建 issue。
______________________________________________________________________
版本 : 1.0.0 上次更新 : 2025-01-06
