Manus MCP
Manus MCP
公式のManus API v2を通じて、Claude CodeにManus.imの完全なプログラム制御を提供するMCPサーバーです。文書化された全30エンドポイント、一般的なワークフローのための3つの複合ツール、およびRSA-SHA256署名検証を備えたローカルWebhookレシーバーを実装しています。
ステータス: 本番環境対応(シングルユーザー) — v0.1.1
言語: Python 3.11+
トランスポート: stdio (Claude Codeネイティブ)
ベースURL:
https://api.manus.ai
検証済みカバレッジ (v0.1.1)
レイヤー | メトリクス |
ユニットテスト | 60以上 (server.pyのディスパッチ、Webhook ASGIアプリ、シークレット漏洩ガード、スキーマの安定性) |
ライブE2Eテスト | 23 (task.update / sendMessage / confirmAction / agent.update / website.publish を含む) |
複合ライブテスト | 4 (F2拒否チェックを含む) |
WebhookライブE2E | 1 (cloudflaredトンネル + レシーバー + Manus配信) |
ライブ実行されたManus APIエンドポイント | 30/30 (アカウントに前提条件がない場合のみ正常にスキップ — エージェントなし / ウェブサイトなし) |
カバレッジ | ≥ 80% (CIでゲート制御) |
| 0エラー |
| 0エラー |
本番環境のフローについては、docs/SECURITY.mdおよびdocs/RELEASE.mdを参照してください。
Related MCP server: claudecode-mcp
含まれるもの
30の直接APIラッパー
カテゴリ | ツール |
タスク (9) |
|
プロジェクト (2) |
|
スキル (1) |
|
エージェント (3) |
|
ファイル (3) |
|
Webhook (4) |
|
使用量 (3) |
|
コネクタ (1) |
|
ブラウザ (1) |
|
ウェブサイト (3) |
|
3つの複合ツール
manus_file_upload— 署名付きURLを作成し、バイトをアップロードしてstatus=uploadedを待ちます。path、base64、または公開urlを受け入れます。manus_task_wait— タスクが終了ステータス (stopped/waiting/error) に達するまでポーリングし、新しいメッセージと待機詳細 (event_id + レスポンススキーマ) を返します。manus_website_publish_and_wait— サイトを公開し、publishedまたはfailedになるまで待ちます。
3つのWebhookツール (ローカルSQLite DBから読み取り)
manus_webhook_events_list— 受信したイベントをフィルタ付きで一覧表示します。manus_webhook_events_get—event_idでイベントを取得します。manus_webhook_events_clear— 受信したイベントを削除します。
合計: 36個のMCPツール。
インストール
cd path/to/Manus-MCP
python -m venv .venv
# Windows:
.venv\Scripts\activate
# macOS/Linux:
# source .venv/bin/activate
pip install -e ".[dev]"APIキーの設定
プロジェクトルートに .env ファイルを配置します(.env.example テンプレートが提供されています)。以下の両方の変数名が受け入れられます:
MANUS_API_KEY=sk-...
# or, for backwards compatibility:
# ManusAPI=sk-...優先順位: process.env > .env。
オプション設定:
MANUS_BASE_URL=https://api.manus.ai
MANUS_HTTP_TIMEOUT=60
MANUS_LOG_LEVEL=INFOClaude Codeへの登録
.claude/settings.json (プロジェクトレベル) または ~/.claude/settings.json (グローバル) に以下を追加します:
{
"mcpServers": {
"manus": {
"command": "python",
"args": ["-m", "manus_mcp"],
"cwd": "path/to/Manus-MCP"
}
}
}MANUS_API_KEY がグローバルに設定されていない場合は、明示的に渡してください:
{
"mcpServers": {
"manus": {
"command": "python",
"args": ["-m", "manus_mcp"],
"cwd": "path/to/Manus-MCP",
"env": { "MANUS_API_KEY": "sk-..." }
}
}
}Claude Codeを再起動すると、ツールリストに manus_* ツールが表示されます。
検証
サーバーを起動せずに実行:
python scripts/list_tools.py実際のAPIに対して実行:
python scripts/smoke.pyユニットテスト:
pytestリントと型チェック:
ruff check .
mypy manus_mcpClaude Codeからの使用例
manus_task_create { "message": { "content": "Give me a 5-bullet summary of today's AI news" } }レスポンスには task_id が含まれます。次に:
manus_task_wait { "task_id": "<id>", "timeout_sec": 600 }終了すると、最終的な返信を含む last_assistant_message と、会話履歴を含む new_messages が取得されます。
ファイルをアップロードしてタスクに添付する:
manus_file_upload { "source": { "path": "C:/docs/report.pdf" } }
manus_task_create {
"message": {
"content": [
{ "type": "text", "text": "Summarize this report" },
{ "type": "file", "file_id": "<file_id>" }
]
}
}Webhookレシーバー (オプション)
ManusAPIDocs/webhooks/security.md に従った完全なRSA-SHA256署名検証を備えた、task_created / task_stopped イベント用のローカルレシーバーです。
1. 環境変数の設定
MANUS_WEBHOOK_PUBLIC_URL=https://your-tunnel.example.com/manus/webhook
MANUS_WEBHOOK_HOST=127.0.0.1
MANUS_WEBHOOK_PORT=8787
# MANUS_WEBHOOK_DB_PATH=... # defaults to %LOCALAPPDATA%\manus-mcp\events.db on WindowsMANUS_WEBHOOK_PUBLIC_URL は、Manusが呼び出すURLと完全に一致している必要があります。Manusの署名ペイロードにはこのURLが含まれているため、タイプミスがあるとすべてのイベントが拒否されます。
2. トンネルの開始
例えば、Cloudflare Tunnelを使用する場合:
cloudflared tunnel --url http://localhost:8787またはngrokを使用する場合:
ngrok http 87873. レシーバーの実行
python -m manus_mcp.webhook_receiver
# or: manus-mcp-webhook --host 127.0.0.1 --port 87874. ManusへのWebhook登録
Claude Codeで以下を実行:
manus_webhook_create { "url": "https://your-tunnel.example.com/manus/webhook" }5. イベントの読み取り
manus_webhook_events_list { "event_type": "task_stopped", "limit": 20 }
manus_webhook_events_get { "event_id": "..." }
manus_webhook_events_clear { "before_received_at": 1704000000 }アーキテクチャ
manus_mcp/
├── __main__.py # stdio entrypoint
├── server.py # MCP Server bootstrap
├── config.py # pydantic-settings
├── logger.py # stderr-only logger
├── client/
│ ├── manus_client.py # async httpx client + retry
│ ├── rate_limiter.py # per-endpoint token bucket (from rate-limits.md)
│ ├── retry.py # exponential backoff + jitter
│ └── errors.py # ManusApiError / ManusNetworkError
├── schemas/ # pydantic models for each resource (tasks, projects, ...)
├── tools/ # @manus_tool registration for all 36 tools
│ ├── tasks.py projects.py skills.py agents.py
│ ├── files.py webhooks.py usage.py connectors.py
│ ├── browser.py website.py
│ └── composite.py # task_wait / file_upload / website_publish_and_wait
└── webhook_receiver/
├── signature.py # RSA-SHA256 verification using {ts}.{url}.{sha256_hex(body)}
├── storage.py # SQLite WAL
├── server.py # Starlette + uvicorn
├── tools.py # events_list / events_get / events_clear
└── __main__.pyレート制限
クライアントはAPI制限(60秒のスライディングウィンドウ)を遵守し、429レスポンスに対してバックオフとジッターを伴う再試行を透過的に行います。制限は ManusAPIDocs/getting-started/rate-limits.md に基づいています:
10回/分:
task.create,task.sendMessage40回/分: すべてのミューテーション
100回/分: すべての読み取り専用呼び出し
600回/分:
usage.*
セキュリティ
APIキーはログに記録されません。
Webhookレシーバーは署名を検証し、5分以上経過したタイムスタンプを拒否します。
公開鍵は1時間キャッシュされます。
SQLiteは安全なマルチリーダーアクセスのために
check_same_thread=Falseを指定し、WALモードで開かれます。
ライセンス
MIT。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP Server for the Notion API, enabling Claude to interact with Notion workspaces.31682918MIT
- AlicenseAqualityBmaintenanceLocal MCP server that wraps the headless Claude Code CLI as MCP tools, providing stateless access to Claude's coding capabilities through prompt-based interactions. It enables users to execute Claude Code commands with various prompt formats and structured outputs directly from MCP clients.3MIT
- Alicense-qualityDmaintenanceTurns any CLI tool or REST API into an MCP server for Claude, enabling Claude to use git, databases, or any API through natural language.MIT
- Flicense-qualityCmaintenanceA remote MCP server that wraps the Manus API to expose a generate_image tool, enabling Claude to request image generation via Manus.
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/0-SOFT/Manus-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server