home / mcp / expo mcp server

Expo MCP Server

Model Context Protocol server for Expo.dev - enables programmatic interaction with Expo projects and EAS services

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "caullenomdahl-expo-mcp-server": {
      "url": "https://mcp.example.com/mcp",
      "headers": {
        "EXPO_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

You can use the Expo MCP Server to programmatically manage Expo and EAS workflows through AI assistants, enabling project setup, cloud builds, OTA updates, app submissions, and health checks from a single MCP Endpoint or local process.

How to use

You interact with the MCP server through an MCP client that exposes a set of labeled actions. These actions span project creation, package management, configuration validation, native code generation, triggering cloud builds, publishing OTA updates, submitting builds to app stores, and running diagnostics. You can combine actions to automate end-to-end workflows, such as initializing a project, prebuilding native directories, kicking off a mobile build, publishing an update to a channel, and submitting the latest build for review.

How to install

Prerequisites you need before installing and using the MCP server are a Node.js runtime and a valid Expo account with an access token.

# Install the MCP server client via Smithery (recommended single command setup)
npx @smithery/cli install expo-mcp-server

# Or add to your MCP configuration using the example below
```
```json
{
  "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.

Configuration and usage notes

The MCP server supports a collection of tools that map to Expo and EAS workflows. You can run them via an MCP client to perform project setup, builds, updates, and submissions. The server exposes documentation resources for quick reference, and you can monitor build progress, view logs, and cancel builds when needed.

Examples of common workflows

Build my app for both platforms: trigger cloud builds for iOS and Android in production profile.

Push a hotfix to production: publish an OTA update to the production channel with a descriptive message.

Submit the latest build to TestFlight: submit iOS build metadata to App Store Connect for review.

Available tools

expo_init_project

Create new Expo projects with templates.

expo_install_packages

Install packages with version validation.

expo_get_config

View and validate app configuration.

expo_prebuild

Generate native iOS/Android directories.

eas_build_create

Trigger cloud builds (iOS, Android, or both).

eas_build_list

List builds with filtering.

eas_build_status

Get build status and logs.

eas_build_cancel

Cancel in-progress builds.

eas_update_publish

Publish over-the-air updates.

eas_update_list

List published updates.

eas_channel_create

Create update channels.

eas_submit_ios

Submit to App Store Connect/TestFlight.

eas_submit_android

Submit to Google Play Console.

expo_doctor

Run project diagnostics.

expo_whoami

Check authentication status.

eas_project_info

Get EAS project metadata.