Expo MCP Server

Developmenthttp-streamingv1.0.0
Repository

Official Expo MCP server that connects AI coding assistants to Expo projects and EAS services. Enables searching and reading Expo documentation, managing EAS builds and workflows, installing compatible libraries, inspecting TestFlight crashes and feedback, and automating visual verification through simulator screenshots and interactions. Supports both remote server capabilities and local development server features for advanced automation.

Connect

Add this configuration to .claude/mcp.json

{
  "mcpServers": {
    "expo": {
      "url": "https://github.com/expo/expo",
      "env": {
        "EXPO_TOKEN": "<YOUR_EXPO_TOKEN>"
      }
    }
  }
}

Tools (13)

search_documentation

Search the official Expo documentation and return page URLs ranked by relevance for a user query.

{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query for Expo documentation"
    }
  }
}

read_documentation

Fetch a single Expo documentation page and return its content as markdown. Returns up to ~5000 tokens per call with offset-based pagination.

{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "URL of the Expo documentation page to read"
    },
    "offset": {
      "type": "integer",
      "description": "Offset for paginating through long pages"
    }
  }
}

add_library

Add an Expo library to the project using expo install and attach usage instructions when available.

{
  "type": "object",
  "required": [
    "library"
  ],
  "properties": {
    "library": {
      "type": "string",
      "description": "Library name to install"
    }
  }
}

learn

Learn Expo how-to for a specific topic and remember it for future conversations.

{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "description": "Topic to learn about"
    }
  }
}

build_list

Lists EAS builds for a project with status and available artifacts.

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "App ID from app.json extra.eas.projectId"
    },
    "appFullName": {
      "type": "string",
      "description": "Full app name (e.g. @owner/my-app)"
    }
  }
}

build_info

Fetches status and detailed information about a specific EAS build by ID.

{
  "type": "object",
  "required": [
    "buildId"
  ],
  "properties": {
    "buildId": {
      "type": "string",
      "description": "EAS build ID"
    }
  }
}

build_logs

Fetches the logs for a specific completed EAS build.

{
  "type": "object",
  "required": [
    "buildId"
  ],
  "properties": {
    "buildId": {
      "type": "string",
      "description": "EAS build ID"
    }
  }
}

workflow_create

Creates a new EAS workflow YAML file for Expo projects or fetches workflow syntax documentation.

{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "description": {
      "type": "string",
      "description": "Description of the workflow to create"
    }
  }
}

workflow_run

Triggers an EAS workflow run from a git reference.

{
  "type": "object",
  "required": [
    "workflowFile"
  ],
  "properties": {
    "appId": {
      "type": "string",
      "description": "App ID from app.json extra.eas.projectId"
    },
    "gitRef": {
      "type": "string",
      "description": "Git reference to run from"
    },
    "workflowFile": {
      "type": "string",
      "description": "Path to the workflow file"
    }
  }
}

testflight_crashes

Fetch TestFlight crash data. Lists recent crashes or returns full crash log with stack trace for a specific crash ID.

{
  "type": "object",
  "properties": {
    "crashId": {
      "type": "string",
      "description": "Optional crash ID for detailed crash log"
    }
  }
}

testflight_feedback

Fetch screenshot feedback from TestFlight including device info, user comments, and screenshot URLs.

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string",
      "description": "App ID to fetch feedback for"
    }
  }
}

automation_take_screenshot

Take screenshot of the full app or a specific view by react-native testID. Requires local development server.

{
  "type": "object",
  "properties": {
    "testID": {
      "type": "string",
      "description": "Optional testID to screenshot a specific view"
    }
  }
}

automation_tap

Tap on the device at given coordinates or by react-native testID. Requires local development server.

{
  "type": "object",
  "properties": {
    "x": {
      "type": "number",
      "description": "X coordinate to tap"
    },
    "y": {
      "type": "number",
      "description": "Y coordinate to tap"
    },
    "testID": {
      "type": "string",
      "description": "React Native testID to tap"
    }
  }
}

Resources

This server does not expose any resources.

Prompts

This server does not expose any prompts.

Server Information

Author
Expo (@expo)
Repository
https://github.com/expo/expo
License
MIT
Version
1.0.0
Stars
39,800
Last Updated
May 27, 2026