Mechanic MCP server for the task library and docs. Built for writing and customizing Mechanic tasks (Shopify automation app: https://apps.shopify.com/mechanic). Offline by default (bundled data), serving public URLs for tasks (https://tasks.mechanic.dev) and docs (https://learn.mechanic.dev).
- Requirements: Node.js 18+, MCP-capable client (Cursor, Claude Desktop, Codex, Gemini CLI, etc.).
- What you can ask: find tasks; fetch task code (subscriptions + script/JS blocks); find docs; suggest similar tasks; get doc content; help writing or customizing Mechanic tasks.
- Setup (use
npx @lightward/mechanic-mcp@latest):- Cursor:
{ "mcpServers": { "mechanic-mcp": { "command": "npx", "args": ["-y", "@lightward/mechanic-mcp@latest"] } } } - Claude Desktop:
{ "mcpServers": { "mechanic-mcp": { "command": "npx", "args": ["-y", "@lightward/mechanic-mcp@latest"] } } } - Codex (
~/.codex/config.toml):[mcp_servers.mechanic-mcp] command = "npx" args = ["-y", "@lightward/mechanic-mcp@latest"]
- Gemini CLI: same JSON as Cursor/Claude.
- Cursor:
- Tools:
search_tasks: returns public URL, tags, subscriptions/subscriptions_template, options.search_docs: returns public URL/sourceUrl.get_task(tasks only): script + subscriptions + options + JS blocks; not full JSON.get_doc(docs only): full markdown.similar_tasks: related tasks by tags/subscriptions/title.refresh_index: rebuild (not needed for packaged data).
- Usage notes: cite public URLs (no local paths/.md); prefer GraphQL in code; when sharing code, return subscriptions + script/JS (relevant bits), not full JSON.
- Bundled data:
dist/data/index.json.gz,records.json.gz,manifest.json(users don’t need source repos). - Regenerate (if needed):
MECHANIC_DOCS_PATH=/path/to/mechanic-docs MECHANIC_TASKS_PATH=/path/to/mechanic-tasks npm run build:data npm run build
- Tests:
npm run test:smoke,npm run test:smoke-doc,npm run test:smoke-task. - Publish: bump version,
npm publish(use--access publicfor scoped packages).
MECHANIC_DATA_PATH(defaultdist/data),MECHANIC_DOCS_PATH,MECHANIC_TASKS_PATH, repo URLs/branches, sync interval.
- Loads bundled index/records from
MECHANIC_DATA_PATH;refresh_indexrebuilds if you opt in. Stdio transport; TF-IDF search with fuzzy + pagination; no network calls for search/resources.