Workato Dev MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Workato Dev MCPlist my Workato recipes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Workato Dev MCP
A local MCP server that lets you author and debug Workato recipes from Claude (Code, Desktop, or any MCP client).
The official Workato Developer API MCP (app.workato.com/mcp) is management/read-only — it can't create or update recipe code or start/stop recipes. This server does, by wrapping the Workato Developer REST API operations a recipe developer actually needs.
Zero dependencies — standard library only, any Python 3.8+. No pip install.
Quick install (Claude Code)
From the repo, one command registers the server with Claude Code:
WORKATO_TOKEN=your-developer-api-token bash bin/install.shOr bootstrap from scratch (clone + register) with one line:
curl -fsSL https://raw.githubusercontent.com/krishnagutta/workato-dev-mcp/main/bin/quickstart.sh | bashThen start a new Claude session and try: "list my Workato recipes".
Even simpler — project-scoped auto-detection
This repo ships a .mcp.json. If a teammate opens the repo folder in Claude Code with WORKATO_TOKEN exported in their shell, Claude Code detects the server automatically — no claude mcp add needed. Approve it once when prompted.
export WORKATO_TOKEN=your-developer-api-token # add to ~/.zshrc to persist
cd workato-dev-mcp
claude # Claude Code picks up .mcp.jsonRelated MCP server: Pulse Workflow MCP Server
Prerequisites
Python 3.8+ (
python3 --version) — already on macOS/Linux.A Workato Developer API token — Workato → Workspace admin → API clients. The Recipe operator role is enough for recipe CRUD. Copy the token (starts with
wrkaus-).For Claude Code: the
claudeCLI installed (only needed forbin/install.sh).
Manual setup (any MCP client)
If you'd rather wire it by hand (Claude Desktop, or pinning an absolute path):
{
"mcpServers": {
"workato-dev": {
"command": "python3",
"args": ["/absolute/path/to/workato-dev-mcp/server.py"],
"env": {
"WORKATO_TOKEN": "your-developer-api-token",
"WORKATO_API_BASE": "https://www.workato.com/api"
}
}
}
}Claude Desktop config:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS).Claude Code user scope:
~/.claude.json.
Restart the client, start a new chat, and you should see the workato-dev tools.
What it gives you (33 tools)
Recipes
Tool | Purpose |
| Find and inspect recipes (incl. the parsed code tree) |
| Author recipe code (JSON) |
| Activate/deactivate (start = the validator) |
| Duplicate / remove |
| Version history for tracking / rollback awareness |
| Debug — per-step input/output/error from job history |
Workspace & config
Tool | Purpose |
| Confirm which workspace/user your token is in |
| Browse for config wiring |
| Create a folder (optionally nested) |
| Read/write account properties (config + feature flags) |
API Platform — Workato MCP servers
A Workato MCP server built on API Platform is an API collection exposed as MCP; its tools are API endpoints, each backed by a recipe. These tools let the dev MCP introspect that surface. (The AI-Hub-native MCP / Genie layer has no Developer API — manage it in the UI.)
Tool | Purpose |
| List API collections (each can be exposed as an MCP server) |
| List a collection's endpoints — the MCP server's tools, with method/path/ |
| List API clients (the credentialed consumers) |
| List access profiles (client ↔ collection scope bindings) |
| Activate an endpoint (turn a tool ON). Start its recipe first. Mutates a live MCP server. |
| Deactivate an endpoint (turn a tool OFF). Mutates a live MCP server. |
| Create a collection to expose as an MCP server (endpoints are still added in the UI) |
Not yet covered — AI-Hub-native MCP servers. Workato documents a server-management API at
/api/mcp/mcp_servers(create/list servers,assign_tools, edit tool descriptions), but with the current Developer API token that path returns the HTML login page on bothwww/apphosts — i.e. the API client lacks MCP scope (or the feature isn't enabled on the plan). Grant the API client API-platform/MCP scope in the Workato UI and those tools become a quick follow-up. Endpoint enable/disable above works today because it lives on the standard/api_endpointsrouter.
Lookup & data tables
Tool | Purpose |
| Browse lookup tables; read rows (e.g. captured logs) |
| Append a row (capture/log writes) |
| List Workato Data Tables |
Knowledge base (two-tier, like the Studio MCP)
Tool | Purpose |
| Curated cheat sheet of recipe-authoring gotchas (the promoted tier) |
| Append a newly discovered gotcha to |
| Read |
Auth & data residency
WORKATO_TOKEN(required) — your personal Developer API token. Each dev uses their own; nothing is shared or hosted.WORKATO_API_BASE(optional) — defaults tohttps://www.workato.com/api(US). Set per your data center, e.g.https://app.eu.workato.com/api.
The recipe edit loop
get_recipe(id, include_code=true) # pull the code tree
→ edit the JSON in conversation
→ stop_recipe(id) # running recipes can't be updated
→ update_recipe(id, code=<json>)
→ start_recipe(id) # start = the compiler; read validation errors
→ list_jobs / get_job # after a test run, inspect real step I/ORun workato_recipe_tips and get_learnings once before building — they capture the datapill format, the trigger extended_output_schema requirement, the HTTP string-body trick, custom-code schema gotchas, valid condition operands, and the job-log debugging pattern. These are the things that otherwise cost hours.
Capturing learnings (two-tier, like the Studio MCP)
The knowledge base grows as you use it:
learnings.md(repo root) is the intake queue — append-only, low-friction. When Claude discovers a gotcha that isn't already inworkato_recipe_tips, it callslog_learningto append a dated, categorized entry. Then commit the file so teammates inherit it.workato_recipe_tips(the_TIPSblock inserver.py) is the curated tier. During periodic review, raw learnings are promoted into it and marked**Status**: promotedinlearnings.md.
log_learning / get_learnings are pure local file operations — no Workato API call, no token needed. The file is anchored to the repo via __file__; override the location with WORKATO_LEARNINGS_PATH if needed.
Notes / limits
This is a dev tool — it can create, edit, start/stop, and delete recipes. Use a token scoped to a dev/impl workspace; be careful with
delete_recipe.It does not touch the AI Hub layer (adding tools to an MCP server, server instructions, MCP Apps, or a tool's param-schema refresh) — those remain manual in the Workato UI. After a recipe param-set change, the MCP client that consumes that tool needs an app restart to see the new schema.
Sharing: commit this folder to an internal git repo; teammates clone and either run
bin/install.shor exportWORKATO_TOKENand let.mcp.jsonauto-detect it.
This server cannot be deployed
Maintenance
Related MCP Connectors
Work with your DealSharp negotiation projects, documents and tools from Claude.
1Run UX research from Claude — create card sort studies, list studies, pull headline stats.
Read, edit, publish, and preview your pepita websites from Claude.
Work on your own computers from Claude or ChatGPT: run commands, edit and search files.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables ChatGPT to manage n8n workflows through the official REST API. Supports creating, updating, deleting, and running workflows with execution status monitoring.-
- AlicenseCqualityDmaintenanceEnables Claude Code to browse, create, edit, and publish Pulse workflows by exposing workflow operations as MCP tools.36MIT
- AlicenseAqualityDmaintenanceWraps the n8n self-hosted REST API to let Claude and MCP-compatible LLMs manage workflows, executions, credentials, and more via natural language.3953 npmMIT
- AlicenseNot gradedqualityBmaintenanceConnects Claude to PagerDuty Workflow Automation (formerly Catalytic), enabling discovery of workflows, triggering runs with inputs, and monitoring or aborting running instances.MIT