Connect OpenCode to Manus
Set up in minutes
Choose where it runs
On your computer through your own OpenCode, or hosted in the cloud. The rest of setup adapts to your choice:
Pick what it can do in Manus
A preset of real Manus operations. Each one becomes a tool the agent can call, and it can't touch anything outside the list.
Connect Manus
One sign-in. The agent acts through your account, scoped to the operations you picked.
Add your personal MCP link
The last step mints a private MCP URL for this agent and walks you through exactly this, with your real link filled in. The page flips to Connected the moment your OpenCode first calls in. opencode mcp add only saves the config. OpenCode connects when it starts — run opencode, or restart a running one.
1. Run this in your terminal
2. Choose Remote and paste your server URL
3. Choose No when asked about OAuth authentication — the link itself is the key
<your-link> is your personal server URL — setup mints it for you.
Tools OpenCode gets
Manus
23 toolsReturns the Manus user ID associated with the authenticated API key or OAuth2 access token. API Key and Trusted client callers also receive the user's display name, email, and avatar. This endpoint is read-only and does not require an OAuth scope.
Creates a new task. The task runs asynchronously. Poll for progress with [task.listMessages](https://open.manus.ai/docs/v2/task.listMessages), send follow-ups with [task.sendMessage](https://open.manus.ai/docs/v2/task.sendMessage).
Retrieves a task's status and metadata. Use [task.listMessages](https://open.manus.ai/docs/v2/task.listMessages) for the full event history, or [task.sendMessage](https://open.manus.ai/docs/v2/task.sendMessage) to continue the conversation.
Lists tasks with optional filtering and cursor-based pagination. Use `scope` to filter by task type, e.g. `agent_subtask` with `agent_id` for agent subtasks.
Stops a running task. The task status will change to `stopped`. A stopped task can still be resumed with [task.sendMessage](https://open.manus.ai/docs/v2/task.sendMessage).
Deletes a task permanently. If the task is still running, use [task.stop](https://open.manus.ai/docs/v2/task.stop) first.
Updates a task's metadata (title, sharing, visibility). Use [task.detail](https://open.manus.ai/docs/v2/task.detail) to see the current values before updating.
Sends a follow-up message to a task for multi-turn conversation. Use this after [task.create](https://open.manus.ai/docs/v2/task.create) to continue talking, or to answer `messageAskUser` / `cascadeAskUser` questions with ordinary message.content. For supported action confirmations, review confirm_input_schema and the target tool event, then use [task.confirmAction](https://open.manus.ai/docs/v2/task.confirmAction). Do not automatically confirm unrecognized waiting types.
Lists event messages for a task with cursor-based pagination. Use this to poll for progress after [task.create](https://open.manus.ai/docs/v2/task.create) or [task.sendMessage](https://open.manus.ai/docs/v2/task.sendMessage).
Creates a new project. Projects let you group related tasks and apply shared instructions. Pass the returned ID as `project_id` in [task.create](https://open.manus.ai/docs/v2/task.create) to create tasks within this project.
Lists all projects. Use the returned IDs as `project_id` in [task.create](https://open.manus.ai/docs/v2/task.create) or [task.list](https://open.manus.ai/docs/v2/task.list).
Retrieves a project's full configuration: name, instruction, default connectors, and default skills. [project.list](https://open.manus.ai/docs/v2/project.list) returns only each project's ID, name, and creation time; call this endpoint before [project.update](https://open.manus.ai/docs/v2/project.update) to read the current values.
Updates a project's name, instruction, default connectors, or default skills. Omitted fields are unchanged; a request with no updatable field returns `400 invalid_argument`. `connector_ids` and `skill_ids` replace the entire list. Returns the full updated configuration in the same shape as [project.detail](https://open.manus.ai/docs/v2/project.detail).
Lists generated task artifacts from the authenticated user's Manus Library, newest first. Temporary input files from file.upload are not included.
Retrieves a file's details including upload status, size, and expiration time. For an uploaded, unexpired file, also returns a temporary GET download URL and its expiration time at the top level of the response. Use this to download an uploaded attachment for validation before creating a task. Check that `file.status` is `uploaded` before using the file in [task.create](https://open.manus.ai/docs/v2/task.create). Files expire 48 hours after upload.
Deletes a file. Files are automatically deleted 48 hours after upload, so manual deletion is only needed for early cleanup.
Creates a webhook for receiving task event notifications. Use [webhook.publicKey](https://open.manus.ai/docs/v2/webhook.publicKey) to get the key for verifying signatures.
Lists all webhooks in your account. Use the returned IDs with [webhook.delete](https://open.manus.ai/docs/v2/webhook.delete) to remove a webhook.
Deletes a webhook. The endpoint will stop receiving notifications immediately. Use [webhook.list](https://open.manus.ai/docs/v2/webhook.list) to find the webhook ID.
Returns the credit balance, subscription period, and refresh information for the authenticated caller. For a team sub-account, the team's shared pool balance is returned; for a personal account, the personal balance is returned. Standard OAuth clients cannot access this endpoint; trusted clients can.
Lists connectors installed in the current user's account. Use the returned IDs in the `connectors` array of [task.create](https://open.manus.ai/docs/v2/task.create) or [task.sendMessage](https://open.manus.ai/docs/v2/task.sendMessage).
Lists installed skills available for task selection.
Retrieves one skill's details and a temporary download URL for its current archive.
About OpenCode
Frequently asked questions
More ways to connect
More tools for OpenCode
Use Manus with other agents
Open your OpenCode agent in one click.
NoClick runs OpenCode for you with Manus wired in as tools. Connect your account and run.