Skip to main content
Glama

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:

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 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

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/CaullenOmdahl/expo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server