Expo

Your Expo and EAS project in natural language: up to date SDK docs, cloud builds (status, logs, trig

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
72%
Calidad de los nombres
81%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'expo_learn' description lacks action verben expo_learn
  • LOWTool 'connect' description lacks action verben connect

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,893Tokens (definiciones de herramientas)
~723 BTamaño de respuesta típico
Impacto significativo en la atención (3.04% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "expo-mcp": {
      "url": "https://api.mcp.ai/p_expo"
    }
  }
}

Puntos de conexión remotos

https://api.mcp.ai/p_expostreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (25)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡expo_add_library(projectRoot, libraryName)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "projectRoot": {
      "type": "string"
    },
    "libraryName": {
      "type": "string"
    }
  },
  "required": [
    "projectRoot",
    "libraryName"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_read_documentation(url, offset)

Fetch a single Expo documentation page and return its content as markdown. Returns up to ~5000 tokens per call. Use offset to paginate through long pages.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "offset": {
      "type": "number"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_search_documentation(query)

Search the official Expo documentation and return page URLs ranked by relevance for a user query. Use read_documentation to fetch the full content of specific pages, starting from the top.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_learn(topic)

Learn Expo how-to for a specific topic and remember it for future conversations. Use this to teach the assistant about specific Expo features or workflows.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "enum": [
        "expo-router"
      ]
    }
  },
  "required": [
    "topic"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡expo_workflow_create(action, projectRoot, fileName, workflowYaml)

Creates a new EAS workflow YAML file for Expo projects or fetches workflow syntax documentation. Use this when users want to create CI/CD workflows in .eas/workflows/ or need to learn EAS workflow syntax. After creating, use workflow_validate to validate the file.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "create",
        "learn"
      ]
    },
    "projectRoot": {
      "type": "string"
    },
    "fileName": {
      "type": "string"
    },
    "workflowYaml": {
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_workflow_info(workflowRunId)

Fetches detailed information about a specific EAS workflow run by ID. Use this to check the status, job results, errors, and artifacts of a workflow run. If workflow has multiple jobs, draw them in a diagram to show the dependencies between jobs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "workflowRunId": {
      "type": "string"
    }
  },
  "required": [
    "workflowRunId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_workflow_list(appId, appFullName, status, limit)

Lists recent EAS workflow runs for a project. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app").

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "ACTION_REQUIRED",
        "CANCELED",
        "FAILURE",
        "IN_PROGRESS",
        "NEW",
        "SUCCESS"
      ]
    },
    "limit": {
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_workflow_logs(workflowRunId, jobKey, sectionIndex, phase)

Fetches logs for a specific job in an EAS workflow run. Call without sectionIndex or phase to get a summary of log sections (phase names and line ranges); then call again with sectionIndex or phase to fetch that section.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "workflowRunId": {
      "type": "string"
    },
    "jobKey": {
      "type": "string"
    },
    "sectionIndex": {
      "type": "number"
    },
    "phase": {
      "type": "string"
    }
  },
  "required": [
    "workflowRunId",
    "jobKey"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪expo_workflow_run(appId, appFullName, fileName, gitRef)

Triggers an EAS workflow run from a git reference. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app"). The workflow file must exist at the specified git reference.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "fileName": {
      "type": "string"
    },
    "gitRef": {
      "type": "string"
    }
  },
  "required": [
    "fileName",
    "gitRef"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴expo_workflow_cancel(workflowRunId)

Cancels a running EAS workflow. Use workflow_info to get the workflow run ID.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "workflowRunId": {
      "type": "string"
    }
  },
  "required": [
    "workflowRunId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_workflow_validate(appId, appFullName, workflowYaml)

Validates EAS workflow YAML syntax and configuration. Use this after creating a workflow to ensure it is valid. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app").

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "workflowYaml": {
      "type": "string"
    }
  },
  "required": [
    "workflowYaml"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_build_list(appId, appFullName, platform, status, limit)

Lists EAS builds for a project. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app"). Use this to see recent builds, their status, and available artifacts.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "platform": {
      "type": "string",
      "enum": [
        "ANDROID",
        "IOS"
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "CANCELED",
        "ERRORED",
        "FINISHED",
        "IN_PROGRESS",
        "IN_QUEUE",
        "NEW",
        "PENDING_CANCEL"
      ]
    },
    "limit": {
      "type": "number"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_build_info(buildId)

Fetches the status and detailed information about a specific EAS build by ID. Use this to check build status, errors, artifacts, and other details.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "string"
    }
  },
  "required": [
    "buildId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_build_logs(buildId)

Fetches the logs for a specific EAS build. The build must be completed (finished or errored) to have logs available.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "string"
    }
  },
  "required": [
    "buildId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡expo_build_submit(appId, appFullName, buildId, platform, track, ...)

Submits an EAS build to the app store (Google Play Store for Android, App Store for iOS). The build must be a finished build with the appropriate distribution type. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app").

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "buildId": {
      "type": "string"
    },
    "platform": {
      "type": "string",
      "enum": [
        "ANDROID",
        "IOS"
      ]
    },
    "track": {
      "type": "string"
    },
    "ascAppIdentifier": {
      "type": "string"
    }
  },
  "required": [
    "buildId",
    "platform"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪expo_build_run(appId, appFullName, platform, buildProfile, gitRef, ...)

Triggers a new EAS build using a build profile from eas.json. Requires a GitHub repository to be connected to the project. Provide either appId (from app.json "extra.eas.projectId") OR appFullName (e.g., "@owner/my-app").

Esquema de entrada

{
  "type": "object",
  "properties": {
    "appId": {
      "type": "string"
    },
    "appFullName": {
      "type": "string"
    },
    "platform": {
      "type": "string",
      "enum": [
        "ANDROID",
        "IOS"
      ]
    },
    "buildProfile": {
      "type": "string"
    },
    "gitRef": {
      "type": "string"
    },
    "baseDirectory": {
      "type": "string"
    },
    "autoSubmit": {
      "type": "boolean"
    },
    "submitProfile": {
      "type": "string"
    }
  },
  "required": [
    "platform",
    "buildProfile",
    "gitRef"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴expo_build_cancel(buildId)

Cancels an EAS build that is queued or in progress. Use build_info to check the current status first.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "buildId": {
      "type": "string"
    }
  },
  "required": [
    "buildId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_testflight_crashes(bundleId, crashId, limit)

Fetch TestFlight crash data. Without crashId, lists recent crashes. With crashId, returns the full crash log with stack trace.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "bundleId": {
      "type": "string"
    },
    "crashId": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  },
  "required": [
    "bundleId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢expo_testflight_feedback(bundleId, limit)

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

Esquema de entrada

{
  "type": "object",
  "properties": {
    "bundleId": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  },
  "required": [
    "bundleId"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢show_version

Show the current MCP platform and adapter versions.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡report_bug(message, context, conversation)

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    },
    "context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    }
  },
  "required": [
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢connect

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢toolkit_info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡marketplace(action, query, mcp_id, limit, tier_slug, ...)

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "default": "search",
      "type": "string",
      "enum": [
        "search",
        "describe",
        "install",
        "uninstall",
        "subscribe",
        "cancel",
        "resume",
        "report_bug",
        "request_mcp",
        "list_tools",
        "invoke",
        "search_prompts",
        "get_prompt",
        "publish_prompt"
      ]
    },
    "query": {
      "default": "",
      "type": "string"
    },
    "mcp_id": {
      "default": "",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "type": "number"
    },
    "tier_slug": {
      "default": "",
      "type": "string"
    },
    "immediate": {
      "default": false,
      "type": "boolean"
    },
    "cancel_reason": {
      "type": "string",
      "enum": [
        "too_expensive",
        "missing_features",
        "switched_service",
        "unused",
        "customer_service",
        "too_complex",
        "low_quality",
        "other"
      ]
    },
    "cancel_comment": {
      "default": "",
      "type": "string"
    },
    "message": {
      "default": "",
      "type": "string"
    },
    "report_context": {
      "default": "",
      "type": "string"
    },
    "conversation": {
      "default": "[]",
      "type": "string"
    },
    "request_name": {
      "default": "",
      "type": "string"
    },
    "request_details": {
      "default": "",
      "type": "string"
    },
    "tool_id": {
      "default": "",
      "type": "string"
    },
    "arguments": {
      "default": "{}",
      "type": "string"
    },
    "prompt_slug": {
      "default": "",
      "type": "string"
    },
    "prompt_vars": {
      "default": "{}",
      "type": "string"
    },
    "prompt_category": {
      "default": "",
      "type": "string"
    },
    "prompt_tool": {
      "default": "",
      "type": "string"
    },
    "prompt_title": {
      "default": "",
      "type": "string"
    },
    "prompt_description": {
      "default": "",
      "type": "string"
    },
    "prompt_body": {
      "default": "",
      "type": "string"
    },
    "prompt_targets": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "claude",
          "chatgpt",
          "cursor",
          "lovable"
        ]
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡authenticate(token)

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "token": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada25 herramientas
verificadoversión no registrada25 herramientas