Opus MCP Server
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., "@Opus MCP Server check the status of job JOB-12345"
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.
Opus MCP Server
Model Context Protocol (MCP) server for the Opus Job Operator API. This server provides tools to programmatically interact with Opus workflows, including job initiation, execution, monitoring, and file uploads.
Quick Start: See QUICKSTART.md for 3-minute setup!
Installation: See INSTALL.md for detailed instructions
Distribution: See DISTRIBUTION.md for sharing options
Features
Workflow Management: Get workflow details and schemas
Job Operations: Initiate, execute, and monitor jobs
File Handling: Generate presigned URLs for secure file uploads
Monitoring: Check job status, retrieve results, and view audit logs
Related MCP server: Independent Video Generator
Installation
Install dependencies:
npm installBuild the project:
npm run buildSet up environment variables:
cp .env.example .env
# Edit .env and add your OPUS_SERVICE_KEYGetting Your API Key
Navigate to the Opus platform
Click My Organization at the top
Click the gear icon next to your Organization's name
Select API Keys from the settings menu
Click + Generate API Key
Copy the key (shown only once) and add to
.envfile
Configuration
For Claude Desktop
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"opus": {
"command": "node",
"args": ["/absolute/path/to/function1 hackathon/build/index.js"],
"env": {
"OPUS_SERVICE_KEY": "your_service_key_here"
}
}
}
}For Other MCP Clients
Use the built executable with environment variable:
OPUS_SERVICE_KEY=your_key node build/index.jsAvailable Tools
1. get_workflow_details
Get workflow details including the jobPayloadSchema that defines required inputs.
Parameters:
workflowId(string, required): The workflow ID from Opus
Returns: Full workflow details including schema, execution estimation, and input requirements
2. initiate_job
Create a new job instance for a workflow.
Parameters:
workflowId(string, required): The workflow IDtitle(string, required): Job titledescription(string, required): Job description
Returns: jobExecutionId needed for subsequent operations
3. generate_file_upload_url
Generate presigned URLs for secure file uploads.
Parameters:
fileExtension(string, required): File extension with dot (e.g.,.pdf,.jpeg,.png,.docx)accessScope(string, optional): Access scope -all,user,workspace, ororganization(default)
Returns:
presignedUrl: Use for uploading file via PUT requestfileUrl: Use this URL in job execution payload
Supported File Types: .jpeg, .png, .jpg, .pdf, .docx, .csv, .xls, .xlsx, .txt, .json, .html, .xml
4. execute_job
Execute a job with populated input values.
Parameters:
jobExecutionId(string, required): Frominitiate_jobresponsejobPayloadSchemaInstance(object, required): Job inputs structured according to workflow schema
Example jobPayloadSchemaInstance:
{
"workflow_input_we4tej0ly": {
"value": "API Test Project",
"type": "str"
},
"workflow_input_a0hk6ujuo": {
"value": 45.8,
"type": "float"
},
"workflow_input_h69vx5i4a": {
"value": "https://files.opus.com/media/private/uploaded/media_file.pdf",
"type": "file"
}
}5. get_job_status
Check current job execution status.
Parameters:
jobExecutionId(string, required): The job ID
Returns: Status - IN PROGRESS, COMPLETED, or FAILED
6. get_job_results
Retrieve results from a completed job.
Parameters:
jobExecutionId(string, required): The job ID
Returns: Job results including output files and data (only works when status is COMPLETED)
7. get_job_audit_log
Get detailed audit log of job execution.
Parameters:
jobExecutionId(string, required): The job ID
Returns: Timestamped log of all system actions
Workflow Example
1. Get workflow details to understand required inputs
→ get_workflow_details(workflowId: "B9uGJfZ3CFwOdMKH")
2. (If needed) Generate file upload URLs
→ generate_file_upload_url(fileExtension: ".pdf")
→ Upload file to presignedUrl using PUT request
3. Initiate a job
→ initiate_job(workflowId, title, description)
→ Save jobExecutionId
4. Execute the job with inputs
→ execute_job(jobExecutionId, jobPayloadSchemaInstance)
5. Monitor status
→ get_job_status(jobExecutionId)
6. Get results when complete
→ get_job_results(jobExecutionId)
7. (Optional) View audit log
→ get_job_audit_log(jobExecutionId)Development
Watch mode for development:
npm run watchAPI Documentation
For complete API details, see the markdown files in the root directory:
opus-00-get-workflow-details.md- Workflow schema retrievalopus-03-initiate-job.md- Job initiationopus-04-uploading-files-for-job-inputs.md- File uploadsopus-05-execute-job.md- Job executionopus-06-get-job-execution-status.md- Status monitoringopus-07-get-job-execution-results.md- Results retrievalopus-08-job-audit-log.md- Audit logs
Base URL
All requests are made to: https://operator.opus.com
Troubleshooting
Error: OPUS_SERVICE_KEY environment variable is required
Ensure your
.envfile exists with the correct key, orSet the environment variable in your MCP client configuration
Error: Authentication failed
Verify your service key is valid and not expired
Check that the key has proper permissions in Opus
File upload issues
Ensure file extension matches the actual file type
Use PUT request without authentication headers for presigned URL
Verify file size limits (if any) in Opus documentation
License
MIT
Available Tools
7 toolsexecute_jobB
Execute a job with populated input values. Use jobPayloadSchema from get_workflow_details to structure inputs correctly
Inputs: jobExecutionId (required), jobPayloadSchemaInstance (required).
generate_file_upload_urlA
Generate presigned URL for file upload. Returns presignedUrl (for uploading) and fileUrl (to reference in job execution)
Inputs: fileExtension (required), accessScope.
get_job_audit_logB
Get detailed audit log of all system actions during job execution
Inputs: jobExecutionId (required).
get_job_resultsA
Get the results of a completed job execution. Only works when job status is COMPLETED
Inputs: jobExecutionId (required).
get_job_statusC
Get the current status of a job execution (e.g., IN PROGRESS, COMPLETED, FAILED)
Inputs: jobExecutionId (required).
get_workflow_detailsB
Get workflow details including jobPayloadSchema that defines required inputs for a workflow
Inputs: workflowId (required).
initiate_jobC
Initiate a new job for a workflow. Returns jobExecutionId required for subsequent operations
Inputs: workflowId (required), title (required), description (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose with no ambiguity. Tools are organized around specific job lifecycle stages: initiation (initiate_job), execution (execute_job), status checking (get_job_status), result retrieval (get_job_results), audit logging (get_job_audit_log), workflow details (get_workflow_details), and file upload (generate_file_upload_url). There is no overlap in functionality.
All tools follow a consistent verb_noun pattern with snake_case throughout. The naming convention is perfectly predictable: 'get_' for retrieval operations, 'initiate_' and 'execute_' for job control, and 'generate_' for URL creation. No deviations or mixed conventions exist.
With 7 tools, the count is well-scoped for a job/workflow execution server. Each tool earns its place by covering essential aspects of the domain: workflow definition, job initiation, execution, status monitoring, result retrieval, audit logging, and file handling. This is neither too sparse nor bloated.
The tool set provides complete CRUD/lifecycle coverage for job execution. It includes workflow discovery (get_workflow_details), job initiation (initiate_job), execution (execute_job), status tracking (get_job_status), result retrieval (get_job_results), audit logging (get_job_audit_log), and file upload support (generate_file_upload_url). There are no obvious gaps that would cause agent failures.
Maintenance
Related MCP Connectors
OP tasks, your presets and the public workflow gallery, billed to your API key.
Create AI images and videos, manage projects and credits, and use workspace campaign context.
Execution control plane for agents: capabilities, durable jobs, budgets, receipts, and BYOK.
Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables kicking off deployed CrewAI workflows and inspecting their status and results.-
- FlicenseNot gradedqualityCmaintenanceEnables video generation through ComfyUI workflows, providing tools to list workflows, create and manage video jobs, upload assets, and retrieve results.-
- AlicenseNot gradedqualityAmaintenanceConnects MCP clients such as Claude, Cursor, and VS Code to OpenCode's headless API so users can ask questions, implement features, monitor background jobs, respond to prompts and permissions, and review changes across multiple projects. It supports synchronous runs, fire-and-forget jobs with polling, and project-scoped workflows.24,973 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP clients to submit and manage long-running Codex Desktop work asynchronously, with durable operation/workflow IDs, polling, approvals, Plan Mode workflows, retry safety, diagnostics, and final reports.-