Odel
DreamAgent

DreamAgent

@nivethaugPythonUpdated 1w ago

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

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

DreamAgent MCP

Turn natural-language requests into deployed applications.

Connect ChatGPT, Claude, or any MCP client to DreamAgent — build websites, Telegram bots, Discord bots and schedulers from a conversation, watch them go live, then keep iterating.

streamable-http · OAuth 2.1 + PKCE · 10 tools · Python / FastMCP


What DreamAgent does

DreamAgent is an AI app-builder platform: you describe what you want, its agent writes the code, runs the tests, rebuilds, redeploys to production and commits to git — automatically. This MCP server exposes that power to your AI chat, so:

You: "Create a Telegram bot called WeatherBot — token 123:ABC — it replies with the weather when I send a city name."

ChatGPT: creates it → polls → "WeatherBot is live."

You: "Add a /forecast command for 5-day forecasts."

ChatGPT: sends the edit → the agent codes, tests, redeploys → done.

Tools

ToolWhat it does
dreamagent_list_projectsList your projects (id, type, status, domain)
dreamagent_create_projectCreate a website / Telegram bot / Discord bot / scheduler
dreamagent_get_project_statusPoll a build until ready / failed
dreamagent_chatSend a build/edit/debug instruction to the project's AI agent
dreamagent_get_chat_statusPoll an edit run (incremental output)
dreamagent_get_edit_progressEdit progress by project — no session key needed
dreamagent_list_sessionsList conversation threads per project
dreamagent_create_sessionStart a fresh topic thread
dreamagent_cancel_chatCancel a running edit
dreamagent_release_project_lockLast-resort unlock (confirm first)

Long operations are submit-then-poll — create → poll status, edit → poll progress. The agent handles code, tests, rebuild, redeploy and git commits by itself; prompts only describe the change.

Connect — ChatGPT

With the official app (recommended): find DreamAgent in the ChatGPT app directory → Connect → sign in with your DreamAgent account (email or Google).

As a custom connector:

  1. In DreamAgent → Settings → Connect to ChatGPTCreate Key → copy the full URL (it contains your key)
  2. ChatGPT → Settings → Apps & Connectors → AdvancedAdd custom connector
  3. Paste the URL as the MCP Server URL, choose OAuth (or No authentication — the key rides in the URL), save
  4. Ask: "Show my DreamAgent projects"

Connect — Claude

Claude → Settings → Connectors → Add custom connector:

  • Name: DreamAgent
  • Remote MCP server URL: https://mcp.dreamagent.cloud/mcp
  • OAuth: leave empty — Claude auto-discovers it

Click Connect, sign in with DreamAgent, done.

Connect — any MCP client

{
  "mcpServers": {
    "dreamagent": {
      "type": "streamable_http",
      "url": "https://mcp.dreamagent.cloud/mcp"
    }
  }
}

Auth is OAuth 2.1 (authorization-code + PKCE, RFC 7591 dynamic registration) — or pass a DreamAgent API key as Authorization: Bearer da_... / ?key=da_....

Example prompts

  • "Show my DreamAgent projects"
  • "Create a Discord bot called PriceBot — token <from Discord dev portal> — it shows crypto prices with /price and /top commands"
  • "Is my website finished building?"
  • "My crypto bot stopped replying — what's wrong?" (edits start with the agent reading the project logs)
  • "Add a dark-mode toggle to my documentation site"
  • "Roll back yesterday's dashboard change" (via chat)
  • "How many AI credits do I have left?"

How it works

ChatGPT / Claude / Glama
   │  MCP (streamable HTTP) + OAuth 2.1
   ▼
mcp.dreamagent.cloud ── this server (FastMCP)
   │  per-request Bearer = the user's own DreamAgent API key
   ▼
api.dreamagent.cloud ── DreamAgent platform
   └── agent writes code → tests → rebuild → deploy → git commit

Every request runs as the connected user — DreamAgent's ownership checks, plan limits and AI-credit billing apply exactly as in the dashboard.

Security & privacy

  • Your key, your account. OAuth issues a revocable DreamAgent API key (da_...) at connect time — visible and revocable any time in Settings → Connect to ChatGPT. Revoking disconnects that client instantly; other clients keep working.
  • OAuth done right. Authorization-code + PKCE (S256) mandatory, single-use 120-second codes, redirect-URI allowlists (loopback per RFC 8252), login rate-limiting, secrets validated when presented. Client registrations persist across restarts.
  • No secrets in chat. Bot tokens for Telegram/Discord travel over HTTPS to DreamAgent and are stored server-side as project env vars — the same as the dashboard's create dialog. The MCP server never logs credentials.
  • Tokens are never stored by this server — it forwards the caller's own Bearer per request and keeps no database.

Privacy: dreamagent.cloud/privacy · Terms: dreamagent.cloud/terms

Screenshots

Coming soon — a GIF of "Create a Telegram bot" end-to-end from ChatGPT.

Self-hosting / development

The hosted endpoint (mcp.dreamagent.cloud) is the easiest way to connect. To run your own:

git clone https://github.com/nivethaug/dreamagent-mcp-server
cd dreamagent-mcp-server
pip install -r requirements.txt
cp .env.example .env          # optional: your account for local stdio mode
python server.py              # stdio
python server.py --http --port 8800   # remote MCP (put behind HTTPS)

Three modes of authentication, in priority order per request:

  1. Authorization: Bearer da_... header (OAuth clients / API clients)
  2. ?key=da_... URL parameter (NoAuth custom connectors)
  3. DREAMAGENT_EMAIL / DREAMAGENT_PASSWORD env (personal self-host)

Layout: server.py (tools) · oauth.py (OAuth 2.1 provider: /register, /authorize, /token, /.well-known/*) · dreamagent_client.py (API client) · auth.py (login mode) · plugin/ (Codex plugin package).

OAuth client registrations persist in oauth_clients.json; extend trusted gateway callbacks via TRUSTED_OAUTH_REDIRECTS.

Links

License

MIT