# DreamAgent (remote · mcp.dreamagent.cloud)

Build and deploy websites, Telegram and Discord bots from chat via the DreamAgent platform.

- Trust score: 64/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

> **Recent critical change**: Authorization (2026-08-16). See the changelog below before you install this server.

## Components

- remote · `mcp.dreamagent.cloud`: 64/100 (this document), [markdown](https://verifymcp.io/servers/nivethaug-dreamagent/mcp.md), [page](https://verifymcp.io/servers/nivethaug-dreamagent/mcp)

## Channel facts

- Endpoint: `https://mcp.dreamagent.cloud/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.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-20.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (dreamagent_cancel_chat).
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3260 tokens (~271/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 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 nivethaug-dreamagent https://mcp.dreamagent.cloud/mcp
```

### Codex

```toml
[mcp_servers.nivethaug-dreamagent]
url = "https://mcp.dreamagent.cloud/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add nivethaug-dreamagent --url https://mcp.dreamagent.cloud/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  nivethaug-dreamagent:
    url: "https://mcp.dreamagent.cloud/mcp"
```

### Other

```json
{
  "mcpServers": {
    "nivethaug-dreamagent": {
      "type": "http",
      "url": "https://mcp.dreamagent.cloud/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-20 (score 64, +1)

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

### 2026-08-18 (score 63, +1)

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

### 2026-08-16 (score 62, 0)

- [critical regression] Authorization: unverified → fail
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “dreamagent_cancel_chat” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_chat” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_create_project” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_create_session” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_get_chat_status” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_get_edit_progress” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_get_project_status” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_list_projects” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_list_sessions” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_release_project_lock” rewrote its description, which is the text the model reads
- [security] Tool “dreamagent_cancel_chat” is now declared destructive
- [functional regression] Schema quality: 194 → 271
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “dreamagent_list_global_integrations”
- [functional] New tool “dreamagent_list_project_env”
- [cosmetic] “dreamagent_create_project” added an optional parameter “bot_token_integration_id”
- [cosmetic] “dreamagent_create_project” added an optional parameter “global_integration_ids”
- [cosmetic] “dreamagent_cancel_chat” reworded the description of “session_key”
- [cosmetic] “dreamagent_chat” reworded the description of “message”
- [cosmetic] “dreamagent_chat” reworded the description of “new_session”
- [cosmetic] “dreamagent_chat” reworded the description of “project_id”
- [cosmetic] “dreamagent_chat” reworded the description of “session_key”
- [cosmetic] “dreamagent_create_project” reworded the description of “description”
- [cosmetic] “dreamagent_create_project” reworded the description of “env_vars”
- [cosmetic] “dreamagent_create_project” reworded the description of “project_type”
- [cosmetic] “dreamagent_create_session” reworded the description of “label”
- [cosmetic] “dreamagent_get_chat_status” reworded the description of “after”
- [cosmetic] “dreamagent_get_chat_status” reworded the description of “session_key”
- [cosmetic] “dreamagent_get_project_status” reworded the description of “project_id”
- [cosmetic] “dreamagent_list_projects” reworded the description of “status”
- [cosmetic] “dreamagent_create_project” dropped the optional parameter “bot_token”

### 2026-08-15 (score 62)

First indexed and scored.

## MCP tools (12)

### `dreamagent_list_projects` (~125 tokens)

List the user's DreamAgent projects.

Returns each project's name, ID, type, status, and live domain (when
available). Use when the user asks to see, find, select, or check their
projects — and ALWAYS before modifying a project when its ID is not
already known (resolve names to IDs here first).

Input parameters:

- `status`: optional exact-match filter (e.g. 'ready', 'failed'). During creation, projects report intermediate phases (creating/building/deploying/…), so filtering by 'creating' does not match every in-progress…

Output parameters:

- `result` (string)

### `dreamagent_list_global_integrations` (~132 tokens)

List the user's saved credentials (Global Integrations).

ALWAYS call this before creating any bot project or asking the user
for a token/API key. Saved credentials are referenced BY ID when
creating projects: bot_token_integration_id for bot tokens,
global_integration_ids for other keys. Secret values are never
returned — only IDs and metadata (type, key name, verified, title).

If nothing suitable is saved: direct the user to dreamagent.cloud →
Settings → Global Integrations to add it (one-time, verified,
reusable). Never ask the user to paste tokens in chat.

Output parameters:

- `result` (string)

### `dreamagent_list_project_env` (~110 tokens)

List a project's environment variables with their details.

Shows each key's name, title, description, docs URL, and category —
values are masked (secrets are never returned). Use to see which
integrations a project already has before adding more, or to answer
"what keys does my project have?".

These are PROJECT-SPECIFIC variables — distinct from the user's
Global Integrations (dreamagent_list_global_integrations).

Input parameters:

- `project_id` (integer, required): the project to inspect.

Output parameters:

- `result` (string)

### `dreamagent_create_project` (~756 tokens)

WRITE ACTION — creates a new DreamAgent project (website, Telegram
bot, Discord bot, or scheduler). Use ONLY when the user clearly asks
to create/build a new project; not for questions about what to build.

CONFIRM BEFORE CALLING — never create on the first mention. In ONE
message, present and get the user's explicit go-ahead for:
1\. The credential: run dreamagent_list_global_integrations first.
   If several telegram/discord credentials are saved, list them
   (id + title) and ask which to use. If exactly one is saved,
   state which one you will use. Never pick silently.
2\. The plan: name, type, and the final description exactly as you
   will submit it (this is the Prompt Assistant's recommendation
   summary). Call this tool only after the user confirms.

CREATION IS ASYNCHRONOUS: after calling, check
dreamagent_get_project_status repeatedly until the project is
'ready' or 'failed' (bots ~2-5 min, websites longer).

CREDENTIALS: raw bot tokens are never accepted in chat or as inputs.
For Telegram/Discord bots you MUST pass bot_token_integration_id —
the ID of a saved credential from dreamagent_list_global_integrations.
If none is saved, direct the user to dreamagent.cloud → Settings →
Global Integrations. Other saved keys can be imported via
global_integration_ids. Credentials are stored as project secrets
and are never exposed back.

DESCRIPTION = the refined creation brief. Act as a Creative
Director / Product Manager, not an architect.

Create a concise but complete description of WHAT should be built:
\- product vision and target audience
\- user experience and core functionality
\- design/tone direction
\- important features and behavior
\- final expected result

Do not include implementation details such as:
\- technology stack
\- architecture
\- database/API implementation
\- authentication implementation
\- deployment
\- CI/CD
\- testing commands

Infer reasonable defaults when missing details are non-critical.
Ask for clarification only when missing information ma…

Input parameters:

- `bot_token_integration_id`: REQUIRED for telegrambot & discordbot — saved-credential ID (see dreamagent_list_global_integrations).
- `description`: the build request (what + for whom + features/tone).
- `env_vars`: optional non-secret environment variables.
- `global_integration_ids`: optional saved-key IDs to import as env vars.
- `name` (string, required): project name (max 30 chars; a public subdomain is auto-generated).
- `project_type` (string, required): website / telegrambot / discordbot / scheduler.

Output parameters:

- `result` (string)

### `dreamagent_get_project_status` (~144 tokens)

Check a project's creation/deployment state. Terminal states are
'ready' (built and live) and 'failed'; while a project is being
created it reports progressive phases such as 'creating',
'building', 'deploying', or 'ai_provisioning' — treat any
non-terminal status as still building. Use after
dreamagent_create_project (poll until ready or failed) and
whenever the user asks whether a project is ready or live.

NOTE: this reports the PROJECT's build/deploy state — NOT AI edit
progress. For edits use dreamagent_get_edit_progress.

Input parameters:

- `project_id` (integer, required): the project to check.

Output parameters:

- `result` (string)

### `dreamagent_chat` (~372 tokens)

WRITE ACTION — builds, modifies, or fixes an EXISTING project with
a natural-language instruction. Use ONLY when the user clearly asks
for a change ("add X", "fix Y", "change the theme"). If the user is
only asking for advice, analysis, review, or suggestions ("what
could be improved?", "review my bot"), do NOT call this — answer
from the project's info instead; a review request is not an edit.

Describe ONLY the desired change — DreamAgent's AI automatically
handles code, tests, rebuild, and redeployment. Completed changes
are saved and committed automatically.

ASYNCHRONOUS: returns immediately with the session_key; monitor
with dreamagent_get_edit_progress (or dreamagent_get_chat_status
with the returned session key) until a terminal state. Report
success only after run_status reaches 'completed'. Edits consume
the user's AI credits.

ERRORS (actual returns): failures come back as text starting with
'ERROR:'. If the edit was rejected before starting, the text says
'the edit was NOT started' plus the reason — HTTP 402 insufficient
credits, 409 another edit already active, 423 session lock held by
another session, 404 wrong project id, 401 no account connected.
Treat the edit as failed/cancelled only when a status tool says so.

ONE EDIT AT A TIME: never start another modification on the same
project while one is running — check progress first and wait.

Input parameters:

- `message` (string, required): the desired change (what + any behavioral constraints).
- `new_session` (boolean): optional — start a fresh session for a new topic.
- `project_id` (integer, required): the project to modify.
- `session_key`: optional — continue a specific development session.

Output parameters:

- `result` (string)

### `dreamagent_list_sessions` (~103 tokens)

List a project's development sessions (conversation threads).
Returns each session's identifier (session key) and context so you
can select, continue, or monitor a specific development session —
pass the session key to dreamagent_chat to continue that thread or
to dreamagent_get_chat_status to monitor it. The session key is a
reference used to address a session; it is not an authentication
credential or a secret.

Input parameters:

- `project_id` (integer, required): the project.

Output parameters:

- `result` (string)

### `dreamagent_create_session` (~82 tokens)

Create a new development session for a project — a separate
conversation with its own context. Use when the user wants to start
a distinct development topic. A new session does NOT replace or
affect the existing project — earlier sessions remain available.

Input parameters:

- `label` (string): optional name for the session.
- `project_id` (integer, required): the project.

Output parameters:

- `result` (string)

### `dreamagent_release_project_lock` (~124 tokens)

RECOVERY-ONLY — releases a project's editing lock when a stale or
abandoned session blocks new modifications. NOT a normal editing
step, and NEVER a way to bypass an actively running edit.

The lock state is not machine-readable from here: to judge staleness,
check dreamagent_get_edit_progress — if no edit is active but
dreamagent_chat still fails with a lock error, the lock is stale.
Confirm with the user before releasing if they may have the project
open elsewhere.

Input parameters:

- `project_id` (integer, required): the project to unlock.

Output parameters:

- `result` (string)

### `dreamagent_get_chat_status` (~256 tokens)

Check the progress and final status of a specific AI development
session using its session key. Use this to monitor an asynchronous
edit until it completes, fails, or is cancelled — keep checking
until a terminal state. The session key comes from dreamagent_chat
or dreamagent_list_sessions and is an identifier, not a secret.

Returns (actual fields): 'active=', 'run_status=', 'next_after='
(cursor for the next check), optional 'new_output:' (text produced
since the last check), then either "Still working — poll again" or
a terminal 'done=true' line: finished (with the final output tail),
'the edit was NOT started: <reason>' (rejected early, e.g. HTTP 402
insufficient credits), or 'stream error' (the connection to the run
broke — the server-side run may still have finished; verify with
dreamagent_get_edit_progress).
run_status values: queued | running | cancel_requested | completed |
failed | cancelled | interrupted | unknown.

Input parameters:

- `after` (integer): cursor from the previous check (0 on the first check).
- `session_key` (string, required): the session key returned by dreamagent_chat.

Output parameters:

- `result` (string)

### `dreamagent_get_edit_progress` (~276 tokens)

Check the latest AI edit progress for a project using its project
identifier — no session key needed: the project id retrieves the
session holding the latest edit. Use when the user asks whether
their edit is finished, when the session key isn't available
(e.g. a new conversation), and BEFORE starting any new edit.

Returns (actual fields): 'session_key=' (the identifier of the
session this progress comes from), 'edit_active=', 'run_status=',
'chunks=' (output size so far), optional 'recent_output (tail):',
and a terminal 'result:' line: finished (with the final output
tail), 'the edit was NOT started: <reason>' (rejected early,
e.g. HTTP 402 insufficient credits), 'stream error', or 'no run is
currently active'.
run_status values: queued | running | cancel_requested | completed |
failed | cancelled | interrupted | unknown.

Distinct from dreamagent_get_project_status: project status =
creation/deployment state (creating/ready/failed); edit progress =
current AI modification state; chat status (dreamagent_get_chat_status)
monitors one specific session by its session key. If edit_active is
true, do NOT launch another edit for the same project.

Input parameters:

- `project_id` (integer, required): the project being edited.

Output parameters:

- `result` (string)

### `dreamagent_cancel_chat` (~130 tokens)

DESTRUCTIVE — stops an AI edit that is currently running. Use ONLY
when the user explicitly asks to stop/cancel the active edit.
After cancellation, do NOT claim the requested change was
completed — report that it was stopped.

Returns 'Cancellation requested: <backend message>' — e.g. 'Query
cancelled', 'Cancellation requested' (durable run), or 'No active
query found'. Afterwards poll dreamagent_get_chat_status /
dreamagent_get_edit_progress until run_status reports 'cancelled'.

Input parameters:

- `session_key` (string, required): the session key of the running edit.

Output parameters:

- `result` (string)

## Diagnostics

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

## Score history

- 2026-08-20: 64
- 2026-08-19: 63
- 2026-08-18: 63
- 2026-08-17: 62
- 2026-08-16: 62
- 2026-08-15: 62

## Links

- Remote endpoint: https://mcp.dreamagent.cloud/mcp
- Repository: https://github.com/nivethaug/dreamagent-mcp-server
- Website: https://dreamagent.cloud/
- Changelog RSS feed: https://verifymcp.io/servers/nivethaug-dreamagent/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/nivethaug-dreamagent/mcp.json
- HTML version of this page: https://verifymcp.io/servers/nivethaug-dreamagent/mcp
