← Back to all apps

Replit

Codeby Replit
Launched Jul 24, 2026 on ChatGPTLaunched Jun 16, 2026 on Claude

Replit's MCP server lets users create, update, and manage full-stack web and mobile applications directly from Claude using natural language. Powered by Replit Agent, it transforms prompts into live, deployed apps — complete with databases, authentication, and custom domains. Users can iterate on their apps conversationally, ask the Agent questions about their project, and access a live preview URL as the app builds. No coding experience required. The server supports OAuth 2.0 authentication and Streamable HTTP transport, integrating seamlessly with Replit's cloud development platform.

11ChatGPT Tools
5Claude Tools
ReplitDeveloper
CodeCategory

Use Cases

code

Available Tools

Ask Replit Agent

ask_question
Full Description

Ask the Replit Agent a question in natural language about the user's Replit App's codebase or behavior without modifying it. Use this when the user wants explanation, debugging help, or inspection (for example, understanding how routing works, why a request is failing, or where a bug might be), and NOT when they are clearly asking you to change how their Replit App behaves — in that case, prefer update_app_using_prompt. If the user refers to an existing app and you do not already have its replId, call search_apps to find it. Do not guess a replId. The question should be written in the user's language and tone, as if you were the user, and it will be visible if they open their Replit App in Replit. The response you get back is natural language from the Replit Agent; summarize or quote it for the user as appropriate, still without showing raw code, file paths, or terminal commands in this chat. From the user's perspective, combined with create_app_from_prompt, search_apps, and update_app_using_prompt, this tool is what lets them simply chat ("create or find → inspect/ask → update → repeat") without needing to know about the underlying tools.

Parameters (2 required, 1 optional)
Required
questionstring

The question to send to Replit Agent. This question will be visible by the user if they open their Replit App in Replit, so try to keep it in the same language that the user communicated in with you.

replIdstring

The replId (a UUID) of the user's Replit App being queried. Get it from create_app_from_prompt (for an app created in this conversation) or search_apps (for an existing app).

Optional
policy

Ignored. Don't waste tokens sending this.

Create Replit app

create_app_from_prompt
Full Description

Create a brand-new Replit App for the user. Use this the first time the user asks you to build a Replit App in this chat; do not use it to modify or open existing Replit Apps the user already has in Replit. After invoking this tool, reply with one short sentence summarizing that Replit is now creating their Replit App, and, when the tool result contains an app URL, end your reply with that exact URL on its own line, so the user can open their Replit App even if no preview card is rendered. Never construct or guess a URL yourself. Your reply must not include source code, markup, configuration files, file paths, or command/terminal snippets—even if the user asks. Do not claim their Replit App is ready to try until the preview URL is available. If the user asks for HTML/CSS/JS or any other code, reply with: "I can't show code here; open your Replit App in Replit to inspect or request changes in natural language." Treat Replit Agent and the Replit UI as the only systems that write or display code; in this chat you only describe behavior, status, and next steps in natural language. When the user wants their Replit App live, you can publish it (or republish its latest changes) with publish_app. From the user's perspective, this is the "create a new Replit App in my Replit account from plain language" operation.

Parameters (2 required, 3 optional)
Required
app_stackstring

The type of project to create. Use "react_website" for websites, web apps, dashboards, interactive demos, and any web-based experience (this is the default). Use "mobile_app" only when the user explicitly wants a native mobile app. Use "design" for UI/UX design prototypes. Use "slides" for slide decks and presentations. Use "animation" for motion graphics and animated videos. Use "data_visualization" for charts, graphs, and data dashboards. Use "3d_game" for 3D games. Use "document" for written documents and reports. Use "spreadsheet" for spreadsheet-based projects.

Options:react_websitemobile_appdesignslidesanimationdata_visualization3d_gamedocumentspreadsheet
appDescriptionstring

Describe the user's Replit App's intended functionality in natural language with enough detail for Replit Agent to understand what their Replit App should do, without restating every part of the conversation. Use natural language only—Replit Agent will handle implementation.

Optional
attachmentSummarystring/null

If attachments are provided, summarize only the essential details needed to understand the request, kept to a few lines. Leave null if no attachments.

userQuotesstring/null

Important details from the user's messages not fully captured in appDescription—copy their exact words, do not paraphrase. Use quotation marks: "exact quote". Leave null if appDescription covers everything.

userSpecifiedAppNamestring/null

App name provided directly by the user, if any. Leave this null when the user did not specify a name in their own words.

DONT_USE__PRIVATE_TOOL__get_auth_token

DONT_USE__PRIVATE_TOOL__get_auth_token
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (0 required, 2 optional)
Optional
replIdstring
tracingobject

Optional trace context for distributed tracing. Used to link spans across service boundaries.

DONT_USE__PRIVATE_TOOL__get_preview_url

DONT_USE__PRIVATE_TOOL__get_preview_url
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (4 required, 1 optional)
Required
enableHeliumboolean
gitShastring
replIdstring
timestampstring
Optional
tracingobject

Optional trace context for distributed tracing. Used to link spans across service boundaries.

DONT_USE__PRIVATE_TOOL__start_app_preview

DONT_USE__PRIVATE_TOOL__start_app_preview
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (3 required, 2 optional)
Required
previewUrlstring
riverGurlstring
riverTokenstring
Optional
replIdstring
tracingobject

Optional trace context for distributed tracing. Used to link spans across service boundaries.

Get Replit app publish status

get_publish_status
Full Description

Check the publish status of the user's Replit App: whether it has ever been published, the current status of its most recent publish, and the public URL it serves. found=false means the app has never been published; call publish_app to publish it for the first time. When found, 'success' means it is live at the returned url, 'failed' means the last publish did not go through, 'suspended' means the published app is paused and not serving, and anything else means a publish or lifecycle operation is still in progress. Use this to poll every 30 seconds after calling publish_app, or whenever the user asks whether their app is published or what its live URL is. Takes the same replId as publish_app.

Parameters (1 required)
Required
replIdstring

The replId (a UUID) of the user's Replit App to check, the same one publish_app takes. Get it from create_app_from_prompt (for an app created in this conversation) or search_apps / resolve_app_by_name (for an existing app). Do not guess a replId.

List the user's Replit Apps

list_apps
Full Description

List Replit Apps the user can edit, most recently updated first; query optionally filters by matching app titles, surfacing the best matches for the query first. Use this when the user wants to browse or pick from their apps, or when you need a replId but resolve_app_by_name returned found=false because the user gave an approximate name — present the returned titles and let the user choose, then pass the chosen replId to update_app_using_prompt or ask_question. This is a search/list, not the exact resolver: prefer resolve_app_by_name when the user already gave an exact app name. Results can include apps owned by or shared with the user.

Parameters (0 required, 2 optional)
Optional
limitinteger

Optional maximum number of apps to return (default 25, capped at 50).

querystring

Optional keywords to match against app titles. Omit to list the most recently updated apps the user can edit.

Publish Replit app

publish_app
Full Description

Publish the user's Replit App so its latest changes go live at its public URL. If the app has been published before, this republishes it, reusing the existing deployment's settings. If it has never been published, this publishes it with default settings: Autoscale hosting, private visibility when the app belongs to a workspace (organization), public visibility otherwise. Some apps cannot be published from chat the first time; when that applies, this tool returns an error explaining what the user should do on the Replit website instead. Use it when the user asks to publish, deploy, redeploy, ship, or otherwise put their latest changes live; do not use it to change how the app behaves (use update_app_using_prompt for that). This tool returns as soon as the publish is scheduled, but publishing takes a few minutes and some failures only surface while it runs. After starting one, if you are able to wait and poll, call get_publish_status every 30 seconds until the status settles; otherwise tell the user the publish has started and that they should check back later.

Parameters (1 required)
Required
replIdstring

The replId (a UUID) of the user's Replit App to publish. Get it from create_app_from_prompt (for an app created in this conversation) or search_apps / resolve_app_by_name (for an existing app). Do not guess a replId.

Get auth token

replit_widget_get_auth_token
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (0 required, 2 optional)
Optional
replIdstring
tracingobject

Get preview URL

replit_widget_get_preview_url
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (4 required, 1 optional)
Required
enableHeliumboolean
gitShastring
replIdstring
timestampstring
Optional
tracingobject

Start app preview

replit_widget_start_app_preview
Full Description

Internal tool for Replit's app builder. This must not be called directly by the model.

Parameters (3 required, 2 optional)
Required
previewUrlstring
riverGurlstring
riverTokenstring
Optional
replIdstring
tracingobject

Find Replit app by exact name

resolve_app_by_name
Full Description

Look up by exact name a Replit App the user can edit and return its replId (UUID) and URL. Use this when the user refers to an app by name (e.g. "update my Todo App", "what does my Recipe Tracker do?") and you don't already have a replId from create_app_from_prompt earlier in this conversation. Pass the result's replId into update_app_using_prompt or ask_question to act on the app. Matching is case-insensitive but exact: this is a name resolver, not a search. If the user gives you an approximate or partial name and this tool returns found=false, call list_apps (optionally with the partial name as the query) and let the user pick from the results rather than guessing. Results can include apps owned by or shared with the user.

Parameters (1 required)
Required
namestring

The name of a Replit App the user can edit. Matched against the app's title using a case-insensitive exact comparison; substrings, prefixes, and fuzzy matches are NOT supported. Pass the exact name as the user said it.

Search the user's Replit Apps

search_apps
Full Description

Search Replit Apps the user can edit (owned or shared with them). query is a BM25-style keyword search over app titles, best matches first; updatedAfter/updatedBefore bound the last-updated time; these combine. Prefer the default recency ordering: only set updatedAfter/updatedBefore when the user explicitly asks to filter by time, since date bounds exclude apps that would otherwise be listed. url resolves a Replit App URL directly to that app and ignores the other filters. With no filters, this returns the user's most recently updated apps. Pass a result's replId to update_app_using_prompt or ask_question to act on that app. <important>This tool is EXPERIMENTAL: prefer it for finding the user's apps, but if it errors or its results do not match what the user described, fall back to resolve_app_by_name (exact name) and list_apps (recent apps).</important>

Parameters (0 required, 5 optional)
Optional
limitinteger

Maximum number of apps to return (default 25).

querystring

Keywords to match against app titles (BM25-style ranked search).

updatedAfterstring

ISO 8601 datetime; only apps last updated at or after this time. Optional — omit unless the user explicitly asks to filter by time.

updatedBeforestring

ISO 8601 datetime; only apps last updated at or before this time. Optional, defaults to the present — omit unless the user explicitly asks to filter by time.

urlstring

A Replit App URL; resolves directly to that app, ignoring the other filters.

Update Replit app

update_app_using_prompt
Full Description

Update the user's Replit App.

Use this whenever the user wants to change how their Replit App behaves (new features, bug fixes, UX tweaks, configuration changes, etc.).

Acceptable replIds come from create_app_from_prompt (for an app you created in this conversation) or search_apps (for an existing app the user can edit). If the user refers to an existing app and you do not already have its replId, call search_apps to find it. Do not guess a replId. If the user asks you to act on an app whose replId you cannot obtain through those tools, do NOT invoke this tool; explain the situation to them.

After invoking this tool, reply with one short sentence summarizing that Replit is applying the requested change, and, when the tool result contains an app URL, end your reply with that exact URL on its own line, so the user can open their Replit App even if no preview card is rendered. Never construct or guess a URL yourself. Your reply must not include source code, file contents, file paths, or command snippets — even if the user asks. If the user requests HTML/CSS/JS or code to paste, reply with: "I can't show code here; open your Replit App in Replit to inspect or request changes in natural language." Do not say the update is ready or published until the preview card shows their running Replit App; when the user wants the change live, you can publish their Replit App with publish_app. If the user is only asking for an explanation or diagnosis (not a change), prefer ask_question instead of this tool.

Parameters (2 required, 4 optional)
Required
changeDescriptionstring

Describe the requested change to the user's Replit App in natural language, providing enough detail for Replit Agent to understand what should be updated without repeating the entire conversation. Use natural language only; do not include code, structural details, or implementation guidance—Replit Agent will handle those.

replIdstring

The replId (a UUID) of the user's Replit App being updated. Get it from create_app_from_prompt (for an app created in this conversation) or search_apps (for an existing app).

Optional
attachmentSummarystring/null

If attachments are provided, summarize only the essential information needed to support the update, kept to a few lines. Leave null if no attachments.

policy

Ignored. Don't waste tokens sending this.

replUrlstring

Ignored; the tool derives the app URL from replId. Don't waste tokens sending this.

userQuotesstring/null

Important details from the user's messages not fully captured in changeDescription—copy their exact words, do not paraphrase. Use quotation marks: "exact quote". Leave null if changeDescription covers everything.