MWID MCP服务器
MetaWealth资产启动仪表板的模型上下文协议(MCP)服务器。该服务器使ChatGPT和Claude等人工智能助手能够与MWID Dashboard API交互,用于资产管理、任务跟踪和团队协作。
特性
- 🔧 综合工具套件:40多种用于资产、任务、用户、部门和团队的工具
- 🔐 多种身份验证方法:JWT、Supabase和Google OAuth支持
- 📊 实时数据:通过REST API访问实时仪表板数据
- 🌐 苏格兰和南方能源公司运输:服务器发送事件以实现可靠的AI助手连接
- 🚀 生产就绪:针对云部署进行了Docker化和优化
部署到铁路
逐步部署
- 推送到GitHub:
git add .
git commit -m "Add Railway configuration"
git push origin main- 在铁路上创建新项目:
- 首选 railway应用程序 - 点击“新建项目” - 选择“从GitHub仓库部署” - 选择您的存储库: mwid-mcp-server
- 配置环境变量:
在铁路仪表板中→ 变量,添加这些必需的变量:
MWID_API_URL=https://your-backend-api.com/api/v1
MWID_AUTH_METHOD=jwt
MWID_JWT_TOKEN=your-jwt-token-here可选变量:
MWID_REQUEST_TIMEOUT=30
MWID_DEBUG=false- 铁路自动检测:
铁路将自动检测:
- ✅ Dockerfile 用于集装箱化部署 - ✅ railway.json 用于构建/部署配置 - ✅ Procfile 用于过程管理 - ✅ 端口配置(铁路组 PORT 自动)
- 部署:
铁路将自动建造和部署。监控铁路仪表板日志中的部署。
- 获取您的MCP服务器URL:
Railway提供了一个公共URL,例如: https://mwid-mcp-server-production-xxxx.up.railway.app
您还可以在铁路设置中设置自定义域。
- 配置您的AI助手:
- ChatGPT:在以下位置添加MCP服务器 https://your-railway-url.railway.app/sse - 克劳德桌面版:添加到 claude_desktop_config.json (见下面的配置)
手动部署
先决条件
- Python 3.13+
- 点
- Docker(可选)
本地开发
# Clone the repository
git clone https://github.com/MetaWealth/mwid-mcp-server.git
cd mwid-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cat > .env << EOF
MWID_API_URL=http://localhost:8080/api/v1
MWID_AUTH_METHOD=jwt
MWID_JWT_TOKEN=your-token-here
EOF
# Run the server
python serve.py服务器将于启动 http://localhost:8000
Docker部署
# Build image
docker build -t mwid-mcp-server .
# Run container
docker run -p 8000:8000 \
-e MWID_API_URL=https://your-api.com/api/v1 \
-e MWID_AUTH_METHOD=jwt \
-e MWID_JWT_TOKEN=your-token \
mwid-mcp-server配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
MWID_API_URL | 是的 | http://localhost:8080/api/v1 | 后端API终结点 |
MWID_AUTH_METHOD | 是的 | jwt | 身份验证方法: jwt, supabase,或 google |
MWID_JWT_TOKEN | 用于JWT | - | JWT身份验证令牌 |
MWID_SUPABASE_URL | 用于Supabase | - | Supabase项目URL |
MWID_SUPABASE_KEY | 用于Supabase | - | Supabase匿名密钥 |
MWID_GOOGLE_ACCESS_TOKEN | 适用于谷歌 | - | 谷歌OAuth访问令牌 |
PORT | 没有 | 8000 | 服务器端口(铁路自动设置) |
ChatGPT配置
在ChatGPT设置中添加MCP服务器:
Server URL: https://your-app.railway.app/sseClaude桌面配置
添加 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mwid-dashboard": {
"url": "https://your-app.railway.app/sse"
}
}
}可用工具
服务器提供40多种工具,分为以下几类:
✅ 工作特性(外部API-不需要JWT)
这些工具只需 MWID_EXTERNAL_API_KEY:
销售和投资者数据
list_manual_sales-列出具有过滤/分页功能的销售记录(3692+条记录)
- 过滤器: userId, assetId, adjustmentType - 分页: page, pageSize (最多500)
get_manual_sale-按ID获取具体销售详情list_manual_investors-列出投资者记录,并进行过滤/分页(1064+条记录)
- 过滤器: email, userId, country - 分页: page, pageSize (最多500)
get_manual_investor-通过ID获取特定投资者详细信息
⚠️ 未来功能(内部API-需要JWT代币)
这些工具需要 MWID_JWT_TOKEN 待配置。在设置JWT身份验证之前,它们将返回403个错误。
资产管理
get_current_user-获取经过身份验证的用户信息list_assets-列出所有资产get_asset-获取资产详细信息create_asset-创建新资产update_asset-更新资产delete_asset-删除资产(仅限管理员)get_asset_phases-获取资产阶段get_asset_tasks-获取资产任务calculate_minimum_time-计算任务完成时间
任务管理
get_task-获取任务详细信息update_task-更新任务assign_task-将任务分配给用户unassign_task-删除任务分配get_assigned_tasks-获取用户分配的任务get_unassigned_tasks-获取未分配的任务get_my_department_tasks-获取部门任务get_task_comments-获取任务注释create_task_comment-向任务添加评论get_task_progress-获取任务进度update_task_progress-更新任务进度
阶段管理
update_phase-更新阶段详细信息get_phase_tasks-获取某个阶段的任务
用户与部门管理
list_users-列出所有用户(仅限管理员)get_user-获取用户详细信息get_users_for_assignment-获取可分配的用户get_my_team-获取团队成员get_department_members-获取部门成员list_departments-列出部门get_department-获取部门详细信息get_department_stats-获取部门统计数据
通知
get_notifications-获取用户通知get_unread_notification_count-获取未读计数mark_notification_read-将通知标记为已读mark_all_notifications_read-将所有内容标记为已读
工作流模板
list_workflow_templates-列出可用模板get_workflow_template-获取模板详细信息apply_workflow_template-将模板应用于资产
传统内部API
list_investor_records-列出内部投资者记录get_investor_record-获取内部投资者记录详细信息
建筑
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ ChatGPT/ │ SSE │ MCP Server │ HTTP │ MWID │
│ Claude │◄────────┤ (Railway) │────────►│ Backend │
└─────────────┘ └──────────────┘ └─────────────┘
/sse endpoint REST API
/messages endpoint (8080)故障排除
连接超时
问题:ChatGPT连接到服务器超时
解决方案:
- 确保铁路部署正在运行(检查铁路仪表板)
- 验证环境变量是否设置正确
- 检查铁路日志是否有错误:
railway logs
403禁止
问题:收到403个错误
解决方案:
- 检查
MWID_JWT_TOKEN有效且未过期 - 验证后端API是否可以从铁路访问
- 确保后端CORS设置允许铁路域
空响应
问题:工具返回空数据
解决方案:
- 验证
MWID_API_URL指向正确的后端 - 检查JWT令牌是否具有必要的权限
- 使用curl/Postman直接测试后端API
发展
运行测试
python test_server.py调试日志记录
启用调试日志记录:
export MWID_DEBUG=true
python serve.py贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
支持
对于问题或疑问:
- GitHub问题:https://github.com/MetaWealth/mwid-mcp-server/issues
- 文档:https://your-docs-site.com
- 电子邮件:support@metawealth.co
