CaullenOmdahl/expo-mcp-server
If you are the rightful owner of expo-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Expo MCP Server facilitates programmatic interaction with Expo projects and EAS, providing tools for project management, development workflow, and cloud services.
Expo MCP Server
Model Context Protocol server for Expo.dev — programmatically manage Expo projects and EAS services through AI assistants like Claude.
What It Does
This MCP server gives AI assistants full control over Expo/React Native development workflows:
| Category | Capabilities |
|---|---|
| Project Setup | Initialize projects, install packages, configure apps, generate native code |
| Cloud Builds | Trigger iOS/Android builds, monitor progress, view logs, cancel builds |
| OTA Updates | Publish updates to branches, manage channels, instant deployments |
| App Submission | Submit to App Store Connect and Google Play Console |
| Diagnostics | Run health checks, validate configurations |
Quick Start
Install via Smithery
npx @smithery/cli install expo-mcp-server
Or Add to MCP Config
{
"mcpServers": {
"expo-dev": {
"command": "npx",
"args": ["-y", "expo-mcp-server"],
"env": {
"EXPO_TOKEN": "your_token_here"
}
}
}
}
Get your token at expo.dev/settings/access-tokens
Tools
Project Management
expo_init_project— Create new Expo projects with templatesexpo_install_packages— Install packages with version validationexpo_get_config— View and validate app configurationexpo_prebuild— Generate native iOS/Android directories
EAS Build
eas_build_create— Trigger cloud builds (iOS, Android, or both)eas_build_list— List builds with filteringeas_build_status— Get build status and logseas_build_cancel— Cancel in-progress builds
EAS Update (OTA)
eas_update_publish— Publish over-the-air updateseas_update_list— List published updateseas_channel_create— Create update channels
EAS Submit
eas_submit_ios— Submit to App Store Connect/TestFlighteas_submit_android— Submit to Google Play Console
Utilities
expo_doctor— Run project diagnosticsexpo_whoami— Check authentication statuseas_project_info— Get EAS project metadata
Resources
The server exposes documentation as MCP resources:
expo://docs/llms # Complete Expo docs (LLM-optimized)
expo://docs/eas-build # EAS Build guide
expo://docs/eas-update # EAS Update guide
expo://docs/eas-submit # EAS Submit guide
expo://docs/cli-reference # Expo CLI reference
Example Workflows
"Build my app for both platforms"
→ eas_build_create(platform: "all", profile: "production")
"Push a hotfix to production"
→ eas_update_publish(branch: "production", message: "Fix auth bug")
"Submit the latest build to TestFlight"
→ eas_submit_ios(buildId: "abc-123")
Output Formats
All tools support:
markdown(default) — Human-readable tablesjson— Structured data for processing
Development
git clone https://github.com/CaullenOmdahl/expo-mcp-server
cd expo-mcp-server
npm install
npm run build
npm run dev # Run with Smithery playground
Architecture
src/
├── index.ts # Server entry point
├── types.ts # Shared schemas
├── resources/ # Documentation resources
├── tools/ # Tool implementations
│ ├── project.ts # Project management
│ ├── build.ts # EAS Build
│ ├── update.ts # EAS Update
│ └── submit.ts # EAS Submit
└── utils/ # CLI execution, formatting
Built with TypeScript, MCP SDK, and Zod validation.
Requirements
- Node.js 18+
- Expo account with access token
Links
License
MIT