mcp · oauth/any MCP client
AI workflow
Ship from the editor you already use.
Type in Cursor or Claude. Your editor checks the deploy, reads the logs, and ships the next change.
In the dashboard
Ask about the running app.
See the apps, the deploys, and the logs without leaving the product. The editor uses the same tools after you connect it.
Connected over OAuth. Send a prompt. The agent calls the same tools as the dashboard. Nothing here hits the network.
Send a prompt. tools/call params land here.
t+1 session
Ask once. Production is running.
The editor inspects the deploy, reviews the logs, and ships the next change. You keep writing.
params
result
t+2 wire
Connect the editor. Keep writing.
Drop this into Cursor, Claude Code, Copilot, Codex, or Antigravity. Authorize once. After that, you ship from chat.
{
"mcpServers": {
"dflow": {
"url": "https://app.dflow.sh/api/mcp"
}
}
}Opens the app
Copies the command
t+3 methods
The same tools as the dashboard.
Filter a method, read what it does. Names match the server. Nothing here is invented.
Applications6
Environments5
Worker nodes3
Services23
Deployments6
Git providers6
Templates5
Docker registries3
Backups12
method
create_app_service
Create app service
Apps, databases, Docker images, env, domains, scale. The daily surface.
use
Spin up an app service on the environment’s worker node, then set git or file source.
{
"method": "tools/call",
"params": {
"name": "create_app_service"
}
}t+4 scope
Your editor. Your role. That machine.
One consent. The same access you already have. Calls land on the environment you picked.
01 · consent
One OAuth screen
The editor asks once. You can revoke the client from the dashboard. No long-lived personal tokens sitting in a dotfile.
02 · grants
The agent inherits your role
It gets the same create, read, update, and delete you have. Nothing above it. Encrypted variables are redacted on read.
03 · compute
Calls land on that environment’s node
Every tool runs against the worker node bound to the environment you picked in the workspace.
t+5 recover
Fix production from the editor.
When something breaks, the logs are already in chat. Fix it. Ship again. You do not leave the work.
14:02:11get_service_runtime_logs
storefront-web · tail 42 · worker-node i-9f2
ERROR ECONNREFUSED 127.0.0.1:5432 src/db.ts:18
GET /checkout 500 18ms
01
Logs streamed to your editor
02
Diff-friendly fixes you can review
03
Ship the patch back to prod in one flow
t+6 notes
AI workflow questions
Editors, what you can do from chat, and where the app runs.
t+7 continue
Connect your editor and ship
Open Cursor, Claude, Copilot, or Codex. Connect dFlow. Ask it to inspect, debug, and deploy.