# Expo Mcp Server

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

- **Type:** MCP server
- **Install:** `agentstack add mcp-caullenomdahl-expo-mcp-server`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [CaullenOmdahl](https://agentstack.voostack.com/s/caullenomdahl)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [CaullenOmdahl](https://github.com/CaullenOmdahl)
- **Source:** https://github.com/CaullenOmdahl/expo-mcp-server

## Install

```sh
agentstack add mcp-caullenomdahl-expo-mcp-server
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Expo MCP Server

[](https://badge.fury.io/js/expo-mcp-server)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io/)

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

```bash
npx @smithery/cli install expo-mcp-server
```

### Or Add to MCP Config

```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](https://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

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

- [Expo Documentation](https://docs.expo.dev/)
- [EAS Documentation](https://docs.expo.dev/eas/)
- [Model Context Protocol](https://modelcontextprotocol.io/)
- [Smithery Registry](https://smithery.ai/)

## License

MIT

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [CaullenOmdahl](https://github.com/CaullenOmdahl)
- **Source:** [CaullenOmdahl/expo-mcp-server](https://github.com/CaullenOmdahl/expo-mcp-server)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-caullenomdahl-expo-mcp-server
- Seller: https://agentstack.voostack.com/s/caullenomdahl
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
