Click on "Install 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., "@Manus MCPcreate a task to summarize my meeting notes with quality mode"
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.
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
cd /path/to/manus-mcp
npm i
npm run buildSetup: Claude Code (CLI)
Use this one-liner (replace with your real API key):
claude mcp add manus-mcp -s user -e MANUS_MCP_API_KEY="your-api-key-here" -- npx manus-mcpNote: Use manus-mcp (not "Manus MCP") as the name. Claude CLI requires names without spaces.
To remove:
claude mcp remove manus-mcpSetup: Cursor
Create .cursor/mcp.json in your client (do not commit it here):
{
"mcpServers": {
"manus-mcp": {
"command": "npx",
"args": ["manus-mcp"],
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" },
"autoStart": true
}
}
}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:
code --add-mcp '{"name":"manus-mcp","command":"npx","args":["manus-mcp"],"env":{"MANUS_MCP_API_KEY":"your-api-key-here"}}'Or add to your VS Code settings JSON:
{
"mcp.servers": {
"manus-mcp": {
"command": "npx",
"args": ["manus-mcp"],
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" }
}
}
}Same as VS Code, but use code-insiders command:
code-insiders --add-mcp '{"name":"manus-mcp","command":"npx","args":["manus-mcp"],"env":{"MANUS_MCP_API_KEY":"your-api-key-here"}}'Add to your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"manus-mcp": {
"command": "npx",
"args": ["manus-mcp"],
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" }
}
}
}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:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"manus-mcp": {
"type": "local",
"command": ["npx", "manus-mcp"],
"enabled": true,
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" }
}
}
}Add a new MCP in Qodo Gen and paste the standard JSON config:
{
"command": "npx",
"args": ["manus-mcp"],
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" }
}Follow the Windsurf MCP integration guide and reuse the standard config:
{
"manus-mcp": {
"command": "npx",
"args": ["manus-mcp"],
"env": { "MANUS_MCP_API_KEY": "your-api-key-here" }
}
}Setup: Codex (TOML)
Add the following to your Codex TOML configuration:
[mcp_servers.manus-mcp]
command = "npx"
args = ["manus-mcp"]
[mcp_servers.manus-mcp.env]
MANUS_MCP_API_KEY = "your-api-key-here"
# MCP_NAME = "manus-mcp" # Optional: override server nameConfiguration (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:
{
"prompt": "string (required) - The task prompt or instruction for the AI",
"mode": "string (required) - 'speed' or 'quality'",
"attachments": "array (optional) - List of attachment objects { filename, url, mime_type, size_bytes }",
"connectors": "array (optional) - List of connector IDs (e.g., ['gmail', 'notion'])",
"hide_in_task_list": "boolean (optional) - Hide from webapp task list (default: false)",
"create_shareable_link": "boolean (optional) - Generate a public shareable link (default: false)"
}Outputs:
{
"task_id": "string - Unique task identifier",
"task_title": "string - Generated task title",
"task_url": "string - Direct link to the task",
"shareURL": "string (optional) - Public shareable link if requested"
}create_webhook
Register a new webhook to receive real-time notifications from Manus.
Inputs:
{
"url": "string (required) - Webhook endpoint URL",
"events": "array (optional) - List of event types to subscribe to"
}Outputs: Webhook registration details including webhook ID and configuration.
delete_webhook
Remove a previously registered webhook by its ID.
Inputs:
{
"webhook_id": "string (required) - The ID of the webhook to delete"
}Outputs: Success confirmation or error details.
Example invocation (MCP tool call)
Create a task in speed mode:
{
"tool": "create_task",
"arguments": {
"prompt": "Analyze the quarterly sales data and generate a summary report with key insights",
"mode": "speed",
"create_shareable_link": true
}
}Create a task with attachments:
{
"tool": "create_task",
"arguments": {
"prompt": "Extract key action items from this meeting transcript",
"mode": "quality",
"attachments": [
{
"filename": "meeting-notes.pdf",
"url": "https://example.com/files/meeting-notes.pdf",
"mime_type": "application/pdf",
"size_bytes": 245632
}
],
"connectors": ["gmail", "notion"]
}
}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:
{
"mcpServers": {
"manus-mcp": {
"command": "npx",
"args": ["manus-mcp"]
}
}
}❌ Incorrect:
{
"mcpServers": {
"Manus": { // Wrong: will conflict with "manus-mcp"
"command": "npx",
"args": ["manus-mcp"]
}
}
}License
MIT