MCP Server
Connect the hosted Notiflows MCP server to Claude Code, Cursor, or Claude Desktop and manage, publish, and trigger notiflows conversationally over the Model Context Protocol.
The Notiflows MCP server is a hosted Model Context Protocol server that exposes the Management API as MCP tools. It runs at https://api.notiflows.com/mcp, so any MCP-capable client — Claude Code, Cursor, Claude Desktop, and others — can list, inspect, create, validate, publish, and trigger notiflows by talking to an AI assistant.
It is a thin layer over the same Management API the CLI uses: same account token, same flat-steps notiflow shape, same server-side validation. Like every Notiflows AI surface, it runs inside your assistant on your model — the server only carries your API calls, never an LLM.
Authenticate
The server authenticates with a Notiflows account token (prefix nf_at_), sent as a bearer token: Authorization: Bearer nf_at_…. Create one in the dashboard under Account → Account tokens, and name it after the assistant using it (e.g. claude-mcp) so its actions stay auditable.
The token is account-scoped, so a single connection can manage every project in the account. You pick the target project per call — see Multiple projects.
The account token carries full read/write access through the Management API. There are no per-project tokens or fine-grained scopes today — treat it as a privileged credential, store it in a secret manager, and revoke it if it leaks. See Account tokens.
Connect
Editors speak MCP over stdio, so they reach the hosted HTTP endpoint through mcp-remote — a small npx package that bridges the editor's stdio transport to a remote MCP server and forwards the Authorization header. Node.js 18+ is required (for npx).
Claude Code
claude mcp add notiflows -- npx -y mcp-remote https://api.notiflows.com/mcp --header "Authorization: Bearer nf_at_YOUR_TOKEN"Cursor / Claude Desktop
Add the server to your client's MCP config — .cursor/mcp.json (Cursor) or claude_desktop_config.json (Claude Desktop):
{
"mcpServers": {
"notiflows": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.notiflows.com/mcp", "--header", "Authorization: Bearer nf_at_YOUR_TOKEN"]
}
}
}Replace nf_at_YOUR_TOKEN with your account token. Restart the editor (or reload its MCP servers) and the Notiflows tools become available to the assistant.
Multiple projects
Because the account token reaches every project, one connection manages all of them. Project-scoped tools take an optional project argument — a project slug. There is no implicit default on the hosted server: omit project and the tool returns an error asking you to supply one.
Call list_projects to discover the slugs your token can access, then pass one explicitly:
list_notiflows {"project": "marketing"}In practice the assistant carries the project across a conversation once you've named it, so you usually set it once ("work in the marketing project") and let the model thread it through.
Tools
The server exposes 17 tools. Each maps to a verified Management API endpoint.
Identity
whoami— verify the token and return the authenticated account.list_projects— list the projects the account token can access, with their slugs.
Notiflows
list_notiflows— list notiflows in the project (summaries, no steps).get_notiflow— fetch a notiflow by handle, including its current and published version steps.upsert_notiflow— create or update a notiflow (creates a new draft version). Send the full flat steps array, including the terminaltriggerandendsteps; handles are lowercase letters, digits, and hyphens only.validate_notiflow— validate the current draft on the server.publish_notiflow— publish the current draft so it becomes live for execution.activate_notiflow— toggle whether the notiflow can be triggered (the active flag).rollback_notiflow— discard the unpublished draft and revert to the published version.run_notiflow— trigger a run. Requires eitherrecipientsor atopic. Runs the published version by default; passdraft: trueto test-run the current unpublished draft. Attributed to the account token (auditable). Returnsnotiflow_run_id.
Versions
list_versions— list a notiflow's version history.get_version— fetch a specific version (with steps).
Templates
get_template— read a channel step's template.upsert_template— create or update a channel step's template (body must be non-empty).
Channels (read-only — configured in the dashboard)
list_channels— list the project's delivery channels.get_channel— fetch a channel by handle.
Docs
search_docs— search the Notiflows documentation.
Safe by design. There are no delete or archive tools, and channels are read-only. rollback_notiflow (which discards an unpublished draft) is the only semi-destructive operation, so an assistant can create and ship freely without risking data loss.
What you can ask
With the server connected, you describe the outcome and let the assistant drive the tools:
- "List the projects I have access to, then list the notiflows in
marketing." - "Create a welcome email notiflow in
acmethat sends an email, waits a day, then sends a follow-up." - "Publish the
order-shippednotiflow." - "Run
welcome-seriesforuser_123withfirst_nameset to Ada." - "Show me the version history of
order-shippedand roll back the draft."
Related
- CLI — the same operations at the terminal and in CI.
- Agent toolkit — give your own agents the ability to trigger notiflows.
- Agent skills — teach your assistant the notiflow schemas and CLI.
- llms.txt & docs for agents — machine-readable docs for grounding an assistant.
- Notiflows for AI — the AI surfaces overview.
Notiflows for AI
Notiflows is AI-native — manage notiflows as code and let your own AI agents inspect, create, and trigger them. Your AI, your tokens.
Agent Toolkit
The Notiflows agent toolkit (@notiflows/agent-toolkit) turns your published notiflows into typed, callable tools for your own AI agents — Vercel AI SDK, OpenAI function calling, and LangChain.