{"_id":"@askexenow/exe-create-mcp","_rev":"10-3377af197b14f18ebf36ae10237e8288","name":"@askexenow/exe-create-mcp","dist-tags":{"latest":"0.3.5"},"versions":{"1.0.0":{"name":"@askexenow/exe-create-mcp","version":"1.0.0","keywords":["mcp","model-context-protocol","video-generation","ai-video","ai-assistant","claude","claude-code","cursor","exe-create"],"author":{"name":"Exe AI","email":"hello@askexe.com"},"license":"MIT","_id":"@askexenow/exe-create-mcp@1.0.0","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"homepage":"https://www.askexe.com/create","bugs":{"url":"https://github.com/askexenow/exe-create/issues"},"bin":{"exe-create-mcp":"dist/mcp-server.js"},"dist":{"shasum":"ddf89408d244204980db1971848cf1b068b46ec2","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-1.0.0.tgz","fileCount":146,"integrity":"sha512-hAIsF/BJUTjhEXXdHX0czzfZpJ9jW5nISRuvsT2FHL0s8wAxxdbNfSU203bG2ud79uYQCKF6AbgG01b2NRBjCQ==","signatures":[{"sig":"MEUCIGx4/tkjjezNfL8tXKoxUtLrqxfuoIuP6VGkBLvIFtXwAiEA3CYzZ0FxtU2slY45AfxqwtOp4W2/okS5quAmFwD3PHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298613},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"d50abcacf7ecf0e183657c15abfcc0bae8ef651c","scripts":{"dev":"tsx src/mcp-server.ts","lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/mcp-server.js","typecheck":"tsc --noEmit","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"deprecated":"Use 0.1.0 — alpha release","repository":{"url":"git+https://github.com/askexenow/exe-create.git","type":"git","directory":"src/mcp-integration"},"_npmVersion":"10.9.3","description":"MCP server for exe-create — AI video production workflows via Claude Code, Cursor, or any MCP client","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.10.0","@vitest/coverage-v8":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_1.0.0_1778229372081_0.5037969945202512","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@askexenow/exe-create-mcp","version":"0.1.0","keywords":["mcp","model-context-protocol","video-generation","ai-video","ai-assistant","claude","claude-code","cursor","exe-create"],"author":{"name":"Exe AI","email":"hello@askexe.com"},"license":"MIT","_id":"@askexenow/exe-create-mcp@0.1.0","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"homepage":"https://www.askexe.com/create","bugs":{"url":"https://github.com/askexenow/exe-create/issues"},"bin":{"exe-create-mcp":"dist/mcp-server.js"},"dist":{"shasum":"6d07c39f517b59c237dd280f051d7ceef69de3c5","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.1.0.tgz","fileCount":146,"integrity":"sha512-5tH0VkjWdPeV050kjFyjJws93KPXePhYMsZLFnnTjt/QwC3WtdxbYzLjtE/qWS3/5VMVeDHUZpOklQN2eGT4Ow==","signatures":[{"sig":"MEYCIQDer1426C31i/MjroJQsD3vBHM4G/EtVA6UwhcKAebdnAIhAN0yBZjSP3OkmIudgjdNrL4+hblOE8GW9W4Mmt2m4dHB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298613},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"157401ac093560ab8283e7359cce77f20577c365","scripts":{"dev":"tsx src/mcp-server.ts","lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/mcp-server.js","typecheck":"tsc --noEmit","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"repository":{"url":"git+https://github.com/askexenow/exe-create.git","type":"git","directory":"src/mcp-integration"},"_npmVersion":"10.9.3","description":"MCP server for exe-create — AI video production workflows via Claude Code, Cursor, or any MCP client","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.10.0","@vitest/coverage-v8":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.1.0_1778230292329_0.5810593617043418","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@askexenow/exe-create-mcp","version":"0.1.1","keywords":["mcp","model-context-protocol","video-generation","ai-video","ai-assistant","claude","claude-code","cursor","exe-create"],"author":{"name":"Exe AI","email":"hello@askexe.com"},"license":"MIT","_id":"@askexenow/exe-create-mcp@0.1.1","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"homepage":"https://www.askexe.com/create","bugs":{"url":"https://github.com/askexenow/exe-create/issues"},"bin":{"exe-create-mcp":"dist/mcp-server.js"},"dist":{"shasum":"5088d5fc9539beae0f266b927aec08f63b8b6560","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.1.1.tgz","fileCount":146,"integrity":"sha512-t74FCHjoVhPcGIsmimEkMiAghExVY10u28zc5HABRjkqclFfX3IM9lRhEjF3OivxEdt7EMgu2NIYqWPe3ScAFA==","signatures":[{"sig":"MEUCIQDHC/3jXsiXKCDF6PNFTUX8DUkGdWxIRWjtBNrE2RfXKgIgady23gMU1dYb9acPtvI9MdWLDGB0uOAOHk403rjbC3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297788},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fc87fa1950f1a632ceadddafdb547a81ff151253","scripts":{"dev":"tsx src/mcp-server.ts","lint":"eslint . --ext .ts","test":"vitest run","build":"tsc","clean":"rm -rf dist","start":"node dist/mcp-server.js","typecheck":"tsc --noEmit","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"repository":{"url":"git+https://github.com/askexenow/exe-create.git","type":"git","directory":"src/mcp-integration"},"_npmVersion":"10.9.3","description":"MCP server for exe-create — AI video production workflows via Claude Code, Cursor, or any MCP client","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.7.0","vitest":"^1.2.0","typescript":"^5.3.3","@types/node":"^20.10.0","@vitest/coverage-v8":"^1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.1.1_1778232567264_0.6257259396688186","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@askexenow/exe-create-mcp","version":"0.2.0","_id":"@askexenow/exe-create-mcp@0.2.0","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"bin":{"exe-create-mcp":"dist/cli.js"},"dist":{"shasum":"50909c87fecb60a316ca3f78eaf0c646a6e38c96","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.2.0.tgz","fileCount":94,"integrity":"sha512-B2bLUQeo4mhnD0C4oJgr7T5UAX82uVGt1RVZb5ECzEZ1dAgpysyjMGJuwVGma+z+3ebt2WMb7/NIiQgfORfGzg==","signatures":[{"sig":"MEUCIQC4ri2FRZKRInDIwwB/LYaIJIvteo2JAnfTw0+djYE9FgIgRvF1oudOhtQTD+Cx7tmgzjcrPFTqmA8sSC6z7ItbmDw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321749},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"621e7de3aaa6dfe40c423894ab48b2d53b48ed52","scripts":{"dev":"tsc --watch","test":"npm run smoke","build":"tsc","smoke":"node scripts/smoke-test.mjs","start":"node dist/cli.js"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for exe-create workflow integration","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.2.0_1778304088272_0.25733340626930734","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@askexenow/exe-create-mcp","version":"0.3.0","_id":"@askexenow/exe-create-mcp@0.3.0","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"bin":{"exe-create-mcp":"dist/cli.js"},"dist":{"shasum":"aa2bd3c445771bef4df96b2503875f03e0921404","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.3.0.tgz","fileCount":99,"integrity":"sha512-s8EwERfrZHT1neQP5BQt6R4t+y2VpyJzm2Qr0mdsK2NpLrjdagSFI6b0xXPsj0xCmkpMloK70niuEWNmTu3bQQ==","signatures":[{"sig":"MEYCIQDRTcVIRwAd+/tpc4/C6TblUyB1CIVuHEShvyNR4y2uTAIhAOe/uxDA4Yg20OHP8hyWOrlVT14RiNvzF4Mqu0z6aPfw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":336253},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f5343b8eed8e3b427d353ed0fa02ebeef52b13f7","scripts":{"dev":"tsc --watch","test":"npm run smoke","build":"tsc","smoke":"node scripts/smoke-test.mjs","start":"node dist/cli.js"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for exe-create workflow integration","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.3.0_1778305427741_0.7874946192508823","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@askexenow/exe-create-mcp","version":"0.3.1","_id":"@askexenow/exe-create-mcp@0.3.1","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"bin":{"exe-create-mcp":"dist/cli.js"},"dist":{"shasum":"6e362e36cc07322f60d7d5d2109e2b9995549b8a","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.3.1.tgz","fileCount":100,"integrity":"sha512-gWglgedTpEsq61WN00dirXbp+htx2pVi6+MQIICJyoD4SOzdEb1jh2kF56m26Cx8jac+L7EgEFEn7n8yroU1Nw==","signatures":[{"sig":"MEYCIQD+egsmvtzcz4NfDnZM57PeGZUbXS0bN9mEVECx2eVtGgIhAISj2GFBFUCX2JtUf59uq8uMT7LYX2zBvf55hQATo3Rn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339172},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"2befc5a1f5ff70f8ba248def91c17e50326a1a31","scripts":{"dev":"tsc --watch","test":"npm run smoke && npm run smoke:backend","build":"tsc","smoke":"node scripts/smoke-test.mjs","start":"node dist/cli.js","smoke:backend":"node scripts/backend-smoke-test.mjs"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for exe-create workflow integration","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.3.1_1778407165187_0.37466136687729135","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@askexenow/exe-create-mcp","version":"0.3.2","_id":"@askexenow/exe-create-mcp@0.3.2","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"bin":{"exe-create-mcp":"dist/cli.js"},"dist":{"shasum":"ac71305f99aad310b985d360be60c7c7d8444cda","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.3.2.tgz","fileCount":100,"integrity":"sha512-YygIx6fecqc0M0S+t6bZtvecOn8zHYTwVvaJdwUnVx0HtXFaNnYFGdwp0AalWNVQSLXtmCZHD25xNmNv2Q1fLQ==","signatures":[{"sig":"MEYCIQCtXpI/0GF8ncoaStYDPVnvUyCgxJQX9iJbCSX03wKGxQIhALCmXErQvyg0ZG234Ls9oIABBBE5Qt/tPhnvTKPuGNG4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":339172},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"abd153808d037ea15c14e5eab97db464b1cab4b1","scripts":{"dev":"tsc --watch","test":"npm run smoke && npm run smoke:backend","build":"tsc","smoke":"node scripts/smoke-test.mjs","start":"node dist/cli.js","smoke:backend":"node scripts/backend-smoke-test.mjs"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"_npmVersion":"11.5.1","description":"MCP server for exe-create workflow integration","directories":{},"_nodeVersion":"24.6.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.3.2_1778423552509_0.598683563871105","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"@askexenow/exe-create-mcp","version":"0.3.4","_id":"@askexenow/exe-create-mcp@0.3.4","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"bin":{"exe-create-mcp":"dist/cli.js"},"dist":{"shasum":"8214daac3da299c4507635a7b5ed453455a855db","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.3.4.tgz","fileCount":110,"integrity":"sha512-rD4Lr1BXKaOcVcgYqKq6TDp+P1z0Zqt1arARoohIMubZT/duXCawJ/mwUNXwmZ8E+ORGOP48ovOXT0lirK6owA==","signatures":[{"sig":"MEUCIQCDGrukA+v0bnZg0mcC7F+RQNmVBejtY1HBbj3bSjybkAIgBD0NXAKW3hVGh+vRH78dol7p+d80wRbJtYJ94nPjiFI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":414753},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"52847af939db9141ecfe697eaa479e62f2b82739","scripts":{"dev":"tsc --watch","test":"npm run smoke && npm run smoke:backend","build":"tsc","smoke":"node scripts/smoke-test.mjs","start":"node dist/cli.js","smoke:backend":"node scripts/backend-smoke-test.mjs"},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"_npmVersion":"10.9.3","description":"MCP server for exe-create workflow integration","directories":{},"_nodeVersion":"22.20.0","dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.3.0","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/exe-create-mcp_0.3.4_1778471040757_0.16772341523962964","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@askexenow/exe-create-mcp","version":"0.3.5","description":"MCP server for exe-create workflow integration","type":"module","main":"dist/index.js","bin":{"exe-create-mcp":"dist/cli.js"},"scripts":{"build":"tsc","dev":"tsc --watch","start":"node dist/cli.js","smoke":"node scripts/smoke-test.mjs","smoke:backend":"node scripts/backend-smoke-test.mjs","test":"npm run smoke && npm run smoke:backend"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0"},"devDependencies":{"@types/node":"^20.10.0","typescript":"^5.3.0"},"engines":{"node":">=18.0.0"},"_id":"@askexenow/exe-create-mcp@0.3.5","gitHead":"c40926923fc412c45bc8bb13323130135772e75c","types":"./dist/index.d.ts","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-Np8JUqoC/AL5UG9j8UPK0NdaGANSkvuaC2JJYZ9s4sPH1fl212kRt+5rPqdBpuq8gclD/qPY8Kn3l/5XPLo8xg==","shasum":"d78eca2515f0939472a96055567b900f5ce07312","tarball":"https://registry.npmjs.org/@askexenow/exe-create-mcp/-/exe-create-mcp-0.3.5.tgz","fileCount":110,"unpackedSize":415621,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDqYQD2e46ZRfOE8EIggRiGRPTRIAm8+IXXqVwhUE6TjQIhAJRHYswAhPAjlIpINGHxXqol6EOcBxgXgy+H98PayiUt"}]},"_npmUser":{"name":"askexenow","email":"askexenow@gmail.com"},"directories":{},"maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/exe-create-mcp_0.3.5_1778552675300_0.8578278460114723"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-08T08:36:11.935Z","modified":"2026-05-12T02:24:35.578Z","1.0.0":"2026-05-08T08:36:12.242Z","0.1.0":"2026-05-08T08:51:32.480Z","0.1.1":"2026-05-08T09:29:27.419Z","0.2.0":"2026-05-09T05:21:28.445Z","0.3.0":"2026-05-09T05:43:47.925Z","0.3.1":"2026-05-10T09:59:25.336Z","0.3.2":"2026-05-10T14:32:32.665Z","0.3.4":"2026-05-11T03:44:00.907Z","0.3.5":"2026-05-12T02:24:35.480Z"},"description":"MCP server for exe-create workflow integration","maintainers":[{"name":"askexenow","email":"askexenow@gmail.com"}],"readme":"# exe-create MCP Server\n\nModel Context Protocol (MCP) server for exe-create workflow integration. Allows AI coding agents (Codex, Claude Code, Cursor, etc.) to create, modify, and execute video generation workflows programmatically.\n\n## Installation\n\n```bash\ncd apps/mcp\nnpm install\nnpm run build\n```\n\n## Configuration\n\n### Environment Variables\n\nThe MCP server requires two environment variables:\n\n| Variable      | Description                    | Required                                     |\n| ------------- | ------------------------------ | -------------------------------------------- |\n| `EXE_API_URL` | Base URL of the exe-create API | No (defaults to `https://askexe.com/create`) |\n| `EXE_API_KEY` | API key for authentication     | Yes                                          |\n\n### Creating an API Key\n\n1. Open exe-create web app\n2. Navigate to Settings → API Keys\n3. Click \"Create API Key\"\n4. Copy the key (starts with `exk_`)\n\n### Claude Code Integration\n\nRun this command (replace paths and API key):\n\n```bash\nclaude mcp add-json exe-create '{\n  \"command\": \"node\",\n  \"args\": [\"/path/to/exe-create/apps/mcp/dist/cli.js\"],\n  \"cwd\": \"/path/to/exe-create/apps/mcp\",\n  \"env\": {\n    \"EXE_API_KEY\": \"exk_your_api_key_here\",\n    \"EXE_API_URL\": \"https://askexe.com/create\"\n  }\n}' -s user\n```\n\nThen restart Claude Code. Verify with `claude mcp get exe-create`.\n\n### Codex Integration\n\nSee [`docs/codex.md`](./docs/codex.md) for Nikki/client-ready Codex setup and example prompts.\n\nMinimal Codex MCP config:\n\n```json\n{\n  \"mcpServers\": {\n    \"exe-create\": {\n      \"command\": \"node\",\n      \"args\": [\"/ABSOLUTE/PATH/TO/exe-create/apps/mcp/dist/cli.js\"],\n      \"cwd\": \"/ABSOLUTE/PATH/TO/exe-create/apps/mcp\",\n      \"env\": {\n        \"EXE_API_KEY\": \"exk_YOUR_EXE_CREATE_API_KEY\",\n        \"EXE_API_URL\": \"https://askexe.com/create\"\n      }\n    }\n  }\n}\n```\n\n### Claude Desktop App\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"exe-create\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/exe-create/apps/mcp/dist/cli.js\"],\n      \"cwd\": \"/path/to/exe-create/apps/mcp\",\n      \"env\": {\n        \"EXE_API_KEY\": \"exk_your_api_key_here\",\n        \"EXE_API_URL\": \"https://askexe.com/create\"\n      }\n    }\n  }\n}\n```\n\n> **Note:** The `cwd` field is required for the Desktop app config. This is a monorepo — dependencies are hoisted to the root `node_modules/`. Without `cwd`, Node.js won't resolve `@modelcontextprotocol/sdk` and the server will silently fail to start. Keep `cwd` set to `apps/mcp` for Claude Code, Claude Desktop, Codex, and Cursor configs.\n\n### Cursor Integration\n\nAdd to Cursor settings (`.cursor/settings.json` or `%APPDATA%\\Cursor\\User\\settings.json`):\n\n```json\n{\n  \"mcp.servers\": {\n    \"exe-create\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/exe-create/apps/mcp/dist/cli.js\"],\n      \"cwd\": \"/path/to/exe-create/apps/mcp\",\n      \"env\": {\n        \"EXE_API_KEY\": \"exk_your_api_key_here\",\n        \"EXE_API_URL\": \"https://askexe.com/create\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n### Workflow Management\n\n| Tool                     | Description                                   |\n| ------------------------ | --------------------------------------------- |\n| `workflow_create`        | Create a new workflow with nodes and edges    |\n| `workflow_get`           | Get a workflow by ID                          |\n| `workflow_list`          | List all workflows for the authenticated user |\n| `workflow_update`        | Update an existing workflow                   |\n| `workflow_delete`        | Delete a workflow by ID                       |\n| `workflow_clone`         | Clone an existing workflow with a new name    |\n| `workflow_estimate_cost` | Estimate workflow execution cost              |\n\n### Workflow Execution\n\n| Tool                | Description                                                      |\n| ------------------- | ---------------------------------------------------------------- |\n| `workflow_execute`  | Execute a workflow and return a run ID                           |\n| `node_execute`      | Execute any dashboard node type as a temporary one-node workflow |\n| `execution_status`  | Get the status of a workflow execution                           |\n| `execution_cancel`  | Cancel a running workflow execution                              |\n| `reference_analyze` | Analyze social/reference video style and generate variants       |\n| `quality_check`     | Score a workflow against a delivery promise                      |\n\n### Node Discovery\n\n| Tool              | Description                                  |\n| ----------------- | -------------------------------------------- |\n| `node_types_list` | List available node types with schemas       |\n| `node_schema_get` | Get detailed schema for a specific node type |\n\n### Media Library\n\n| Tool                    | Description                                                 |\n| ----------------------- | ----------------------------------------------------------- |\n| `media_list`            | List media assets from user library                         |\n| `media_get`             | Get a specific media asset                                  |\n| `media_upload_url`      | Get presigned URL for file upload                           |\n| `media_confirm_upload`  | Confirm upload completion                                   |\n| `media_upload_local`    | Upload a local file directly                                |\n| `media_download`        | Download a media asset locally                              |\n| `media_import_social`   | Import Instagram/YouTube/TikTok/X media via yt-dlp + ffmpeg |\n| `stock_semantic_search` | Search free stock corpus semantically                       |\n\n### Templates\n\n| Tool                   | Description                                  |\n| ---------------------- | -------------------------------------------- |\n| `template_list`        | List available workflow templates            |\n| `template_instantiate` | Create workflow from template with overrides |\n\n### Rendering\n\n| Tool            | Description                      |\n| --------------- | -------------------------------- |\n| `render_video`  | Trigger a VPS/Vercel render job  |\n| `render_status` | Check render progress and result |\n\n### Direct Generation\n\n| Tool                      | Description                                                                 |\n| ------------------------- | --------------------------------------------------------------------------- |\n| `generate_image`          | Generate images through API Router/prepaid credits                          |\n| `generate_video`          | Generate text-to-video or image-to-video through API Router/prepaid credits |\n| `generate_audio`          | Generate speech/audio through API Router/prepaid credits                    |\n| `generation_model_list`   | List API Router-compatible generation models/providers                      |\n| `generation_defaults_get` | Read MCP-local default model/provider choices                               |\n| `generation_defaults_set` | Set MCP-local defaults for image/video/audio tools                          |\n\n### Settings, Usage, Blocks\n\n| Tool                      | Description                                        |\n| ------------------------- | -------------------------------------------------- |\n| `settings_list_providers` | List provider routing/status; no raw provider keys |\n| `provider_recommend`      | Recommend provider for a generation task           |\n| `get_usage`               | Check credit balance and recent usage              |\n| `block_list`              | List reusable animated overlay blocks              |\n| `block_get`               | Get block details and props                        |\n\n## Available Resources\n\n| Resource URI                | Description                           |\n| --------------------------- | ------------------------------------- |\n| `node-types://list`         | All available node types with schemas |\n| `workflow-templates://list` | Available workflow templates          |\n| `workflow://{id}`           | Specific workflow by ID               |\n| `media://{id}`              | Specific media asset by ID            |\n\n## Example Usage\n\n### Create a Simple Workflow\n\n```\nCreate a workflow that:\n1. Takes a podcast audio file from my media library\n2. Transcribes it with Deepgram\n3. Generates captions in Alex Hormozi style\n4. Renders the final video with captions\n\nSave it as \"Podcast Caption Generator\"\n```\n\nClaude Code will:\n\n1. List available media to find the audio file\n2. Get node schemas for required nodes\n3. Create the workflow with appropriate nodes and edges\n4. Return the workflow ID\n\n### Execute a Workflow\n\n```\nExecute the \"Podcast Caption Generator\" workflow and poll for completion\n```\n\n### Use a Template\n\n```\nCreate a workflow from the \"Podcast Video\" template with:\n- Use voice_id \"abc123\" for ElevenLabs\n- Set caption style to \"bold-center\"\n```\n\n## Development\n\n```bash\n# Build\nnpm run build\n\n# Build and watch\nnpm run dev\n\n# Run locally\nEXE_API_KEY=exk_test EXE_API_URL=https://askexe.com/create npm start\n\n# Smoke-test protocol/tool/resource discovery without backend calls\nnpm run smoke\n\n# Smoke-test MCP tool calls against a disposable local mock backend\nnpm run smoke:backend\n```\n\n## Security\n\n- API keys are passed via `Authorization: Bearer` header\n- Never pass raw secrets through MCP tool parameters\n- Customer provider access should use server-side API Router credentials and prepaid credits\n- MCP tools do not accept raw provider API keys\n\n## Architecture\n\n```\napps/mcp/\n├── src/\n│   ├── cli.ts           # CLI entry point\n│   ├── server.ts        # MCP server implementation\n│   ├── api-client.ts    # HTTP client for exe-create API\n│   ├── types.ts         # Shared types\n│   ├── resources.ts     # MCP resources\n│   └── tools/\n│       ├── workflow.ts   # Workflow management tools\n│       ├── execution.ts  # Execution tools\n│       ├── nodes.ts      # Node discovery tools\n│       ├── media.ts      # Media library tools\n│       └── templates.ts  # Template tools\n├── dist/                 # Compiled JavaScript\n├── package.json\n└── tsconfig.json\n```\n","readmeFilename":"README.md"}