manus-mcp-server

manus-mcp-server

Enables Claude to generate images by wrapping the Manus API through a remote MCP server with OAuth authentication.

Category
Visit Server

README

manus-mcp-server

A Remote MCP server that wraps the Manus API and exposes a generate_image tool, so Claude (web/app) can request images and have Manus generate them.

How it works

Manus's API is a general task API, not a dedicated image endpoint. This server:

  1. Receives a generate_image tool call from Claude (prompt, optional style/aspect ratio).
  2. Creates a Manus task asking the agent to produce an image and return it as a file.
  3. Polls the task until it completes (or times out after 4 minutes).
  4. Returns the resulting file URL(s) back to Claude as the tool result.

1. Deploy on Railway

  1. Push this repo to GitHub.
  2. In Railway: New Project → Deploy from GitHub repo → select this repo.
  3. Railway will detect railway.json and use Nixpacks to run npm install && npm run build, then npm start.
  4. In the Railway project, go to Variables and set:
    • MANUS_API_KEY — your Manus API key.
    • MANUS_API_BASE_URL — defaults to https://api.manus.im/v1; check your Manus API docs/dashboard and adjust if different.
    • ADMIN_PASSWORD — a strong password only you know. This gates the /authorize login page so a stranger who finds your server's URL can't mint themselves an access token.
    • PUBLIC_BASE_URL — set this to your Railway public domain once you have it (step 5 below), e.g. https://manus-mcp-server-production.up.railway.app. If left unset, the server tries to infer it from request headers, which usually works on Railway but is safer to set explicitly.
    • PORT — Railway sets this automatically; no action needed.
  5. Once deployed, go to Settings → Networking → Generate Domain to get a public HTTPS URL, e.g. https://manus-mcp-server-production.up.railway.app.
  6. Confirm it's alive: visit https://<your-domain>/health — should return {"status":"ok"}.

2. Verify the Manus API endpoint shape

The exact paths (/tasks, response field names like task_id vs id) can vary by account/API version. Before relying on this in production:

  • Check https://manus.im/docs/integrations/manus-api (or your account's API reference) for the current create-task and get-task endpoints and response fields.
  • If they differ from what's in src/manusClient.ts, adjust the constants at the top of that file (CREATE_TASK_PATH, GET_TASK_PATH, and the field names read in createImageTask/getTask) and redeploy.
  • Easiest way to check without guessing: make one manual curl call to create a task and print the raw JSON, then match the field names.

3. Connect it to Claude

This server now implements a real OAuth 2.0 flow (dynamic client registration + authorization code + PKCE), which is what Claude's "Add custom connector" screen expects.

In Claude (web or app): Settings → Connectors → Add custom connector.

  • URL: https://<your-railway-domain>/mcp
  • Claude will auto-discover the OAuth endpoints via https://<your-railway-domain>/.well-known/oauth-authorization-server, register itself as a client, then redirect you to a login page.
  • On that login page, enter the ADMIN_PASSWORD you set in Railway. This approves the connection and Claude receives an access token.

Once connected, you can just ask Claude for an image and it will call the generate_image tool automatically.

Notes on this OAuth implementation

  • It's intentionally minimal: in-memory storage, single admin password, tokens expire after 1 hour and refresh automatically via the refresh token Claude stores.
  • Restarting/redeploying the Railway service clears all registered clients and tokens — you'll need to remove and re-add the connector in Claude if that happens.
  • This is appropriate for personal, single-user use. It is not a general-purpose identity provider — don't hand this URL to other people.

Local development

npm install
cp .env.example .env   # fill in your real values
npm run dev

Server runs at http://localhost:3000/mcp.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured