MCP Hub
Back to servers

expo-mcp-server

A comprehensive MCP server for managing Expo and React Native projects, enabling AI assistants to handle project setup, EAS builds, OTA updates, and store submissions directly.

Stars
3
Tools
16
Updated
Dec 12, 2025
Validated
Jan 11, 2026

Expo MCP Server

npm version License: MIT MCP

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:

CategoryCapabilities
Project SetupInitialize projects, install packages, configure apps, generate native code
Cloud BuildsTrigger iOS/Android builds, monitor progress, view logs, cancel builds
OTA UpdatesPublish updates to branches, manage channels, instant deployments
App SubmissionSubmit to App Store Connect and Google Play Console
DiagnosticsRun 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 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

  • 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 (OTA)

  • eas_update_publish — Publish over-the-air updates
  • eas_update_list — List published updates
  • eas_channel_create — Create update channels

EAS Submit

  • eas_submit_ios — Submit to App Store Connect/TestFlight
  • eas_submit_android — Submit to Google Play Console

Utilities

  • expo_doctor — Run project diagnostics
  • expo_whoami — Check authentication status
  • eas_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 tables
  • json — 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

Reviews

No reviews yet

Sign in to write a review