@askexenow/exe-create-mcp
v0.3.2
Published
MCP server for exe-create workflow integration
Readme
exe-create MCP Server
Model 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.
Installation
cd apps/mcp
npm install
npm run buildConfiguration
Environment Variables
The MCP server requires two environment variables:
| Variable | Description | Required |
|----------|-------------|----------|
| EXE_API_URL | Base URL of the exe-create API | No (defaults to https://askexe.com/create) |
| EXE_API_KEY | API key for authentication | Yes |
Creating an API Key
- Open exe-create web app
- Navigate to Settings → API Keys
- Click "Create API Key"
- Copy the key (starts with
exk_)
Claude Code Integration
Run this command (replace paths and API key):
claude mcp add-json exe-create '{
"command": "node",
"args": ["/path/to/exe-create/apps/mcp/dist/cli.js"],
"cwd": "/path/to/exe-create/apps/mcp",
"env": {
"EXE_API_KEY": "exk_your_api_key_here",
"EXE_API_URL": "https://askexe.com/create"
}
}' -s userThen restart Claude Code. Verify with claude mcp get exe-create.
Codex Integration
See docs/codex.md for Nikki/client-ready Codex setup and example prompts.
Minimal Codex MCP config:
{
"mcpServers": {
"exe-create": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/exe-create/apps/mcp/dist/cli.js"],
"cwd": "/ABSOLUTE/PATH/TO/exe-create/apps/mcp",
"env": {
"EXE_API_KEY": "exk_YOUR_EXE_CREATE_API_KEY",
"EXE_API_URL": "https://askexe.com/create"
}
}
}
}Claude Desktop App
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"exe-create": {
"command": "node",
"args": ["/path/to/exe-create/apps/mcp/dist/cli.js"],
"cwd": "/path/to/exe-create/apps/mcp",
"env": {
"EXE_API_KEY": "exk_your_api_key_here",
"EXE_API_URL": "https://askexe.com/create"
}
}
}
}Note: The
cwdfield is required for the Desktop app config. This is a monorepo — dependencies are hoisted to the rootnode_modules/. Withoutcwd, Node.js won't resolve@modelcontextprotocol/sdkand the server will silently fail to start. Keepcwdset toapps/mcpfor Claude Code, Claude Desktop, Codex, and Cursor configs.
Cursor Integration
Add to Cursor settings (.cursor/settings.json or %APPDATA%\Cursor\User\settings.json):
{
"mcp.servers": {
"exe-create": {
"command": "node",
"args": ["/path/to/exe-create/apps/mcp/dist/cli.js"],
"cwd": "/path/to/exe-create/apps/mcp",
"env": {
"EXE_API_KEY": "exk_your_api_key_here",
"EXE_API_URL": "https://askexe.com/create"
}
}
}
}Available Tools
Workflow Management
| Tool | Description |
|------|-------------|
| workflow_create | Create a new workflow with nodes and edges |
| workflow_get | Get a workflow by ID |
| workflow_list | List all workflows for the authenticated user |
| workflow_update | Update an existing workflow |
| workflow_delete | Delete a workflow by ID |
| workflow_clone | Clone an existing workflow with a new name |
| workflow_estimate_cost | Estimate workflow execution cost |
Workflow Execution
| Tool | Description |
|------|-------------|
| workflow_execute | Execute a workflow and return a run ID |
| execution_status | Get the status of a workflow execution |
| execution_cancel | Cancel a running workflow execution |
| reference_analyze | Analyze social/reference video style and generate variants |
| quality_check | Score a workflow against a delivery promise |
Node Discovery
| Tool | Description |
|------|-------------|
| node_types_list | List available node types with schemas |
| node_schema_get | Get detailed schema for a specific node type |
Media Library
| Tool | Description |
|------|-------------|
| media_list | List media assets from user library |
| media_get | Get a specific media asset |
| media_upload_url | Get presigned URL for file upload |
| media_confirm_upload | Confirm upload completion |
| media_upload_local | Upload a local file directly |
| media_download | Download a media asset locally |
| media_import_social | Import Instagram/YouTube/TikTok/X media via yt-dlp + ffmpeg |
| stock_semantic_search | Search free stock corpus semantically |
Templates
| Tool | Description |
|------|-------------|
| template_list | List available workflow templates |
| template_instantiate | Create workflow from template with overrides |
Rendering
| Tool | Description |
|------|-------------|
| render_video | Trigger a VPS/Vercel render job |
| render_status | Check render progress and result |
Settings, Usage, Blocks
| Tool | Description |
|------|-------------|
| settings_list_providers | List provider routing/status; no raw provider keys |
| provider_recommend | Recommend provider for a generation task |
| get_usage | Check credit balance and recent usage |
| block_list | List reusable animated overlay blocks |
| block_get | Get block details and props |
Available Resources
| Resource URI | Description |
|--------------|-------------|
| node-types://list | All available node types with schemas |
| workflow-templates://list | Available workflow templates |
| workflow://{id} | Specific workflow by ID |
| media://{id} | Specific media asset by ID |
Example Usage
Create a Simple Workflow
Create a workflow that:
1. Takes a podcast audio file from my media library
2. Transcribes it with Deepgram
3. Generates captions in Alex Hormozi style
4. Renders the final video with captions
Save it as "Podcast Caption Generator"Claude Code will:
- List available media to find the audio file
- Get node schemas for required nodes
- Create the workflow with appropriate nodes and edges
- Return the workflow ID
Execute a Workflow
Execute the "Podcast Caption Generator" workflow and poll for completionUse a Template
Create a workflow from the "Podcast Video" template with:
- Use voice_id "abc123" for ElevenLabs
- Set caption style to "bold-center"Development
# Build
npm run build
# Build and watch
npm run dev
# Run locally
EXE_API_KEY=exk_test EXE_API_URL=https://askexe.com/create npm start
# Smoke-test protocol/tool/resource discovery without backend calls
npm run smoke
# Smoke-test MCP tool calls against a disposable local mock backend
npm run smoke:backendSecurity
- API keys are passed via
Authorization: Bearerheader - Never pass raw secrets through MCP tool parameters
- Customer provider access should use server-side API Router credentials and prepaid credits
- MCP tools do not accept raw provider API keys
Architecture
apps/mcp/
├── src/
│ ├── cli.ts # CLI entry point
│ ├── server.ts # MCP server implementation
│ ├── api-client.ts # HTTP client for exe-create API
│ ├── types.ts # Shared types
│ ├── resources.ts # MCP resources
│ └── tools/
│ ├── workflow.ts # Workflow management tools
│ ├── execution.ts # Execution tools
│ ├── nodes.ts # Node discovery tools
│ ├── media.ts # Media library tools
│ └── templates.ts # Template tools
├── dist/ # Compiled JavaScript
├── package.json
└── tsconfig.json