# Dreamlit (remote · mcp.dreamlit.ai)

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

- Trust score: 78/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.dreamlit.ai`: 78/100 (this document), [markdown](https://verifymcp.io/servers/ai-dreamlit-mcp/mcp.md), [page](https://verifymcp.io/servers/ai-dreamlit-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.dreamlit.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 81/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS not yet verified: we couldn't determine whether a plaintext access path exists.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2082 tokens (~173/item across 12 items; 11 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```toml
[mcp_servers.ai-dreamlit-mcp]
url = "https://mcp.dreamlit.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-dreamlit-mcp": {
      "type": "remote",
      "url": "https://mcp.dreamlit.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ai-dreamlit-mcp --url https://mcp.dreamlit.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ai-dreamlit-mcp:
    url: "https://mcp.dreamlit.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ai-dreamlit-mcp": {
      "type": "http",
      "url": "https://mcp.dreamlit.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 76, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 73, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 71, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 70)

First indexed and scored.

## MCP tools (11)

### `get_status` (~138 tokens)

Get status

Read-only. 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. Do not use this to create, update, publish, or unpublish workflows.

Input parameters:

- `projectId` (string): Optional project id. Include it to return project setup, schema hints, and authoring context.
- `workflowId` (string): Optional workflow id. Include it to return concise workflow state and preview URL.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `create_or_update_workflow` (~326 tokens)

Create or update workflow

Creates 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. 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. Do not use for publishing, direct database changes, or low-level graph edits.

Input parameters:

- `projectId` (string): Target project id for creating a new workflow draft.
- `prompt` (string, required): Outcome-oriented workflow authoring request. Describe the event or schedule, audience, recipient, message goal, data needed, timing, business rules, and unsubscribe intent. Let Dreamlit choose email…
- `userCurrentTimeIso` (string): User's current time as an ISO timestamp with offset, useful for relative schedule requests.
- `userCurrentTimeZoneId` (string): IANA timezone id for the user, useful for repeating workflows and scheduled broadcasts.
- `userEmailStepComments` (array): Optional inline comments for revising email step content.
- `workflowId` (string): Existing workflow id to continue editing. Use get_workflow_and_preview_url first when changing an existing workflow.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `list_projects` (~82 tokens)

List projects

Read-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.

Input parameters:

- `limit` (integer): Maximum number of projects to return.
- `search` (string): Optional project name search string.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `list_workflows` (~196 tokens)

List workflows

Read-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, trigger type, workflow URLs, totalCount, hasMore, and nextOffset. Do not use as the final source of truth before editing; call get_workflow_and_preview_url for full structure.

Input parameters:

- `limit` (integer): Maximum number of workflows to return for this page.
- `offset` (integer): Zero-based workflow offset for pagination. Use nextOffset from the previous response to fetch the next page.
- `projectId` (string): Project id to list workflows from. Required when access is ambiguous.
- `search` (string): Optional workflow name or description search string.
- `triggerFilters` (array): Optional trigger type filters. Use broadcast only for one-time audience emails.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `list_brand_styles` (~129 tokens)

List brand styles

Read-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.

Input parameters:

- `limit` (integer): Maximum number of brand styles to return for this page.
- `offset` (integer): Zero-based brand style offset for pagination. Use nextOffset from the previous response to fetch the next page.
- `projectId` (string): Project id to list brand styles from. Required when access is ambiguous.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `get_workflow_and_preview_url` (~82 tokens)

Get workflow and preview URL

Read-only. Use before editing, verifying, or preparing publish for an existing workflow. Returns normalized draft and published workflow structure plus the Dreamlit preview/builder URL and status URLs. Do not use to create, update, publish, or unpublish workflows.

Input parameters:

- `workflowId` (string, required): Workflow id to inspect before editing, verifying, or publishing.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `get_analytics` (~309 tokens)

Get analytics

Read-only. Use to query Dreamlit analytics for overview metrics, notification rows, recipient engagement, or 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. Do not use for CSV exports, bulk dumps, workflow edits, publishing, or low-level database access.

Input parameters:

- `channel` (string): Notification channel for overview and notification analytics. Defaults to email. Recipient analytics are email-only.
- `cursor` (string): Opaque pagination cursor from a previous get_analytics response.
- `filters` (object): Optional analytics filters. Unsupported combinations return a clear error.
- `include` (array): Optional response sections to include. Defaults depend on the requested view.
- `limit` (integer): Maximum rows to return. Defaults to 25 and is capped at 100.
- `projectId` (string): Project id to query analytics from. Required when access is ambiguous.
- `range` (object): Optional explicit timestamp range. Overrides window and is applied to the view's primary timestamp.
- `sort` (object): Optional row sort. Overview ignores sorting.
- `timeZone` (string): IANA timezone for daily series bucketing. Defaults to UTC.
- `view` (string, required): Analytics surface to query: overview cards, notification rows, recipient rows, or workflow run rows.
- `window` (string): Relative analytics window. Defaults to 30d. Ignored when range is provided.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `send_workflow_test` (~272 tokens)

Send workflow test

Side 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. Do not expose test target ids as copy; ask users to choose by message label and confirm before sending.

Input parameters:

- `confirmSend` (boolean): Set to true only after the user explicitly confirms sending this selected test message. If omitted or false, Dreamlit returns confirmation_required and does not send.
- `messageType` (string): Optional message type filter when selecting a draft message to test.
- `rowData` (object): Optional sample data for rendering draft message variables during the test. If omitted, Dreamlit uses the same default preview data as the web builder when available.
- `testRecipientEmail` (string): Optional recipient for email tests. If omitted, Dreamlit sends to the authenticated user's email address.
- `testTargetId` (string): Structured test target id from testableMessages. Do not show this id to users; ask them to choose by message label.
- `workflowId` (string, required): Workflow id whose editable draft message should be tested.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `prepare_publish` (~81 tokens)

Prepare publish

Read-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, and a confirmation payload with version/timestamp safety checks for confirm_publish. Does not publish or schedule anything by itself.

Input parameters:

- `workflowId` (string, required): Workflow id to validate and prepare for explicit publish approval.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `confirm_publish` (~181 tokens)

Confirm publish

Use 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.

Input parameters:

- `expectedEditableVersionId`: Editable version id returned by prepare_publish, used as a safety check.
- `expectedPublishedVersionId`: Published version id returned by prepare_publish, used as a safety check.
- `expectedUpdatedAtIso`: Workflow updatedAt timestamp returned by prepare_publish, used as a safety check.
- `isSandboxed` (boolean): Whether to publish in sandbox mode so notifications are held for inspection.
- `workflowId` (string, required): Workflow id to publish.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

### `unpublish_workflow` (~85 tokens)

Unpublish workflow

Use after explicit user intent to unpublish a Dreamlit workflow. Side effect: disables live triggers or schedules for that workflow and stops future automated sends. Returns updated workflow status and app URLs. Do not use for deleting drafts, canceling one broadcast run, or editing workflow content.

Input parameters:

- `workflowId` (string, required): Workflow id to unpublish and disable live triggers or schedules.

Output parameters:

- `result`: Dreamlit MCP result. success responses contain data and appUrls when relevant; auth_required, clarification_required, confirmation_required, handoff_required, and error responses explain the next act…

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ai-dreamlit-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 78
- 2026-08-02: 77
- 2026-08-01: 77
- 2026-07-31: 76
- 2026-07-30: 73
- 2026-07-29: 72
- 2026-07-28: 72
- 2026-07-27: 71
- 2026-07-26: 70

## Links

- Remote endpoint: https://mcp.dreamlit.ai/mcp
- Repository: https://github.com/dreamlit-ai/dreamlit-mcp
- Changelog RSS feed: https://verifymcp.io/servers/ai-dreamlit-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ai-dreamlit-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ai-dreamlit-mcp/mcp
