Supports creation and management of cloud builds for Android platform through EAS Build, including native project generation and build monitoring.
Allows submission of iOS builds to App Store Connect and TestFlight through EAS Submit integration.
Enables programmatic interaction with Expo projects and EAS (Expo Application Services), including project initialization, package management, cloud builds, over-the-air updates, and app submissions to stores.
Enables submission of Android builds to Google Play Console through EAS Submit integration.
Supports creation and management of cloud builds for iOS platform through EAS Build, including native project generation and build monitoring.
Provides access to React Native documentation and troubleshooting guides for managing React Native projects through Expo.
Expo MCP Server
Model Context Protocol (MCP) server for Expo.dev that enables programmatic interaction with Expo projects and EAS (Expo Application Services).
Overview
This MCP server provides comprehensive tools for managing Expo/React Native projects, including:
Project Management: Initialize projects, install packages, configure apps
Development Workflow: Run diagnostics and health checks
EAS Build: Create, monitor, and manage cloud builds for iOS and Android
EAS Update: Publish over-the-air updates and manage update channels
EAS Submit: Submit builds to App Store and Google Play
Documentation Access: Direct links to official Expo and React Native documentation
Features
Tools
Project Management:
expo_init_project- Create new Expo projects with templatesexpo_install_packages- Install packages with automatic version validationexpo_get_config- View and validate app configurationexpo_prebuild- Generate native iOS/Android project directories
Development:
expo_doctor- Run comprehensive project diagnostics
EAS Build:
eas_build_create- Trigger cloud builds for iOS, Android, or botheas_build_list- List recent builds with filteringeas_build_status- Get detailed build status and logseas_build_cancel- Cancel in-progress builds
EAS Update (OTA):
eas_update_publish- Publish over-the-air updates to branches/channelseas_update_list- List published updateseas_channel_create- Create update channels for distribution
EAS Submit:
eas_submit_ios- Submit iOS builds to App Store Connect/TestFlighteas_submit_android- Submit Android builds to Google Play Console
Information:
expo_whoami- Check authentication statuseas_project_info- Get EAS project configuration and metadata
Resources
The server exposes documentation resources that link to official Expo and React Native docs:
Expo Documentation:
expo://docs/llms- Complete Expo documentation (LLM-optimized)expo://docs/eas-build- EAS Build guideexpo://docs/eas-update- EAS Update guideexpo://docs/eas-submit- EAS Submit guideexpo://docs/cli-reference- Expo CLI referenceexpo://docs/development-builds- Development builds guideexpo://docs/programmatic-access- Authentication and API accessexpo://docs/config-plugins- Config plugins guideexpo://docs/debugging- Debugging guide
React Native Documentation:
expo://docs/react-native/llms- React Native docs (LLM-optimized)expo://docs/react-native/troubleshooting- Troubleshooting guideexpo://docs/react-native/debugging- Debugging guide
Installation
Using Smithery (Recommended)
From Source
Configuration
Authentication
The server requires an Expo access token for EAS operations. You can provide it in two ways:
Environment Variable (recommended):
Server Configuration:
To create an access token:
Visit https://expo.dev/settings/access-tokens
Create a new token
Set it as
EXPO_TOKENenvironment variable
MCP Client Configuration
Add to your MCP client settings (e.g., Claude Code):
Usage Examples
Create a New Expo Project
Trigger a Production Build
Publish an OTA Update
Check Build Status
Output Formats
All tools support two output formats:
markdown(default): Human-readable tables and formatted textjson: Structured data for programmatic processing
Error Handling
The server provides actionable error messages with:
Clear descriptions of what went wrong
Suggested next steps for resolution
Links to relevant documentation resources
Context-specific troubleshooting guidance
Common errors include:
Authentication errors: Points to programmatic access documentation
Build failures: Links to EAS Build troubleshooting
Configuration errors: Suggests config validation steps
React Native errors: Links to RN troubleshooting guides
Requirements
Node.js: 18.0.0 or higher
Expo Account: Required for EAS operations
Access Token: For programmatic API access
Development
Architecture
The server is built with:
TypeScript: Type-safe implementation
MCP SDK: Official Model Context Protocol SDK
Zod: Runtime schema validation
execa: CLI command execution
Project Structure
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Resources
Support
For issues and questions:
GitHub Issues: [Create an issue]
Expo Forums: https://forums.expo.dev/
Expo Discord: https://chat.expo.dev/