展览MCP Monorepo
Expo和EAS工作流的模型上下文协议(MCP)服务器功能。
此存储库包含:
packages/expo-mcp:世博会项目的MCP工具、提示和文档资源packages/mcp-tunnel:用于本地和远程MCP传输的stdio/隧道代理层expo-mcp-server.mjs:Codex/Claude MCP配置的动态启动器
它的作用
Expo MCP服务器使AI助手能够执行Expo和EAS操作:
| 类别 | 功能 |
|---|---|
| 项目设置 | 初始化项目、安装包、预构建本机文件夹、检查配置 |
| 云构建 | 创建/列出/查看/取消EAS构建 |
| OTA更新 | 发布/列出更新并创建频道 |
| 应用提交 | 提交iOS和Android版本 |
| 诊断 | 运行 expo doctor,检查身份验证,检查EAS项目元数据 |
| 文档访问 | 搜索/获取Expo文档并将文档作为MCP资源公开 |
需求
- Node.js
18+ - Bun(用于此monorepo中的本地开发脚本)
- 世博会账户
EXPO_TOKEN用于MCP工具中的帐户/EAS操作
- 创建令牌: expo.dev/设置/访问权限
快速开始
bun install
bun run buildMCP设置
使用动态启动器,这样就不需要手动启动服务器:
{
"mcpServers": {
"expo-mcp-demo": {
"command": "node",
"args": [
"D:/expo-mcp-demo/expo-mcp-server.mjs",
"--root",
"D:/expo-mcp-demo"
],
"env": {
"EXPO_TOKEN": "your_token_here"
}
}
}
}可选启动器标志/env:
--root/EXPO_PROJECT_ROOT:世博项目根--dev-server-url/EXPO_DEV_SERVER_URL:显式Metro URL--mcp-server-url/EXPO_MCP_SERVER_URL:隧道服务器URL
动态行为:
- 如果省略了开发服务器URL,启动器会自动检测本地Metro/Expo服务器。
- 如果存在隧道URL,服务器将以复合模式(stdio+隧道)运行。
- 否则,服务器仅作为stdio MCP运行。
工具
项目管理
expo_init_projectexpo_install_packagesexpo_get_configexpo_prebuild
EAS构建
eas_build_createeas_build_listeas_build_statuseas_build_cancel
EAS更新(OTA)
eas_update_publisheas_update_listeas_channel_create
EAS提交
eas_submit_ioseas_submit_android
公用事业
expo_doctorexpo_whoamieas_project_info
文档工具
expo_docs_listexpo_docs_searchexpo_docs_get
开发/自动化工具
open_devtoolscollect_app_logsexpo_router_sitemapautomation_tapautomation_take_screenshotautomation_find_view_by_testidautomation_find_viewautomation_tap_by_testidautomation_take_screenshot_by_testidautomation_swipeautomation_scrollautomation_type_textautomation_press_key
MCP资源
服务器公开的文档资源:
expo://docs/llmsexpo://docs/llms-fullexpo://docs/llms-easexpo://docs/llms-sdkexpo://docs/llms-sdk-v53.0.0expo://docs/llms-sdk-v52.0.0expo://docs/llms-sdk-v51.0.0expo://docs/eas-buildexpo://docs/eas-updateexpo://docs/eas-submitexpo://docs/cli-reference
输出格式
Expo/EAS工具支持:
markdown(默认)json
发展
根
bun run build
bun run lint
bun run test每包
cd packages/expo-mcp
bun run build
bun run lint
bun run test
bun run typecheck如何添加新工具
- 在中添加工具实现
packages/expo-mcp/src/mcp/tools/expo/*.ts或相关模块。 - 在中注册工具
packages/expo-mcp/src/mcp/tools.ts. - 如果工具需要文档参考,请更新
packages/expo-mcp/src/mcp/tools/expoDocs.ts. - 通过添加/更新输出模式和错误处理
expo-utils. - 运行:
- bun run typecheck 在 packages/expo-mcp - bun run build 在 packages/expo-mcp - bun run lint --max-warnings=0 在受影响的包裹中
依赖关系注释
- 运行时CLI执行使用
npx expo和npx eas-cli. - EAS命令要求
EXPO_TOKEN并在MCP环境中非交互式运行。 - 传输层支持换行JSON和
Content-LengthMCP兼容性框架。
故障排除
Authentication required for EAS commands:
- 集 EXPO_TOKEN 在MCP服务器环境中。
No dev server found:
- 启动地铁(npx expo start)或设置 EXPO_DEV_SERVER_URL.
- MCP启动/握手问题:
- 确保发射器指向 expo-mcp-server.mjs. - 重建已更改的包(bun run build).
许可证
麻省理工学院
