Skip to main content

Dreamlit

ai.dreamlit/mcpVersion 0.1.0

Create, test, publish, and manage Dreamlit notification workflows from AI clients.

Status

Responds227 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:29 UTC
Latency
227 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.dreamlit.ai/mcpResponds227 ms
No sign-in

Claude Code

claude mcp add --transport http dreamlit https://mcp.dreamlit.ai/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: dreamlit
Remote MCP server URL: https://mcp.dreamlit.ai/mcp

Cursor

{
  "mcpServers": {
    "dreamlit": {
      "url": "https://mcp.dreamlit.ai/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"dreamlit","type":"http","url":"https://mcp.dreamlit.ai/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

24 tools

Tools of Dreamlit
Read-only
Idempotent
Open world
check_compatibilityRead-only, unless contactEmail is given (side effect: saves the email so Dreamlit can tell them when their database works). Works without signing in. Use before setting up Dreamlit when you're not sure the app's database fits: pass the database engine (and host if known) read from the repo. Returns verdict compatible, not_yet or unknown, with the reason and what would have to change. On not_yet, tell the user why; if they want to hear when it works, ask for their email and call again with contactEmail. Do not send connection strings or other secrets.NoNoYesNo
configure_sender_domainSide effect: registers the domain Dreamlit emails will come from. Use when the user wants emails from their own domain instead of Dreamlit's shared address. Starts verification. Returns the DNS records to add and a settings link with one-click DNS setup; if you have a DNS tool, you can add them yourself after the user agrees. Does not change DNS by itself.NoNoYesYes
confirm_publishUse only after explicit user confirmation and a prior prepare_publish result to publish or schedule a Dreamlit workflow. Side effect: installs live database/repeating/auth triggers, schedules or sends broadcasts, and may enable notification delivery; sandbox mode can hold notifications for inspection. Returns the published workflow status and app URLs. Do not call speculatively or without carrying forward the prepare_publish safety fields.YesNoNoNo
connect_databaseSide effect: connects the project to the user's Postgres or Supabase database and installs Dreamlit's schema and triggers in it. Use only when the person asks you to connect the database; normally get_setup_status directs them to connect on the setup page. Connect the database that holds the app's real users. Only after the user said yes in reply to the appropriate database consent question; never in the same turn you ask. Without a connection string, returns a link the user opens to connect in the browser (for Supabase, by signing in; no string needed). A database on the user's computer or private network can't be reached. Returns the connection status, usesLimitedRole (from the username), and the next setup step. Does not read or change the user's app data. Lead with the setup page returned by get_setup_status: explain how Dreamlit uses the database, ask the person to connect there, and check get_setup_status when they say it is done. Optionally offer: "If you'd rather, I can connect it from here." Only if the person asks you to connect it does the following path apply. Before setting up a database login or calling connect_database, tell the user in a line or two, in plain words, how Dreamlit uses the database (Dreamlit works straight from the app's database, so it stays the source of truth: no syncing data to another tool and no tracking events to add. It reads the tables to know who should get each email and to fill it in with their real details, reacts as things change in the app (a new signup, an upgrade, a cancelled plan), and never changes the app's data. Nothing reaches users until they approve an email.) Then ask if you may set this up, in your own plain words. For Supabase (a supabase.co or pooler.supabase.com host, a Supabase MCP server or CLI, or an audit database note identifying Supabase), say: "To connect, you'll sign in to Supabase in your browser and pick this project. Dreamlit then sets up its own login that can read your tables but can't change yNoNoNoYes
create_or_update_workflowCreates a new Dreamlit workflow draft or updates an existing draft from an outcome-oriented natural-language prompt. Use after get_status; use get_workflow_and_preview_url first when editing an existing workflow, then describe the steps to change by what they do, not by step id. Each call continues the workflow's current chat; pass startNewChat to start fresh. Broadcasts that are scheduled, sent, or cancelled can't be edited; duplicate them in the Dreamlit web app instead. Existing Supabase Auth workflows can be edited except for the immutable trigger step; creating Supabase Auth workflows must happen through Supabase Auth email setup in the Dreamlit web app. Side effect: may create or modify a draft, but does not publish or install live triggers. Returns the workflow/draft result, action-required or handoff details when more input is needed, and relevant app URLs. For a broadcast or scheduled email to a group, when the project's segments or current moment haven't been answered yet, the draft is saved and the result is clarification_required (kind project_context): look the answers up, save them with update_project, then call again to adjust the draft. Do not use for publishing, direct database changes, or low-level graph edits.NoNoNoNo
edit_workflow_stepsApplies up to 5 exact edits to existing steps in a workflow draft, instantly and without AI: email subject, preview text, HTML, sender, reply-to, and recipient; Slack message; query SQL; wait rule; and step description. Use when you know the exact new value; call get_workflow_and_preview_url first for step ids and current values, with includeEmailHtml to edit HTML. Edits are checked against the draft as it will be once they are all saved: templates and waits may only use fields their step gets, and query edits are rejected if later steps still use fields the new query no longer returns. Each edit applies on its own, except that a SQL edit and the edits below it apply together or not at all. The edits show in the workflow's Dreamlit chat. Side effect: changes the draft only; does not publish. Returns each edit's status with an error code and message for failed edits, and app URLs. Do not use to add, remove, or move steps, edit triggers, or make changes that need writing or judgment; use create_or_update_workflow for those.NoNoNoNo
get_analyticsRead-only. Use get_analytics to query raw notification analytics: email and Slack sends and deliveries, email opens, clicks and bounces, overview metrics, per-recipient rows and workflow run rows, with filters, sorting, and cursor pagination. Returns bounded structured analytics data, effective query metadata, pagination details when rows are included, and relevant app URLs. Use get_lifecycle_report or get_recommendations for Dreamlit's prepared analysis. Does not provide Dreamlit's lifecycle judgments or prioritized recommendations. Do not use for CSV exports, bulk dumps, workflow edits, publishing, or low-level database access.NoYesYesNo
get_app_context_requestRead-only. Use after sign-in and update_project, before share_app_context. Skip it when you sent share_app_context from a recent lifecycle-email-audit/context.json. Returns what Dreamlit needs to understand the app before its database is connected: one read-only schema query to run yourself (a Supabase or Neon MCP server's SQL tool, or psql -At), how to find the database with the app's real users, where to find the schema in code when you can't reach it, the onboarding questions to answer from the repo, and a count-query pattern. Use connection strings locally and never send them. Does not connect to or read the user's database.NoYesYesNo
get_database_role_setupRead-only. Use after the user agrees to database login setup. Returns transactional SQL from Dreamlit's shared role builder for a separate dreamlit_app login, with a password placeholder, grants summary, removal link and local setup instructions. For Postgres that isn't Supabase, including Neon, RDS, Railway and Render. Supabase apps use browser Supabase sign-in instead. Does not connect, run SQL or receive passwords. Lead with the setup page returned by get_setup_status: explain how Dreamlit uses the database, ask the person to connect there, and check get_setup_status when they say it is done. Optionally offer: "If you'd rather, I can connect it from here." Only if the person asks you to connect it does the following path apply. Before setting up a database login or calling connect_database, tell the user in a line or two, in plain words, how Dreamlit uses the database (Dreamlit works straight from the app's database, so it stays the source of truth: no syncing data to another tool and no tracking events to add. It reads the tables to know who should get each email and to fill it in with their real details, reacts as things change in the app (a new signup, an upgrade, a cancelled plan), and never changes the app's data. Nothing reaches users until they approve an email.) Then ask if you may set this up, in your own plain words. For Supabase (a supabase.co or pooler.supabase.com host, a Supabase MCP server or CLI, or an audit database note identifying Supabase), say: "To connect, you'll sign in to Supabase in your browser and pick this project. Dreamlit then sets up its own login that can read your tables but can't change your data. Want the link?" End your message with that question and wait for a yes in a later message, never in the same turn you ask. After that yes, call connect_database without a connection string and give the person the link; when they say it's done, call get_setup_status. Do not run get_database_role_setup or build or pass a Supabase connectiNoYesYesNo
get_lifecycle_reportSide effect: creates a preparation request when no report is ready or refresh is true and the latest report became ready more than 24 hours ago; repeat calls reuse an open request. Pass refresh: true only when the user asks for a new report; when checking on a pending report, call without refresh. Use for Dreamlit's prepared lifecycle analysis: key metrics worth tracking, the signup-to-paid funnel and where users drop off, deliverability health, and which stages (welcome, onboarding, engagement, retention, winback) have no emails yet. Available on Pro and Scale plans only. Reports are prepared by Dreamlit's agents and reviewed by our team. Returns a ready report or a processing state while Dreamlit prepares it; check back later. The requester is also emailed when ready. Does not return raw notification analytics; use get_analytics for that.NoNoNoNo
get_recommendationsSide effect: creates a preparation request when no report is ready or refresh is true and the latest report became ready more than 24 hours ago; repeat calls reuse an open request. Pass refresh: true only when the user asks for a new report; when checking on a pending report, call without refresh. Use for Dreamlit's prioritized recommendations on which emails or workflows to add and what to fix or change in existing ones. Available on Pro and Scale plans only. Reports are prepared by Dreamlit's agents and reviewed by our team. Returns a ready report or a processing state while Dreamlit prepares it; check back later. The requester is also emailed when ready. Does not return raw notification analytics; use get_analytics for that.NoNoNoNo
get_setup_statusRead-only. Use for a new user or a project that hasn't finished setup. Setup ends when the trial (if needed), app context, product goals and database are ready; building a workflow is a later offer. Returns each setup step with its status, the next required step, whether that step needs the person, the single agent setup page link (the database step asks them to connect there), and contextBrief: questions about the project still open, with where to look for each answer. Call again after the person finishes a step. Do not use for workflow authoring context; use get_status for that.NoYesYesNo
get_statusRead-only. Works before sign-in: then it says the user isn't signed in and how to sign in. Use first when the agent needs Dreamlit product guidance, prompting guidance, approved workspace context, project setup, schema hints, workflow state, or relevant app URLs. Returns a compact context pack with concepts, recommended tool flow, actor/workspace/project data, optional authoring context, optional workflow context, and appUrls. Workflow summaries include liveStatus, and broadcasts include an authoritative broadcast.state. Database tables that Dreamlit can see but not read rows from (row level security with no policy for Dreamlit) carry a warning and fixSql; run fixSql, or ask the user to run it, in the Supabase SQL editor. If Dreamlit couldn't read a connection's tables, that connection has tablesError instead of an empty list meaning no tables. Do not use this to create, update, publish, or unpublish workflows.NoYesYesNo
get_workflow_and_preview_urlRead-only. Use before editing, verifying, or preparing publish for an existing workflow. Returns normalized draft and published workflow structure, liveStatus, the Dreamlit preview/builder URL, and status URLs. Broadcasts also include a broadcast object with state (draft, scheduled, sending, sent, cancelled, or failed), the run's scheduledFor, and cancelledAt or completedAt; this, not published or the trigger's sendAt, says whether the broadcast will send. Email HTML bodies are left out unless includeEmailHtml is true. Pass step ids only to edit_workflow_steps; when asking create_or_update_workflow for changes, describe steps by what they do. Do not use to create, update, publish, or unpublish workflows.NoYesYesNo
list_brand_stylesRead-only. Use when the user wants to inspect saved project brand styles for generated email drafts. Returns paginated project brand style summaries, ids, default status, style metadata, and app URLs. Do not use to create, update, delete, or expose raw style provenance.NoYesYesNo
list_projectsRead-only. Use when the target project is unknown or the user names a project instead of providing an id. Returns accessible Dreamlit projects in the approved workspace with project and workflow-list URLs. Do not use to inspect workflow structure or author changes.NoYesYesNo
list_workflowsRead-only. Use to find workflows in a project by name, description, or trigger type before inspection or editing. Trigger filters include database, auth email, repeating, broadcast, and no-trigger workflows. Returns paginated workflow summaries, published/sandbox state, liveStatus, trigger type, folder (the folder name in the list the workflow shows in, or null), workflow URLs, totalCount, hasMore, and nextOffset. Broadcasts also include a broadcast object with state (draft, scheduled, sending, sent, cancelled, or failed), scheduledFor, and cancelledAt or completedAt; for broadcasts, broadcast.state and liveStatus are authoritative over published, because a cancelled broadcast stays published but will not send. Do not use as the final source of truth before editing; call get_workflow_and_preview_url for full structure.NoYesYesNo
move_workflow_to_folderUse when the user asks to put a workflow or broadcast in a folder, move it to another folder, or take it out of a folder. Folders are per list: the Published and Drafts lists on the Workflows page and the Sent and Drafts lists on the Broadcasts page each have their own folders, and this moves the workflow within the list it shows in now. Folders are flat; a "/" is just part of the name. A draft's folder does not carry over when it is published. Side effect: may create the folder; never deletes folders and does not change the draft, published version, or live triggers. Returns the folder, the list, and app URLs. Do not use to rename or delete folders.NoNoYesNo
prepare_publishRead-only validation step before publishing. Use after the user asks to publish and after inspecting the workflow if needed. Returns validation status, publish mode, preview URL, sender domain state and shared address allowance, and a confirmation payload with version/timestamp safety checks for confirm_publish. A broadcast exceeding the remaining shared address allowance returns shared_sender_limit and an addDomain link; offer configure_sender_domain or a narrower audience. If there is no domain, offer their domain or the shared address with its returned daily or monthly limit once before first publish. Before the project's first publish, returns clarification_required (kind project_context) once if nobody has said whether anything else emails these people: look it up, save it with update_project, then call again. Does not publish or schedule anything by itself.NoYesYesNo
rename_workflowUse when the user asks to rename an existing Dreamlit workflow. Side effect: changes only the workflow name; the draft, published version, and live triggers are unchanged. Returns the updated name and app URLs. Do not use to edit workflow content or to name a new workflow; pass name to create_or_update_workflow instead.NoNoYesNo
send_workflow_testSide effect when confirmSend is true: sends one current draft email or Slack message for review, but does not publish, schedule, or edit the workflow. Use after authoring or inspection when the user wants to verify an important message before publishing. Returns sent-test details, app URLs, a confirmation request, or a clarification request with user-facing message choices. If the test has no data because row level security hides a source table's rows from Dreamlit, returns error code table_rows_hidden_by_rls with unreadableTables[].fixSql to run, or ask the user to run, in the Supabase SQL editor. Do not expose test target ids as copy; ask users to choose by message label and confirm before sending.YesNoNoYes
share_app_contextSide effect: saves the app's schema and a summary of how its onboarding works on the project. Use after get_app_context_request, with the schema query's JSON as catalog (or tables you read from code) and the onboarding summary. Works without a connected database, and without a schema. Returns what was stored, summary fields still missing, whether the schema was trimmed to fit, and the next setup step with its setup page link (ask the person to connect the database there), or a completion offer if a database was connected first. Do not send rows, connection strings, email addresses or other personal data; send column names, types and counts only.NoNoYesNo
unpublish_workflowUse after explicit user intent to unpublish a Dreamlit workflow. Side effect: disables live triggers or schedules so no new runs start. Runs already in progress keep sending unless inProgressRuns is "stop". If the workflow has in-progress runs and inProgressRuns is omitted, returns clarification_required with the count and changes nothing: ask the user whether to stop those runs or let them finish, then call again with their choice. Returns updated workflow status, stopped run counts (allRunsStopped, remainingRunCount), and app URLs. If some runs could not be stopped, ask the user, then call again with inProgressRuns "stop": on an already-unpublished workflow it only stops the runs still in progress. Do not use for deleting drafts, canceling one broadcast run, or editing workflow content.YesNoNoNo
update_projectSide effect: saves project details. Use right after sign-in, filling in what you already know from the repo (or, when the repo has a recent lifecycle-email-audit/context.json, sending its update_project object): app name, what the product does, which emails it should send, website, and stack. Also answer the brief (goal, what's happening now, who counts, other senders) from the repo, schema and your other tools, marking each answer inferred or confirmed. Check gitignored env files such as .env and .env.local too (git ls-files doesn't list them), but never send their values. Tell the user what you shared and what you assumed. Returns the saved details, answers kept because the person already confirmed them, the questions still open, and the next setup step. Do not send secrets, credentials, customer rows, or end-user data.NoNoYesNo

Details

Registry status
Active
Published
May 7, 2026
Updated
May 7, 2026
Website
Not given
Categories (suggested)
Project managementData and analyticsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing