{
  "info": {
    "name": "Expo — mcp.ai",
    "description": "REST API for the Expo MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/expo",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "expo_add_library",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/add/library",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "add",
            "library"
          ]
        },
        "description": "Add an Expo library to the project using expo install and attach usage instructions when available",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"projectRoot\": \"\",\n  \"libraryName\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_cancel",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/cancel",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "cancel"
          ]
        },
        "description": "Cancels an EAS build that is queued or in progress. Use build_info to check the current status first.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"buildId\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_info",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/info",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "info"
          ]
        },
        "description": "Fetches the status and detailed information about a specific EAS build by ID. Use this to check build status, errors, artifacts, and other details.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"buildId\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "list"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"platform\": \"\",\n  \"status\": \"\",\n  \"limit\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_logs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/logs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "logs"
          ]
        },
        "description": "Fetches the logs for a specific EAS build. The build must be completed (finished or errored) to have logs available.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"buildId\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_run",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/run",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "run"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"platform\": \"\",\n  \"buildProfile\": \"\",\n  \"gitRef\": \"\",\n  \"baseDirectory\": \"\",\n  \"autoSubmit\": false,\n  \"submitProfile\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_build_submit",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/build/submit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "build",
            "submit"
          ]
        },
        "description": "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",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"buildId\": \"\",\n  \"platform\": \"\",\n  \"track\": \"\",\n  \"ascAppIdentifier\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_learn",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/learn",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "learn"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"topic\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_read_documentation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/read/documentation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "read",
            "documentation"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"url\": \"\",\n  \"offset\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_search_documentation",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/search/documentation",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "search",
            "documentation"
          ]
        },
        "description": "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.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"query\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_testflight_crashes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/testflight/crashes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "testflight",
            "crashes"
          ]
        },
        "description": "Fetch TestFlight crash data. Without crashId, lists recent crashes. With crashId, returns the full crash log with stack trace.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"bundleId\": \"\",\n  \"crashId\": \"\",\n  \"limit\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_testflight_feedback",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/testflight/feedback",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "testflight",
            "feedback"
          ]
        },
        "description": "Fetch screenshot feedback from TestFlight. Returns feedback metadata including device info, user comments, and screenshot URLs.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"bundleId\": \"\",\n  \"limit\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_cancel",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/cancel",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "cancel"
          ]
        },
        "description": "Cancels a running EAS workflow. Use workflow_info to get the workflow run ID.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workflowRunId\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "create"
          ]
        },
        "description": "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 syn",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"action\": \"\",\n  \"projectRoot\": \"\",\n  \"fileName\": \"\",\n  \"workflowYaml\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_info",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/info",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "info"
          ]
        },
        "description": "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 ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workflowRunId\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_list",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "list"
          ]
        },
        "description": "Lists recent EAS workflow runs for a project. Provide either appId (from app.json \"extra.eas.projectId\") OR appFullName (e.g., \"@owner/my-app\").",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"status\": \"\",\n  \"limit\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_logs",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/logs",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "logs"
          ]
        },
        "description": "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",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workflowRunId\": \"\",\n  \"jobKey\": \"\",\n  \"sectionIndex\": 0,\n  \"phase\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_run",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/run",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "run"
          ]
        },
        "description": "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 ",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"fileName\": \"\",\n  \"gitRef\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "expo_workflow_validate",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/workflow/validate",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "workflow",
            "validate"
          ]
        },
        "description": "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",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"appId\": \"\",\n  \"appFullName\": \"\",\n  \"workflowYaml\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}