First-party app
Manus Manus

Manus

Create and drive Manus AI agent tasks, poll their progress, manage projects, files, webhooks and published websites, over Manus's API v2.

stable AI & Machine LearningProductivity

About

Manus ships in the w6w first-party pack. It declares 32 actions, 2 health checks, and the host runs its code in a sandbox that never sees the credential.

App id
io.w6w.manus
Version
0.1.1
Author
w6w
Licence
MIT
Categories
AI & Machine Learning · Productivity

Overview

Manus is a general-purpose AI agent platform — it browses, writes code, builds and publishes websites, and works through multi-step tasks the way a person would, rather than answering in a single turn. This app drives Manus’s API v2: create a task from a prompt, poll its event stream for progress, send follow-up messages, and confirm the actions a task pauses on when it needs a human’s go-ahead.

Beyond the core task lifecycle, it covers the platform features a workflow actually touches: projects (shared instructions applied to every task inside them), file uploads a task can read, webhooks as an alternative to polling, the connectors and skills a task can be configured with, custom agents’ subtasks, a team’s online browser clients (for the human-in-the-loop browser-handoff flow), and the credit/usage accounting that decides whether a task can run at all. It also covers the websites a Manus task can build: checking publish status, browsing checkpoints, and publishing or updating one.

Manus’s docs describe two API generations. v1 is explicitly deprecated in the vendor’s own words (“API v1 has been deprecated and will be removed in the future”) — every action here is built against v2 only.

Build with Manus

Three routes to the same 32 actions. The Workflow tab is generated from Manus's own manifest and carries its real ids, so it is copy-pasteable; the Code and CLI examples are the same call for any action on any app, so every app-specific value in them is a blank you fill in.

Get Agent

agent-detail

Retrieve one custom agent's details.

List Agents

agent-list

List all custom agents in the account.

Update Agent

agent-update

Update a custom agent's nickname or description.

List Online Browser Clients

browser-online-list

List the account's currently-online browser clients.

List Connectors

connector-list

List connectors installed in the account.

Delete File

file-delete

Delete a file before its automatic 48-hour expiration.

Get File

file-detail

Retrieve a file's upload status, size and expiration.

Create File Upload

file-upload

Create a file record and get a presigned URL to upload its bytes to.

Create Project

project-create

Create a project to group tasks and apply a shared instruction.

List Projects

project-list

List all projects in the account.

List Skills

skill-list

List available skills, including a project's own when Project ID is given.

Confirm Action

task-confirm-action

Confirm a pending action so a waiting task can resume.

Create Task

task-create

Start a new Manus task from a prompt.

Delete Task

task-delete

Permanently delete a task. Stop it first if it is still running.

Get Task

task-detail

Retrieve a task's current status and metadata.

List Tasks

task-list

List tasks, optionally filtered by scope, agent, project or creator.

List Messages

task-list-messages

List a task's event history: messages, status changes and (verbose) agent activity.

Send Message

task-send-message

Send a follow-up message to continue a task's conversation.

Stop Task

task-stop

Stop a running task. Returns no body.

Update Task

task-update

Update a task's title, sharing or task-list visibility.

Get Available Credits

usage-available-credits

Get the account's (or team's) spendable credit balance and refresh schedule.

List Usage

usage-list

List the account's credit change history, one entry per task.

List Team Usage Log

usage-team-log

List each team member's task count and credit consumption over a date range.

Get Team Usage Statistic

usage-team-statistic

Get the team's daily credit consumption over a date range.

Create Webhook

webhook-create

Register an HTTPS endpoint to receive task event notifications.

Delete Webhook

webhook-delete

Delete a webhook. Notifications stop immediately.

List Webhooks

webhook-list

List all webhooks registered on the account.

Get Webhook Public Key

webhook-public-key

Get the public key used to verify webhook notification signatures.

List Website Checkpoints

website-list-checkpoints

List a website's checkpoints, newest first.

Publish Website

website-publish

Deploy a website's latest checkpoint.

Get Website Status

website-status

Get a website's publish status, live URLs and visibility.

Update Website

website-update

Update a website's title or visibility without redeploying.

A workflow step names the app and the action, and the editor fills in the connection when you pick one. This is the Step shape from the workflow spec, carrying Manus's real ids.

{
  "manifestVersion": "2",
  "name": "manus-example",
  "steps": [
    {
      "id": "agent-detail",
      "uses": {
        "app": "io.w6w.manus",
        "action": "agent-detail",
        "connection": "conn_YOUR_CONNECTION_ID"
      },
      "with": {
        "agentId": "<agentId>"
      }
    }
  ]
}

Here are some of the things you can do

  • Get Agent

    read
    agent-detail
  • List Agents

    read
    agent-list
  • Update Agent

    perform
    agent-update
  • List Online Browser Clients

    read
    browser-online-list
  • List Connectors

    read
    connector-list

+27 more actions available

Every app-specific value here is a blank you have to fill in. An app action is reached through the connection that authenticates it, so the address is a connection id, not the app id — and connections belong to your account, so a public page cannot know yours. Create one for Manus, then fill in the three blanks: conn_YOUR_CONNECTION_ID, the action key, and the parameters that action declares. The call itself is real — the shape is transcribed from the studio's own snippet builder, which prints the same kind of blanks — but nothing in it is specific to Manus. The Workflow tab is where this app's real ids are.

Install
npm install @w6w/sdk
yarn add @w6w/sdk
pnpm add @w6w/sdk
deno add npm:@w6w/sdk
Code
import { W6wClient, isActionRun } from "@w6w/sdk";

// Reads W6W_BASE_URL and W6W_TOKEN from the environment when omitted.
const client = new W6wClient();

const envelope = await client.run({
  urn: "conn_YOUR_CONNECTION_ID",
  action: "agent-detail",
  payload: {
    agentId: "<value>",
  },
});

if (isActionRun(envelope)) console.log(envelope.value);
Install the CLI
npm install -g @w6w/cli
CLI
w6w run conn_YOUR_CONNECTION_ID --action agent-detail --payload '{"agentId":"<value>"}'

Give an AI agent Manus — without giving it Manus's credentials. One MCP endpoint exposes every app, function and workflow the caller is entitled to, as tools it can discover and run. Access is granted per team while we onboard.

One tool call
{
  "name": "w6w_invoke",
  "arguments": {
    "ref": "app:io.w6w.manus#agent-detail",
    "input": {
      "agentId": "<agentId>"
    }
  }
}

Every tool names its target with a single ref. The app: form above doesn't name a connection at all — the host resolves which of the caller's Manus connections to sign with, and refuses rather than guesses when the answer is ambiguous.

What the agent gets

Credentials it can't read

The token is attached host-side, at the moment of the call. It is never a tool argument, never in the model's context, and never in a transcript — so a prompt injection has nothing to exfiltrate.

A tool surface scoped to the caller

Tools are derived per end user from what that person has actually connected and is entitled to — not one shared bot identity carrying the union of everyone's access.

A durable workflow in one call

Multi-step work runs on the workflow engine and returns a run handle the agent can poll — retries, branching and state survive the conversation that started them.

Health-aware discovery

Manus's declared health checks are on the surface too, so an agent can tell "the vendor is down" from "your credential expired" before it burns a retry on either.

The MCP surface is part of the hosted platform. Manus itself is MIT, and the runtime that executes it is source-available (FSL).

Request MCP access

Health checks

Manus declares its own checks, so its health is a property of the app rather than something the host guesses at.

service

Manus platform status

Component status from status.manus.im, scoped to the API and the task-execution ('manus computer') components — not the web app this app never calls.

quota

Credit balance

Spendable credit balance, read from GET /v2/usage.availableCredits.