Unified MCP server for Mingdao — v1 collaboration API + HAP gateway (worksheets, records, apps)
Project description
mdymcp
一键安装
macOS / Linux
curl -LsSf https://raw.githubusercontent.com/andyleimc-source/mdymcp/main/install.sh | sh
Windows(PowerShell)
powershell -c "irm https://raw.githubusercontent.com/andyleimc-source/mdymcp/main/install.ps1 | iex"
脚本做三件事:
- 检测
uv,没装就从官方源装上(uv 会自己拉合适的 Python,你机器上是 3.14 / 3.9 还是没装都没关系) uv tool install mdymcp- 启动
mdymcp-install交互向导 —— 浏览器 OAuth 拿 v1 凭据 → 自动跳出 HAP 授权页拿 HAP token → 让你选范围(用户级/项目级/两个都要)+ 编号多选要注册的 IDE → 检测到 Claude Code 时自动安装 mdymcp skill(使用心智 + 故障 SOP)到~/.claude/skills/mdymcp/
配置写在 ~/.mdymcp/.env(Windows: %USERPROFILE%\.mdymcp\.env),跨目录都能用。
装完后想重跑:mdymcp-install
功能
明道(Mingdao)统一 MCP Server —— 一次安装,98 个工具:
- v1 协作 API(50 个,本地实现):动态 / 日程 / 私信 / 收件箱 / 群组 / 用户 / 组织 / 个人账户
- HAP 网关(48 个,透明代理
api2.mingdao.com/mcp):应用 / 工作表 / 记录 / 角色成员 / 工作流审批 / 图表 / 选项集 / 知识库 / 地区组织
HAP 工具由远端网关动态提供;具体参数 schema 以启动时 tools/list 返回的为准。
支持的 AI IDE
| IDE | 配置文件 | 支持范围 |
|---|---|---|
| Claude Code | ~/.claude.json(通过 claude mcp add) |
用户级 + 项目级 .mcp.json |
| Codex CLI | ~/.codex/config.toml |
用户级 |
| Cursor | ~/.cursor/mcp.json |
用户级 + 项目级 .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
用户级 |
| Gemini Antigravity | ~/.gemini/antigravity/mcp_config.json |
用户级 |
| Trae(含国内版 Trae CN) | mac: ~/Library/Application Support/Trae/User/mcp.jsonwin: %APPDATA%\Trae\User\mcp.jsonlinux: ~/.config/Trae/User/mcp.json |
用户级 |
| VS Code(Copilot Chat) | .vscode/mcp.json |
项目级 |
mdymcp-install 会自动检测已装的 IDE,范围 + 客户端两个问题你挑完即可。手动指定:mdymcp-install --client=cursor,windsurf,trae(--client=all 全装)。
Antigravity:写完后去 IDE 里「Manage MCP Servers → Refresh」一下才能看到 mdymcp。
Cursor / Windsurf / Trae / VS Code:通常需要重启 IDE 或在 MCP 设置里手动刷新。
怎么拿 HAP 的 PAT
mdymcp-install走到 HAP 步骤时会自动开浏览器到 PAT 页,复制粘贴即可。
PAT 页:https://www.mingdao.com/personal?type=pat
- 已登录 → 直接在页面生成/管理个人 PAT(
pat_开头)。 - 未登录 → 先登录,会自动跳回该页。
复制 pat_xxx,在向导提示 MD_HAP_PAT: 时粘进去即可。PAT 本身就是 Bearer token,长期有效、你自己可随时吊销重发,无需服务端交换。留空 = 跳过 HAP,只用 v1 工具。
架构与 Token
┌──────────────────────┐ stdio ┌──────────────────────────────┐
│ Claude Code / Cursor │──────▶│ mdymcp.server │
│ / Codex / Windsurf / │ ├──────────────────────────────┤
│ Antigravity / Trae / │ │ [静态注册] 50 个 v1 工具 │──┐
│ VS Code Copilot │ ├──────────────────────────────┤ │HTTP
└──────────────────────┘ │ [动态注册] HapGateway │──┤
│ 48 个 HAP 工具(透明代理) │ │
└──────────────────────────────┘ ▼
┌──────────────────────────────────────┐
│ api.mingdao.com/v1/* (v1 API) │
│ api2.mingdao.com/mcp (HAP gateway) │
└──────────────────────────────────────┘
| v1 access_token | HAP token | |
|---|---|---|
| install 时 | OAuth → MD_KEY 写入 .env |
粘 PAT → MD_HAP_PAT 写入 .env |
| 运行时 | 1 次请求:v1 token hook | 直接用 MD_HAP_PAT,无远端交换 |
| 缓存 TTL | 到本地次日 00:00 | 不需要(PAT 即 token) |
v1 每天首次调用拉一次 token、缓存到本地次日 00:00、不持久化。HAP 直接用 .env 里的 PAT 当 Bearer token。HAP 网关握手失败时不崩 server,仅跳过远端工具注册,v1 工具仍可用。
配置
~/.mdymcp/.env(或各 IDE 的 MCP JSON 里的 env 块):
# 必填:v1 协作 API
MD_ACCOUNT_ID=你的明道账号 UUID
MD_KEY=你的接入 key
# HAP 网关 PAT(在 https://www.mingdao.com/personal?type=pat 生成,pat_ 开头)
MD_HAP_PAT= # install 时粘贴;留空 = 跳过 HAP
# 可选(通常不用动)
# MD_HOOK_URL=<自部署 v1 token hook>
# MD_APP_KEY=<自定义 OAuth app_key>
# MD_REGISTER_URL=<自定义 v1 OAuth 注册 hook>
# MD_CALLBACK_PORT=8080
故障排查
| 现象 | 解决 |
|---|---|
command not found: uv |
重开终端;或 export PATH="$HOME/.local/bin:$PATH" |
| curl / irm 拉 astral.sh 失败 | 走代理;或从 https://github.com/astral-sh/uv/releases 下载 tarball 手动解压到 ~/.local/bin/ |
Windows 下 irm | iex 报执行策略错误 |
管理员 PowerShell:Set-ExecutionPolicy -Scope CurrentUser RemoteSigned |
Missing MD_ACCOUNT_ID or MD_KEY |
重跑 mdymcp-install |
缺 MD_HAP_PAT / PAT 无效或已过期 |
去 https://www.mingdao.com/personal?type=pat 重新生成 PAT,更新 .env 的 MD_HAP_PAT 或重跑 mdymcp-install |
| IDE 里看不到 mdymcp | 重启 IDE;或在 IDE 的 MCP 设置里点 Refresh。GUI 启动找不到 uvx 时改从终端启动 IDE(默认写绝对路径应该已规避这个) |
启动显示 HAP 网关工具 0 个 |
/mcp 握手失败(多半是网络);v1 工具不受影响 |
HAP 工具返回 Http Headers verification failed |
HAP 后端既有问题(Node 版也有),非 mdymcp bug |
API 参考
明道开放平台:https://open.mingdao.com/document
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mdymcp-0.3.0.tar.gz.
File metadata
- Download URL: mdymcp-0.3.0.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
220663090f46fcfa0b0666912d547718446fdb921adec3f07fb68ed73c4207db
|
|
| MD5 |
3e65b046bc15d634cfa497681a17c723
|
|
| BLAKE2b-256 |
71935714688785f68f58524dfe78509abc9b4d9fcd3a10bb59fe00ac61dafc1e
|
File details
Details for the file mdymcp-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mdymcp-0.3.0-py3-none-any.whl
- Upload date:
- Size: 44.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74b46f74c46e5b559539dc79ce6033fc2caaf6127e47be04496cdba344591a7d
|
|
| MD5 |
e91f943ed01c941843d10c5c718d333d
|
|
| BLAKE2b-256 |
e3943c4df517861dbd58ee61973387a144ea4b09c196e957f93cc3b70fee5103
|