Workato Dev MCP
A local, zero-dependency MCP server to author, lint, deploy, and debug Workato recipes from Claude. It wraps the Workato Developer REST API, RLCM package API, and Data Tables record API with 56 tools.
README
Workato Dev MCP
A local, zero-dependency MCP server to author, lint, deploy, and debug Workato recipes from Claude (Code, Desktop, or any MCP client). It wraps the Workato Developer REST API, the Recipe Lifecycle Management (RLCM) package API, and the Data Tables record API.
Why not the official one? The hosted Workato Developer MCP (app.workato.com/mcp) is
management/read-only — it can't create or update recipe code or start/stop recipes. This can.
It also adds a pure-Python recipe linter, RLCM export/import, Data Table row CRUD, and AI Hub
MCP-server management.
- Zero dependencies — Python 3.8+ standard library only. No
pip install, no build step. - Bring your own token — each developer uses their own Workato API-client token. Nothing hosted or shared.
- 56 tools across recipes, linting, RLCM round-trip, connections, data/lookup tables, API Platform, and AI Hub MCP servers.
Forked from
krishnagutta/workato-dev-mcp; extends it with RLCM round-trip, Data Table CRUD, a scaffolder, AI Hub MCP management, and a pure-Python port of Workato Labs'recipe-lint(MIT). Full attribution inLICENSE.
Setup (Claude Code)
First get a Workato API-client token: Workspace admin → API clients (which privileges to grant — and how to wire Claude Desktop / other clients — are in docs/SETUP.md). Then:
git clone https://github.com/gmunro-lyft/Workato-Claude-MCP.git
cd Workato-Claude-MCP
cp .env.example .env # 1. copy the env template
# 2. edit .env → set WORKATO_TOKEN=wrkaus-…
python3 mcp/server.py --selftest # 3. confirm the server loads (no token needed)
claude # 4. launch Claude Code; approve "workato-dev" once
Then in a new session try: "list my Workato recipes" or "lint recipe 12345678".
The recipe edit loop
get_recipe(id, include_code=true) # pull the code tree (source of truth for editing)
→ edit the JSON in conversation
→ lint_recipe(recipe_id=id) # catch structural/datapill bugs BEFORE saving
→ stop_recipe(id) # running recipes can't be updated
→ update_recipe(id, code=<json>)
→ start_recipe(id) # start = the real compiler; read its validation errors
→ list_jobs / get_job # after a test run, inspect real per-step I/O
Run 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.
Linting
Two local, no-token tools statically analyse recipes before deploy: lint_recipe (one recipe,
by path or recipe_id) and validate_package (a whole package directory + package-level
checks). Both return structured diagnostics from a pure-Python port of recipe-lint's Tier 0/1
rules. See docs/LINTING.md for the rule table and the full 66-rule engine.
Region
Defaults to the US data center. For another region set WORKATO_API_BASE (and
WORKATO_DATA_TABLES_BASE for Data Table row tools) in .env — e.g. EU is
https://app.eu.workato.com/api. Full table in docs/SETUP.md.
Verify & test
All of these are offline, need no token, and require no install (stdlib only):
python3 mcp/server.py --selftest # the tool registry loads and is internally consistent
python3 mcp/server.py --list-tools # print every tool + a one-line description
python3 mcp/server.py --version # print the server version
python3 -m unittest discover -s tests # run the unit tests
python3 tools/gen_tools_doc.py --check # docs/TOOLS.md is in sync with the tools
The tests also run under pytest if you prefer it.
Documentation
- docs/SETUP.md — create the API client, privileges, token wiring (Code / Desktop / other), regions
- docs/TOOLS.md — the full 56-tool reference (generated from the server)
- docs/LINTING.md — lint rules + the upstream Go engine
- CONTRIBUTING.md — add a tool, run the checks, and the allowlist-
.gitignorerule
Capturing learnings
The knowledge base grows as you use it. mcp/learnings.md is the append-only intake queue — when
Claude hits a gotcha not in workato_recipe_tips, it calls log_learning. Scrub any
workspace-specific names/IDs before committing (see CONTRIBUTING) —
the file is tracked and publishes verbatim. During review, raw learnings are promoted into
workato_recipe_tips (the curated tier). log_learning / get_learnings are pure local file
ops — no token.
Notes / limits
- This is a dev tool. It can create, edit, start/stop, and delete recipes and Data Table
rows. Point it at a dev/impl workspace and treat
delete_recipe/deploy_package/delete_data_table_rowwith care (they confirm intent in their descriptions). - AI Hub MCP tools may be plan-gated. The
*_mcp_*tools need the API client's MCP privilege; without it Workato returns the HTML login page or 403/404. Runcheck_mcp_privilegesfirst. (A different surface from the API-Platformlist_api_*tools.) - It doesn't touch the AI Hub authoring layer beyond server management. After a recipe param-set change, the consuming MCP client needs an app restart to see the new schema.
- Sharing. Commit this folder to an internal git repo; teammates clone, set
WORKATO_TOKENin.env, and approve the project-scoped.mcp.jsonon first launch.
License
MIT. Builds on krishnagutta/workato-dev-mcp
and ports lint rules from recipe-lint (MIT) — see
LICENSE.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.