
FlowDot MCP server
ai.flowdot/mcp-server·v1.3.21Build and run AI workflows, apps, toolkits and knowledge bases on FlowDot from any MCP client.
0 stars68 downloads/wk
Reviews
Write oneNobody has reviewed FlowDot yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
FlowDot tools (100, 48 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_connectionwrite actionCreate a connection between two nodes in a workflow. Connects an output socket to an input socket.
add_custom_node_commentAdd a comment to a custom node. Can also be used to reply to existing comments.
add_nodeAdd a new node to a workflow. Supports built-in nodes, custom nodes, and toolkit-tool nodes. For custom nodes, use "custom_node_{hash}". For a tool from an INSTALLED toolkit, use "toolkit_{toolkitId}_{toolName}" (e.g. "toolkit_xS03HmGAag_get_markets") — the tool's inputs become input sockets, each required credential becomes a "_cred_<KEY>" input resolved from your installation, and the node outpu
add_recipe_storeAdd a new store (variable) to a recipe. Stores hold data that flows between steps. **Store Types:** - **Input stores** (is_input: true): Values user provides when running - **Output stores** (is_output: true): Values returned after execution - **Internal stores**: Temporary values used during execution **IMPORTANT - The `request` Convention:** When users run a recipe with a task argument like: `fl
add_shared_result_commentAdd a comment to a shared execution result.
add_workflow_commentAdd a comment to a workflow. You can only comment on public workflows or your own workflows.
agent_chatChat with the FlowDot AI agent. The agent can help discover workflows, suggest which workflow to run, and explain workflow capabilities.
append_app_codeAppends content to the end of app code. CRITICAL: Remember export rules: - App entry file MUST end with: export default MyAppName; - When appending, content goes AFTER the closing brace but BEFORE the export - Use insert_app_code if you need to place code before the export statement Use this tool when you need to: - Add helper functions after the main component - Add additional components at the e
audit_propertyAudit a FlowDot property — a deterministic, full-scope inspection of what it can DO and REACH — before recommending, installing, or running it. **What you get back** - **Capability tags** at a glance: `network`, `knowledge_base`, `llm`, `file`, `external_effect`, `toolkit`, `credentials`, `sub_invoke`, `human_gate`. - **Network calls** — the literal outbound hosts + methods it can hit. - **Knowled
browse_community_input_presetsBrowse community-shared input presets across ALL workflows on the platform. Returns only presets the author has opted in to community visibility (`is_community=true`). This is the preset equivalent of `get_public_workflows`. To run one: read the preset's `inputs` payload, then call `execute_workflow` against the preset's parent workflow with those inputs. The parent workflow hash is returned with
browse_recipesBrowse public agent recipes shared by other users. Search by name, category, or tags.
browser_actPerform one UI action. action ∈ click | double_click | right_click | type | clear | press_key | scroll | hover | wait | upload_file | select_option | navigate. target = element text/selector/coords; value = text/key/url/file-path.
browser_closeClose one browser/Electron session and free its resources.
browser_describeRead the current page: title, url, headings, interactive elements (with selectors), visible text, forms, modals, and errors. The primary observation channel — use before acting.
browser_fill_formFill many form fields in one call, each with the correct interaction for its type (react-select, autocomplete, file upload, radio, checkbox). Autocomplete fields with no matching suggestion are left blank and reported failed — never filled with a wrong value.
browser_findFind candidate elements matching a natural-language description or text. Returns ranked selectors.
browser_launchOpen a web page in a real browser, OR launch an Electron app to QA it. Returns a session_id used by every other browser_* tool. Prefers your system Chrome/Edge (no download). Requires Playwright (optional dependency); returns an install hint if unavailable. Read the `learn://browser-driving` resource first for the observe→act loop and limits.
browser_list_sessionsList all open browser/Electron sessions.
browser_navigateNavigate a browser session to a new URL. Blocked from reaching the internal FlowDot node server (hub-mode).
browser_read_formReturn a schema of the page's main form: each field's label, ref, type (text|native-select|react-select|autocomplete|file|radio|checkbox|...), required flag, value, and dropdown options. Reads the TOP document only (iframed boards not covered). Use before browser_fill_form.
browser_screenshotCapture a PNG of the current page. Returns a base64 image (or writes to save_path if given).
browser_sequencewrite actionRun several actions in one call (fast, fewer round-trips). Each item is { action, target?, value? }.
browser_wait_forWait until a selector or text appears (up to a timeout).
cancel_decisionwrite actionRequest cancellation of one of your decision calls. Best-effort once dispatched; a finished call is only acknowledged.
cancel_executionwrite actionCancel a running workflow execution. Only works on executions with status "running" or "pending".
checkpoint_recipewrite actionCreate a manual checkpoint snapshot of a recipe. Unlike auto-snapshots (which coalesce within 60 seconds), a checkpoint is always recorded as its own version with parent_kind="checkpoint". Use before a multi-step rewrite so you can restore precisely to this point.
clone_appClone a public app to your library. Creates a private copy that you can customize. The cloned app will: - Be owned by you - Start as private (not published) - Have all the original code and configuration - Not include linked workflows (you'll need to link your own)
convert_documentConvert a document to another format; the output extension sets the target. Supported:
copy_custom_nodeCopy a public custom node to your library. The copy will be private by default.
create_agent_characterwrite actionCreate a new agent character (voice-call persona). All voice/STT/LLM/persona fields are required — the Hub rejects incomplete characters at save time with code CHARACTER_VOICE_CONFIG_INCOMPLETE. See learn://characters for recommended per-provider values.
create_app_filewrite actionCreate a new file in a multi-file FlowDot app. Creates a new file with the specified path and content. File constraints: - Max file size: 100KB per file - Max total app size: 512KB across all files - Allowed extensions: jsx, js, tsx, ts, css, json, md - No path traversal (../) allowed - No hidden files (starting with .)
create_custom_nodewrite actionCreate a new custom node with inputs, outputs, and script code. SCRIPT FORMAT (REQUIRED): ```javascript function processData(inputs, properties, llm) { // Access inputs by their exact names const myInput = inputs.InputName || ''; const myProp = properties.propertyKey; // Your logic here // Return object with keys matching output names EXACTLY return { OutputName: result }; } ``` VALID DATA TYPES:
create_documentwrite actionCreate a new document at a local path; the file extension sets the format
create_input_presetwrite actionCreate a new input preset (community input) for a workflow. This allows you to share pre-configured input values with others.
create_knowledge_categorywrite actionCreate a new category to organize documents in your knowledge base. Categories help group related documents for targeted RAG queries. Can create personal or team categories.
create_recipewrite actionCreate a new agent recipe. Recipes are reusable agent orchestration workflows. **After Creating:** 1. Save the returned hash - you need it for all subsequent operations 2. Add input stores (is_input: true) - **name primary input `request`** (every run surface passes the task as `inputs.request`: CLI `--input`, the native app's Run Focus, and the coding chat's `run_recipe`) 3. Add output stores (is
create_shared_resultwrite actionCreate a shareable link for a workflow execution result. This allows you to share specific execution outputs with others.
create_workflowwrite actionCreate a new empty workflow with a name and optional description. The workflow will be private by default.
delete_agent_characterwrite actionPermanently delete an agent character. Requires confirm: true. This is irreversible — any voice-call session in flight will fail with a 404 on its character lookup.
delete_appwrite actionPermanently delete an app. This action cannot be undone. The app and all its associated data (comments, votes, etc.) will be removed. Existing clones of the app will continue to work for their owners.
delete_app_filewrite actionDelete a file from a multi-file FlowDot app. Permanently removes the file from the app. This action cannot be undone. Note: Deleting the entry point file will require you to set a new entry point using set_app_entry_file.
delete_connectionwrite actionRemove a connection between two nodes in a workflow.
delete_custom_nodewrite actionDelete a custom node. This action cannot be undone.
delete_imagewrite actionDelete one of your uploaded images by id. Removes the stored file and frees the storage it used. Only your own images can be deleted.
delete_input_presetwrite actionDelete an input preset. You can only delete presets you created.
delete_knowledge_categorywrite actionDelete a knowledge base category. Documents in the category will become uncategorized (not deleted).
delete_knowledge_documentwrite actionPermanently delete a document from your knowledge base. This removes the file and all associated chunks/embeddings.
delete_nodewrite actionDelete a node from a workflow. This also removes all connections to/from the node.
delete_recipewrite actionPermanently delete an agent recipe. This action cannot be undone.
delete_recipe_stepwrite actionDelete a step from a recipe. References to this step will need to be updated.
delete_recipe_storewrite actionDelete a store from a recipe. Steps using this store will need to be updated.
delete_workflowwrite actionPermanently delete a workflow. This action cannot be undone. Only the workflow owner can delete it.
document_templateManage saved document templates: a named spec you build from repeatedly, with per-use
duplicate_agent_characterDuplicate one of your own agent characters. Unlike fork, this copies the full LLM choice as well — useful for spinning up a variant.
duplicate_workflowwrite actionCreate a copy of an existing workflow. The new workflow will be private and editable.
edit_app_codePerforms exact string replacement in app code. Similar to find-and-replace. CRITICAL: Remember these rules when editing code: - NO IMPORTS - React is global - MUST include export default at the end: export default MyAppName; - NO FORM ELEMENTS - Use div + button with type="button" instead - Workflow results: Use getNodeOutput(result, nodeTitle) helper - ALL BUTTONS need type="button" attribute Use
edit_documentApply structured edits to a document in place and save it. Ops:
email_archivewrite actionArchive an email message (removes from inbox). Subject to mailbox grant permissions.
email_deletewrite actionMove an email message to trash. Subject to mailbox grant permissions. This is a soft delete (trash), not permanent.
email_draftwrite actionCreate an email draft in a connected mailbox. The draft is saved but not sent.
email_labelwrite actionAdd or remove labels on an email message. Subject to mailbox grant permissions.
email_list_threadswrite actionList email threads from a connected mailbox. Returns recent threads with subject, participants, and message count.
email_readwrite actionRead a specific email message by ID. Returns full message content including headers, body, and attachments list.
email_replywrite actionReply to an email message. Subject to mailbox grant permissions.
email_searchwrite actionSearch emails in a connected mailbox. Requires an active email integration.
email_sendwrite actionSend an email through a connected mailbox. Subject to mailbox grant permissions —
execute_decisionwrite actionRun a typed Jev decision (noul yes/no, choice, score) and wait for the result. SPENDS the user's credits
execute_workflowwrite actionExecute a FlowDot workflow by ID. Use list_workflows first to get available workflow IDs.
get_decisionRead one of your decision calls by call_id (status, settlement, answers when available). Never creates work.
get_document_infoGet a document's structured outline: format, per-format summary (counts of slides/pages/sheets/paragraphs),
inspect_documentFile-level PDF detail an outline cannot carry: byte size on disk, page count, every
learn_aboutLoad a FlowDot area: returns a short how-to AND unlocks that area's full
list_decision_modelsList decision models with primitives, limits, price per million input tokens, availability and whether this connection may execute/read/cancel.
list_my_resourcesList the current user's existing FlowDot resources of a given type (so you can
mcp__flowdot__add_toolkit_commentAdd a comment to a toolkit. Share feedback, ask questions, or discuss the toolkit with the community.
mcp__flowdot__check_toolkit_credentialsCheck credential status for a toolkit installation. Shows which credentials are required and which are missing.
mcp__flowdot__copy_agent_toolkitCopy/duplicate a toolkit. Creates a private copy of a toolkit that you can customize.
mcp__flowdot__create_toolkit_toolwrite actionCreate a new tool in a toolkit. Add HTTP or Workflow-based tools to your agent toolkit with custom input/output schemas and credentials. For signed-request crypto exchange APIs (Robinhood Crypto, Binance, etc.), use endpoint_config.signing to declare the algorithm and message template — the Hub computes a fresh signature on every request.
mcp__flowdot__delete_agent_toolkitwrite actionDelete a toolkit permanently. WARNING: This cannot be undone. All tools, installations, and related data will be deleted.
mcp__flowdot__delete_toolkit_toolwrite actionDelete a tool from a toolkit. WARNING: This cannot be undone. The tool will be permanently removed.
mcp__flowdot__favorite_toolkitAdd or remove a toolkit from your favorites.
mcp__flowdot__get_agent_toolkitGet detailed information about a specific agent toolkit. Returns comprehensive toolkit details including tools, credentials, and metadata.
mcp__flowdot__get_toolkit_commentsGet comments on a toolkit. View community feedback and discussions about a toolkit.
mcp__flowdot__get_toolkit_toolGet detailed information about a specific tool in a toolkit. Shows input schema, configuration, and requirements.
mcp__flowdot__install_toolkitInstall a toolkit to your account. After installation, you can configure credentials and use the toolkit's tools.
mcp__flowdot__invoke_toolkit_toolwrite actionExecute a tool from an installed toolkit. Runs the tool with provided inputs using your configured credentials. You can optionally pass credential_overrides to provide dynamic credentials (like tokens from a previous tool call).
mcp__flowdot__list_agent_toolkitsList your own MCP agent toolkits with optional filtering. Toolkits are collections of custom tools that can be installed and used by AI agents. Each toolkit can contain multiple related tools with shared credentials and configuration.
mcp__flowdot__list_installed_toolkitsList all toolkits you have installed. Shows installation status and credential configuration for each toolkit.
mcp__flowdot__list_toolkit_toolsList all tools in a toolkit. Shows tool names, descriptions, and types (HTTP or Workflow).
mcp__flowdot__search_agent_toolkitsSearch the public MCP toolkit marketplace for toolkits created by other users. Discover reusable tool collections for various use cases like API integrations, data processing, automation, and more.
mcp__flowdot__test_toolkit_installationwrite actionRun a Test Connection diagnostic against an installed toolkit. Resolves the toolkit's health-check tool (the one designated by `health_check_tool_id`, or auto-detected as the first GET-method HTTP tool with no required inputs) and invokes it with empty inputs. Returns a structured diagnostic outcome. Use this to verify a toolkit is actually working before running production tools. Possible `test_o
mcp__flowdot__toggle_toolkit_activeEnable or disable a toolkit installation. Inactive toolkits won't be available for use but remain installed.
mcp__flowdot__toggle_toolkit_visibilityChange toolkit visibility (private, public, or unlisted). Public toolkits are searchable by others. Unlisted are accessible via direct link only.
mcp__flowdot__uninstall_toolkitUninstall a toolkit from your account. Removes the installation and credential mapping (toolkit itself remains available).
mcp__flowdot__update_agent_toolkitwrite actionUpdate an existing agent toolkit's metadata. Modify title, description, category, tags, and other toolkit properties. ## Updating the public README Use `readme` to set the GitHub-style markdown README shown on the public toolkit page (`/toolkit/{hash}`). Only the toolkit's author (or a team member with edit rights) can change it. Pass an empty string to clear it. Max 100,000 characters. ## Updatin
mcp__flowdot__update_toolkit_installationwrite actionUpdate toolkit installation (configure credential mapping). Map toolkit credential requirements to your stored API keys.
mcp__flowdot__update_toolkit_toolwrite actionUpdate an existing tool in a toolkit. Modify tool configuration, schemas, endpoints, or credentials.
mcp__flowdot__vote_toolkitVote on a toolkit (upvote, downvote, or remove your vote).
merge_documentsConcatenate PDFs into a single file, in the order given. Page content only —
read_documentRead the full text of a local document (pdf, docx, pptx, xlsx, md, txt, csv) by file path.
Public scan report
scanner v0.1.10 · 2026-10-14 · same rubric, same numbers if you re-run it
- Code scan388 source files scanned20/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 10 days ago15/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
Findings (1)
- mediumeval / new Function used
exec.evaldist/utils/script-validator.js: … { pattern: /\beval\s*\(/, msg: 'eval() is blocked in sandbox' }, { pa…
How FlowDot compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 72/100
- higher than 38% of 48,255 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 48%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 68
- more than 53% of 12,191 servers with a package
What its tools let an agent do: 43 read · 16 create · 14 change · 16 delete · 9 send or post · 2 run or deploy
Install FlowDot in Claude Code, Cursor or VS Code
Runs npx -y @flowdot.ai/mcp-server on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add mcp-server -- npx -y @flowdot.ai/mcp-server
What the publisher says
From the FlowDot repository's README, as published. We do not edit it. Read it on GitHub
@flowdot.ai/mcp-server
Connect Claude Desktop, Cursor, Windsurf, Claude Code, and any other MCP-compatible AI client to the entire FlowDot platform — workflows, recipes, custom nodes, apps, knowledge bases, agent toolkits, and the full community/sharing layer.
What is MCP?
MCP (Model Context Protocol) is an open standard that lets AI models interact with external tools and services. The FlowDot MCP Server exposes 150 tools across 17 functional categories, plus 8 educational learn:// resources, giving an AI client a complete operational interface to FlowDot — no web UI required.
With this server, an AI client can:
- Build workflows from scratch — create graphs, add nodes, wire connections, validate, execute, stream results
- Author and share custom nodes — write JavaScript components, validate them with AST parsing, publish to the community
- Develop FlowDot Apps — full React multi-file projects with surgical code editing operations
- Design agent recipes — multi-step agentic programs with stores, gates, branches, loops, parallel steps, and sub-recipes
- Manage knowledge bases (RAG) — categories, documents, uploads, semantic queries
- Create and invoke agent toolkits — define new tools, configure OAuth/API-key credentials, install, invoke
- Set up agent characters for voice calls — list/get/create/update/delete/fork/duplicate/publish, with server-side voice-config completeness validation
- Share and discover — public URLs, voting, comments, favorites, community browsing
- Run and observe executions — start, stream via SSE, cancel, retry, view history and metrics
Note: Recipes can be designed through MCP but must be executed via the FlowDot CLI (@flowdot.ai/cli). Recipes are long-running agentic programs that exceed AI client timeouts and require local file/code/shell access.
Quick Start
1. Get a free MCP Token
Create a free FlowDot account. You land on the MCP Tokens tab: click Select all (or pick scopes, see Token Scopes), then Create Token. The token starts with fdmcp, and the page shows the ready-to-paste setup below with your token filled in.
The free plan includes 5 workflow runs a day and 10 toolkit calls a day. The Creator plan is $19 a month (500 runs a month, 200 toolkit calls a day). Details: flowdot.ai/mcp.
2. Connect your client
Claude Code (one command):
claude mcp add flowdot -e FLOWDOT_API_TOKEN=fd_mcp_your_token_here -- npx -y @flowdot.ai/mcp-serverClaude Desktop, Cursor and other clients: add the block below to the client's config file.
macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json Windows: %APPDATA%\Claude\claudedesktopconfig.json
{
"mcpServers": {
"flowdot": {
"command": "npx",
"args": ["-y", "@flowdot.ai/mcp-server"],
"env": {
"FLOWDOT_API_TOKEN": "fd_mcp_your_token_here"
}
}
}
}3. Restart the client
Restart Claude Desktop, Cursor or your MCP client so it loads the server. Claude Code picks it up on the next session.
Installation Options
Option A: Claude Desktop Extension (.mcpb)
Download the .mcpb extension bundle and double-click to install in Claude Desktop. The extension includes Node.js runtime and all dependencies — no separate installation needed.
Option B: npm (Cursor, Claude Code, manual config)
npx @flowdot.ai/mcp-serverOr install globally:
npm install -g @flowdot.ai/mcp-server
flowdot-mcpEducational Resources (learn://)
The server exposes 8 standalone concept guides via the MCP ReadResourceRequest interface. Read these before invoking tools to scaffold your understanding:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
FlowDot: common questions
- Is FlowDot MCP server safe?
- Mostly: it is graded B (72/100). Read the FlowDot safety report
- How do I install FlowDot?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does FlowDot need an API key?
- Yes. The registry entry asks for
FLOWDOT_API_TOKEN. - Is FlowDot maintained?
- The last commit was 31 days ago (2026-10-04). The latest release is v1.3.21.
- How does FlowDot compare with other MCP servers?
- safety score 72/100 (higher than 38% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 48% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.