REPLIT · DEVELOPER
Replit apps through Replit’s own remote MCP server, per user.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
replit_apps_ask_questionREADAsk Replit Agent a natural-language question about one of the user's Replit Apps WITHOUT changing it — how routing works, why a request fails, where a bug might be. Use this for explanation, debugging help and inspection; use replit_apps_update_app_using_prompt when the user wants the app's behaviour changed. Returns `phase` plus Agent's answer: `paused` means it answered, `busy` means Agent was already working and the question was NOT submitted, so retry later. The question is visible to the user inside their own Replit App.
replit_apps_create_app_from_promptWRITECreate a NEW Replit App from a natural-language description; Replit Agent builds, hosts and runs it. Additive — it leaves every existing app untouched, which is why it is not marked destructive. Returns the new app's `replId`. Describe intent in natural language only: implementation is Agent's job, not the caller's.
replit_apps_get_publish_statusREADCheck the progress of a publish started by replit_apps_publish_app. Publishing is asynchronous, so this is how to tell whether the app is live yet.
replit_apps_list_appsREADList the user's Replit Apps, most recently updated first. START HERE: each app carries the `replId` UUID that replit_apps_ask_question, replit_apps_update_app_using_prompt, replit_apps_publish_app and replit_apps_get_publish_status all require — none of them accepts an app name, and a replId must never be guessed.
replit_apps_publish_appWRITEDESTRUCTIVE — publish a Replit App, making it reachable by anyone on the public internet. The exposure is OUTWARD and one-way in practice: unpublishing later does not retract what was fetched, indexed, screenshotted or archived while it was live. Confirm the user wants the app public before calling. Some app kinds still need their FIRST publish done from replit.com, and Replit says so in the result rather than failing. Poll replit_apps_get_publish_status for progress.
replit_apps_resolve_app_by_nameREADResolve one Replit App by its EXACT title and return its `replId`. Replit compares case-insensitively but exactly: substrings, prefixes and fuzzy matches do NOT resolve. If the user's wording might not be the literal title, use replit_apps_search_apps instead.
replit_apps_search_appsREADSearch the user's Replit Apps by keywords (ranked against app titles), or resolve one directly from its Replit URL. Use this rather than replit_apps_resolve_app_by_name when the name is approximate: resolve_app_by_name requires an exact title. Returns each app's `replId`.
replit_apps_update_app_using_promptWRITEDESTRUCTIVE — have Replit Agent CHANGE an existing Replit App. Agent rewrites the app's code in place and Agentic Fabriq cannot restore the previous version; Replit's own tool annotation marks this destructive too. Use replit_apps_ask_question when the user only wants to understand the app rather than change it. Describe the change in natural language only — no code, no file paths, no implementation guidance.
Put Replit behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.