EaseCation User Center MCP Server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@EaseCation User Center MCP Serverget my account overview"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
EaseCation User Center MCP Server
面向 easecation-user-center 的现代 MCP Server,基于最新的 TypeScript SDK 设计思路实现,支持:
McpServer声明式工具注册structuredContent + outputSchematool annotations(只读/副作用提示)
stdio与Streamable HTTP双 transport管理员态
admin_*工具用户态
me_*工具,适合个人 agent 服务
核心定位
这个仓库不是简单把 UC 后端接口“裸转发”成 MCP。
它做了三层整理:
把管理员态和用户态分开,避免权限语义混乱。
把返回值统一成结构化 MCP 输出,便于 agent 稳定消费。
提供几个面向 agent 的聚合工具,例如:
me_get_account_overviewme_get_ecid_overviewadmin_get_player_snapshot
Related MCP server: mcpdeployment
环境要求
Node.js 18+
推荐 Node.js 22+
安装
npm install配置
复制环境变量模板:
cp .env.example .env常用配置项
EC_API_BASE_URL默认http://127.0.0.1:9000,真实环境建议显式设置成 UC 后端域名EC_ENABLE_ADMIN_TOOLS是否启用管理员态工具EC_ENABLE_USER_TOOLS是否启用用户态工具EC_ADMIN_JWT_TOKEN管理员 access tokenEC_ADMIN_REFRESH_TOKEN管理员 refresh token。配置后会在 access token 失效时自动续期EC_USER_JWT_TOKEN用户 access tokenEC_USER_REFRESH_TOKEN用户 refresh token。配置后会在 access token 失效时自动续期MCP_TRANSPORTstdio或streamable-httpMCP_HTTP_BEARER_TOKEN远程streamable-http入口的 Bearer Token。只要把真实 UC token 部署到云端,就应该同时配置它
本地联调
对接真实 UC 后端
把 .env 改成真实环境:
EC_API_BASE_URL=https://my.easecation.net/api
EC_ENABLE_ADMIN_TOOLS=true
EC_ENABLE_USER_TOOLS=true
EC_ADMIN_JWT_TOKEN=your-real-admin-access-token
EC_ADMIN_REFRESH_TOKEN=your-real-admin-refresh-token
EC_USER_JWT_TOKEN=your-real-user-access-token
EC_USER_REFRESH_TOKEN=your-real-user-refresh-token
MCP_TRANSPORT=stdio推荐同时配置 access token 和 refresh token。当前端 JWT 只有 5 分钟有效期时,MCP 会在遇到 401 或 EPF_code=8003 时自动调用 /user/refresh,刷新后重试一次原请求。
启动
stdio 模式
npm startStreamable HTTP 模式
MCP_TRANSPORT=streamable-http
MCP_HTTP_HOST=127.0.0.1
MCP_HTTP_PORT=3100
MCP_HTTP_PATH=/mcp
MCP_HTTP_BEARER_TOKEN=replace-with-a-random-secretnpm start默认监听:
http://127.0.0.1:3100/mcp同时提供:
GET /healthzGET /
适合反向代理、函数计算健康检查和部署后探活。
如果配置了 MCP_HTTP_BEARER_TOKEN,只有带 Authorization: Bearer <token> 或 X-Mcp-Bearer-Token: <token> 的请求才能访问 POST /mcp。GET /healthz 与 GET / 仍然保持开放,便于探活。
Claude Desktop 配置
{
"mcpServers": {
"ec-usercenter": {
"command": "node",
"args": ["/absolute/path/to/ec-usercenter-mcp-server/src/index.js"],
"env": {
"EC_API_BASE_URL": "http://127.0.0.1:9000",
"EC_ENABLE_ADMIN_TOOLS": "true",
"EC_ENABLE_USER_TOOLS": "true",
"EC_ADMIN_JWT_TOKEN": "your-admin-access-token",
"EC_ADMIN_REFRESH_TOKEN": "your-admin-refresh-token",
"EC_USER_JWT_TOKEN": "your-user-access-token",
"EC_USER_REFRESH_TOKEN": "your-user-refresh-token",
"MCP_TRANSPORT": "stdio"
}
}
}
}主要工具
用户态 me_*
me_get_current_userme_list_ecidsme_get_account_overviewme_get_ecid_detailme_get_binding_infome_get_email_securityme_get_ticket_listme_get_ticket_countme_get_ticket_detailme_get_ticket_choicesme_get_admin_recruitment_timeme_search_playersme_get_scoretopme_get_vip_gift_statusme_get_console_player_urlme_get_year_summaryme_get_ticket_creation_contextme_get_ecid_overview
管理员态 admin_*
admin_get_current_useradmin_check_staff_permissionadmin_query_ticketsadmin_get_ticket_detailadmin_get_ticket_countadmin_get_my_ticketsadmin_get_ticket_ai_replyadmin_assign_ticketadmin_search_playersadmin_get_player_basicadmin_get_player_infoadmin_get_player_ticketsadmin_get_player_logsadmin_get_player_bansadmin_get_player_chat_historyadmin_get_player_auth_historyadmin_get_player_exchange_logadmin_get_player_recording_historyadmin_get_player_merchandiseadmin_get_player_tasksadmin_get_player_snapshot
MCP 资源
ec-usercenter://capabilities
用于查看当前启用的模式、工具列表和后端地址。
脚本
npm test
npm run smoke
npm run fc:plan
npm run fc:deploy
npm run fc:info
npm run fc:smoke:mcp -- --url https://example.com --bearer your-shared-tokennpm run smoke 适合在你已经配置好真实 .env 后做快速连通性探测。
部署
目标形态
仓库内置了面向阿里云 Function Compute 3.0 的 Streamable HTTP 部署方案:
s.yaml:生产环境
设计上和 easecation-user-center 一致,走 GitHub Actions + Serverless Devs;但实现比 user-center 更轻,没有拆 OSS/CDN/后端三段流水线,而是单函数直发。
当前 FC 模板使用 custom.debian10。按阿里云官方文档要求,模板已显式把 /var/fc/lang/nodejs20/bin 注入 PATH,这样实例内可以直接执行 npm start。
本机手动部署
要求:
已安装并配置
aliyunCLI有可用的阿里云 AK
本地
.env已准备好 UC token / refresh token
安装 Serverless Devs:
npm install -g @serverless-devs/s配置 access:
s config add --AccessKeyID <ak> --AccessKeySecret <sk> --region cn-hangzhou -f -a default部署前建议先看计划:
npm run fc:plan部署:
npm run fc:deploy查看云端信息:
npm run fc:info
aliyun fc GetFunction --region cn-hangzhou --functionName ec-usercenter-mcp-server
aliyun fc ListTriggers --region cn-hangzhou --functionName ec-usercenter-mcp-server如果生产部署里启用了真实 admin_* 或 me_* 工具,强烈建议同时设置 MCP_HTTP_BEARER_TOKEN,否则等于把带权限的 MCP 公网暴露出去。
GitHub Actions
仓库现在的 GitHub Actions 入口有 2 条 workflow:
.github/workflows/quality-check.yml.github/workflows/deploy-fc.yml
其中生产部署复用:
.github/workflows/reusable-fc-deploy.yml
生产环境 workflow 默认改成手动触发。和 user-center 不同,这个 MCP 服务会持有真实 UC token,所以不建议把 push main 直接绑定到生产部署。
部署 workflow 会做这些事:
npm cinpm tests plans deploys infoaliyun fc GetFunction / ListTriggers调用
GET /healthz做远程探活调用 MCP
resources/read/tools/list做远程协议探活
GitHub Environment / Secrets
建议在 GitHub 里创建一个 Environment:
production
每个环境至少配置这些 secrets:
ALIYUN_ACCESS_KEY_IDALIYUN_ACCESS_KEY_SECRETMCP_HTTP_BEARER_TOKENEC_ADMIN_JWT_TOKEN或EC_ADMIN_REFRESH_TOKENEC_USER_JWT_TOKEN或EC_USER_REFRESH_TOKEN
可选:
FEISHU_WEBHOOK
说明:
workflow 会根据 secrets 是否存在,自动决定是否启用
admin_*/me_*工具只要启用了
admin_*或me_*远程工具,workflow 会强制要求MCP_HTTP_BEARER_TOKEN生产 workflow 默认连
https://my.easecation.net/api不要把真实 token 写进仓库文件,只放 GitHub Environment secrets 或本地
.env
设计说明
返回结果统一为:
structuredContentcontent
读取类工具会带
readOnlyHintadmin_assign_ticket明确标记为有副作用工具工具名称显式区分
admin_*和me_*,避免权限混淆
后续建议
如果你还要继续扩展个人 agent 能力,建议下一步优先补这几类聚合工具:
me_get_ticket_snapshotme_get_media_profileme_get_security_overviewadmin_get_ticket_snapshot
This server cannot be deployed
Maintenance
Related MCP Connectors
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP server providing tools for user information management with capabilities for retrieving, searching, and adding user data stored in a JSON file.62-
- FlicenseCqualityDmaintenanceMCP server that enables deployment and management of MCP servers through a simple configuration-based interface.1-
- AlicenseNot gradedqualityBmaintenanceUnified MCP server for ArcGIS Online and Enterprise providing tools for user/group management, item management, geoprocessing, feature layer queries/editing, and server administration.2MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server with HTTP/stdio support, a web admin panel for managing services, capabilities, and user permissions with Bearer token authentication, enabling relay and access control for MCP tools.-