Manus MCP
The Universal MCP Server for Manus AI enables you to create AI tasks, manage webhooks, and integrate Manus workflows into any MCP-compatible client. Designed for prompt-first usage with full support for attachments, connectors, and real-time notifications.
Installation
Prerequisites
Node.js 18+
Set
MANUS_MCP_API_KEYin your environment
Get an API key
Request your API key from the Manus Dashboard
API documentation: https://open.manus.ai/docs
Getting started guide: https://open.manus.ai/docs/quickstart
Build locally
Setup: Claude Code (CLI)
Use this one-liner (replace with your real API key):
Note: Use manus-mcp (not "Manus MCP") as the name. Claude CLI requires names without spaces.
To remove:
Setup: Cursor
Create .cursor/mcp.json in your client (do not commit it here):
Note: This repository does not include .cursor/mcp.json. Configure Cursor via the UI or manually create the file in your client workspace.
Other Clients and Agents
Install via URI or CLI:
Or add to your VS Code settings JSON:
Same as VS Code, but use code-insiders command:
Add to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
In LM Studio's MCP settings:
Command:
npxArgs:
["manus-mcp"]Env:
MANUS_MCP_API_KEY=your-api-key-here
Add to your Goose configuration:
Type: STDIO
Command:
npxArgs:
manus-mcpEnabled: true
Env:
MANUS_MCP_API_KEY=your-api-key-here
Example ~/.config/opencode/opencode.json:
Add a new MCP in Qodo Gen and paste the standard JSON config:
Follow the Windsurf MCP integration guide and reuse the standard config:
Setup: Codex (TOML)
Add the following to your Codex TOML configuration:
Configuration (Env)
MANUS_MCP_API_KEY: Your Manus API key (required)
MANUS_MCP_API_BASE_URL: Override the API base URL (default:
https://api.manus.ai/v1)MCP_NAME: Server name override (default:
manus-mcp)
Available Tools
create_task
Create a new AI task in Manus with custom parameters and optional attachments.
Inputs:
Outputs:
create_webhook
Register a new webhook to receive real-time notifications from Manus.
Inputs:
Outputs: Webhook registration details including webhook ID and configuration.
delete_webhook
Remove a previously registered webhook by its ID.
Inputs:
Outputs: Success confirmation or error details.
Example invocation (MCP tool call)
Create a task in speed mode:
Create a task with attachments:
Troubleshooting
401 Authentication Error
Verify that
MANUS_MCP_API_KEYis correctly set in your environmentCheck that your API key is valid and has not expired
Test your API key with a direct curl request:
curl -H "API_KEY: your-key" https://api.manus.ai/v1/tasks
Node.js Version Error
Ensure you're using Node.js 18 or later:
node -vUpdate Node.js if necessary: https://nodejs.org/
Build Issues
Clear the build directory:
rm -rf buildReinstall dependencies:
rm -rf node_modules && npm iRebuild:
npm run build
Testing Local Builds
After building, test the server:
npx .ornode build/index.jsCheck that the executable is properly created:
ls -la build/index.js
Inspecting Publish Artifacts
See what would be published:
npm pack --dry-runCheck the package contents:
npm pack && tar -xzf manus-mcp-*.tgz && cat package/package.json
References
Manus API Documentation: https://open.manus.ai/docs
MCP Architecture: https://modelcontextprotocol.io/docs/learn/architecture
MCP Server Concepts: https://modelcontextprotocol.io/docs/learn/server-concepts
MCP Server Specification: https://modelcontextprotocol.io/specification/2025-06-18/server/index
Manus Quickstart: https://open.manus.ai/docs/quickstart
Manus Webhooks: https://open.manus.ai/docs/webhooks/overview
Manus Connectors: https://open.manus.ai/docs/connectors/overview
Name Consistency & Troubleshooting
Always use CANONICAL_ID (manus-mcp) for identifiers and keys. Use CANONICAL_DISPLAY (Manus MCP) only for UI labels. Do not mix legacy keys after registration.
Consistency Matrix
Context | Value |
npm package name |
|
Binary name |
|
MCP server name (SDK metadata) |
|
Env default MCP_NAME |
|
Client registry key |
|
UI label |
|
Conflict Cleanup
Remove any stale keys (e.g., old display names like "Manus") and re-add with
manus-mcponlyEnsure global
.mcp.jsonor client registries only usemanus-mcpfor keysCursor: Configure in the UI; this project intentionally omits
.cursor/mcp.json
Example
✅ Correct:
❌ Incorrect:
License
MIT