{"name":"io.github.mcp-dir/expo-mcp","slug":"mcp-dir-expo-mcp","title":"Expo","description":"Your Expo and EAS project in natural language: up to date SDK docs, cloud builds (status, logs, trig","url":"https://mcp.market/server/mcp-dir-expo-mcp","rating":null,"grade":"B","score":79,"certified":false,"status":"active","category":"productivity","tags":["productivity"],"presence":{"score":15,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-08-30T19:45:12.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T07:55:25.450Z","last_ok_at":"2026-11-04T07:55:25.450Z","latency_ms":114},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/mcp-dir/expo-mcp","website":null,"version":"0.1.0","remotes":[{"type":"streamable-http","url":"https://api.mcp.ai/p_expo"}],"packages":[],"tools":[{"name":"authenticate","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"connect","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_add_library","description":"Add an Expo library to the project using expo install and attach usage instructions when available","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"projectRoot":{"type":"string"},"libraryName":{"type":"string"}},"required":["projectRoot","libraryName"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_build_cancel","description":"Cancels an EAS build that is queued or in progress. Use build_info to check the current status first.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"buildId":{"type":"string"}},"required":["buildId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"buildId":{"type":"string"}},"required":["buildId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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.","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_build_logs","description":"Fetches the logs for a specific EAS build. The build must be completed (finished or errored) to have logs available.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"buildId":{"type":"string"}},"required":["buildId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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.g., \"@owner/my-app\").","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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 \"extra.eas.projectId\") OR appFullName (e.g., \"@owner/my-app\").","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"topic":{"type":"string","enum":["expo-router"]}},"required":["topic"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string"},"offset":{"type":"number"}},"required":["url"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string"}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_testflight_crashes","description":"Fetch TestFlight crash data. Without crashId, lists recent crashes. With crashId, returns the full crash log with stack trace.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"bundleId":{"type":"string"},"crashId":{"type":"string"},"limit":{"type":"number"}},"required":["bundleId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_testflight_feedback","description":"Fetch screenshot feedback from TestFlight. Returns feedback metadata including device info, user comments, and screenshot URLs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"bundleId":{"type":"string"},"limit":{"type":"number"}},"required":["bundleId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_workflow_cancel","description":"Cancels a running EAS workflow. Use workflow_info to get the workflow run ID.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"workflowRunId":{"type":"string"}},"required":["workflowRunId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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 syntax. After creating, use workflow_validate to validate the file.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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 diagram to show the dependencies between jobs.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"workflowRunId":{"type":"string"}},"required":["workflowRunId"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"expo_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\").","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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 fetch that section.","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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 reference.","write_action":true,"price_micros":0,"input_schema":{"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#"}},{"name":"expo_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/my-app\").","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"appId":{"type":"string"},"appFullName":{"type":"string"},"workflowYaml":{"type":"string"}},"required":["workflowYaml"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"marketplace","description":"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.","write_action":false,"price_micros":0,"input_schema":{"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#"}},{"name":"report_bug","description":"Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"message":{"type":"string"},"context":{"default":"","type":"string"},"conversation":{"default":"[]","type":"string"}},"required":["message"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"show_version","description":"Show the current MCP platform and adapter versions.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"toolkit_info","description":"Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":79,"grade":"B","scanned_at":"2026-11-01T22:10:34.514Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-01T22:10:34.437Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 1204ms"]},"poisoning":{"score":15,"max":15,"notes":["25 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 6 write-action tools with no auth"]},"maintenance":{"score":12,"max":15,"notes":["last push 63 days ago"]},"identity":{"score":9,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://api.mcp.ai/p_expo","reachable":true,"authRequired":false,"latencyMs":1204,"serverInfo":{"name":"mcp-ai","version":"0.9.398"}}],"packages":[],"repo":{"found":true,"owner":"mcp-dir","repo":"expo-mcp","archived":false,"pushedAt":"2026-08-30T19:45:12Z","stars":0,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/207912538?v=4","ownerCreatedAt":"2025-04-16T18:01:51Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-08-30T19:45:12.000Z","score":15}}}},"grade_history":[],"reviews":[]}