Meta Muse MCP Server by useapi.net

Meta Muse (muse.ai) agent chat with its live browser, images, videos with sound and its Library. Third-party, paid ($15/month), runs on your own Muse account.

Hosted MCP Server

npx add-mcp 'https://api.useapi.net/v1/muse/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Skip to main content

Muse MCP Server

October 13, 2026 (October 14, 2026)

Independent third-party service, see Legal

Table of contents

  1. Endpoint and authorization
  2. Setup
  3. Tools
  4. Long-running work
  5. Example prompts
  6. Limits and notes

The useapi.net Muse MCP server lets an AI assistant such as Claude Code, Cursor or VS Code Copilot use Muse, Meta’s AI agent, on your own Muse account. It is a hosted Model Context Protocol server with 37 tools: generate images and videos, chat with the Muse agent, answer its permission requests, open a live view of its web browser, manage the account’s Library and files, and reset the account. Each tool calls the Muse API, so the same rules, limits and allowance apply. Nothing needs to be installed or hosted.

Is there a Muse MCP server? Yes. useapi.net, a third-party service not affiliated with Meta, hosts one at https://api.useapi.net/v1/muse/mcp with 37 tools for Muse images, videos, chat, the agent’s browser and the Library, on your own Muse account, nothing to install.

Prefer REST? Tutorial: How to Generate AI Videos and Images with the Meta Muse API · Code: github.com/useapi/muse-api

See all useapi.net MCP servers on Model Matrix & MCP.

Endpoint and authorization

https://api.useapi.net/v1/muse/mcp
  • Transport: Streamable HTTP.
  • Listed in the official MCP Registry as net.useapi/muse, so MCP clients and directories that read the registry can find it by that name.
  • Authorization: your useapi.net API token in the Authorization: Bearer … header, see Setup useapi.net.
  • You need at least one Muse account added with Setup Muse. Adding and removing accounts is not available over MCP: use POST /accounts or the Setup Muse page.

Setup

Replace YOUR_API_TOKEN with your useapi.net API token.

Claude Code

claude mcp add --transport http useapi-muse https://api.useapi.net/v1/muse/mcp --header "Authorization: Bearer YOUR_API_TOKEN"

Cursor

In ~/.cursor/mcp.json:

{
  "mcpServers": {
    "useapi-muse": {
      "url": "https://api.useapi.net/v1/muse/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code

In .vscode/mcp.json:

{
  "servers": {
    "useapi-muse": {
      "type": "http",
      "url": "https://api.useapi.net/v1/muse/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Windsurf and other clients

Any client that supports remote MCP servers over HTTP with custom headers works. The usual JSON shape:

{
  "mcpServers": {
    "useapi-muse": {
      "serverUrl": "https://api.useapi.net/v1/muse/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Some clients name the address field url instead of serverUrl.

Test it with curl

curl -s https://api.useapi.net/v1/muse/mcp \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

curl -s https://api.useapi.net/v1/muse/mcp \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

The first call answers with the server’s name useapi-muse and its instructions for the assistant, the second with the 37 tools.

Tools

Most tools take an optional email, the Muse account to use. It can be left out when the API token has one Muse account.

Accounts and permissions

ToolWhat it doesMain parameters
muse_list_accountsLists your Muse accounts with health, maxJobs and weekly usage. 
muse_get_accountReads one account with its live weekly usage.email
muse_update_accountSets maxJobs, the image and video jobs an account runs at once. It doesn’t sign in.email, maxJobs
muse_reset_accountResets the account to a fresh agent computer, deleting everything on it. In two steps: without confirm it only returns the warning to show you, and it resets only when called again with confirm set to the account email you typed.email, confirm
muse_list_approvalsLists the agent’s permission requests across all chats, pending and decided.email, status, limit
muse_get_permissionsReads whether the agent asks before acting on websites and connected apps, and the standing rules.email
muse_set_permission_defaultsSets web and connectors to auto_allow or always_ask.email, web, connectors
muse_set_permission_ruleChanges one rule to allow, ask or deny.permissionId, mode
muse_delete_permission_ruleRemoves one rule.permissionId

Images and videos

ToolWhat it doesMain parameters
muse_generate_imageMakes one image from a prompt, optionally from up to 9 input images.prompt, image_1..image_9, email
muse_generate_videoMakes one video of about 10 seconds with sound, from a prompt and optional input images, videos and audio.prompt, image_1..image_9, video_1..video_3, audio_1..audio_3
muse_get_jobReads a job, and with wait: true waits for it to finish.jobid, wait, history
muse_list_jobsLists the jobs running now. 

The job tools also take replyRef, your own reference echoed back in the job record.

Chat

ToolWhat it doesMain parameters
muse_chatSends a message to the Muse agent and returns its answer: text, files, widgets and permission requests. Without chatId it starts a new chat.message, chatId, files, email
muse_get_chatReads a chat. With wait: true it follows the running answer and returns the rest.chatId, wait, after, limit, before
muse_list_chatsLists the account’s chats, newest first.email, limit, cursor
muse_delete_chatDeletes a chat. Its files stay.chatId
muse_cancel_chatStops the answer Muse is working on.chatId
muse_list_streamsLists the chat streams open on an account against its limit.email
muse_answer_approvalAnswers a permission request with allow_once, allow_always or deny, then follows the chat and returns the answer together with the agent’s continuation.chatId, approvalId, decision, wait
muse_answer_widgetAnswers a quick-reply widget with an option index or your own text, then follows the reply.chatId, widgetId, option or text, wait

The agent’s browser

ToolWhat it doesMain parameters
muse_get_browserReads a browser the agent opened in a chat: status, page, who has control, and whether it can be watched.chatId, taskId
muse_open_browser_viewerReturns a single-use link to a live view of the browser, to watch it or take control.chatId, taskId, mode, ttl, quality, compression
muse_revoke_browser_viewersEnds every live view of the browser.chatId, taskId
muse_release_browserGives control of the browser back to the agent.chatId, taskId
muse_stop_browserCloses the browser.chatId, taskId

See the Live Browser Guide.

Library

ToolWhat it doesMain parameters
muse_list_assetsLists the account’s whole Library, newest first: images, videos and audio, documents, web apps (with shareUrl when published) and podcasts. Says when the list may be incomplete.email, type, origin, limit, cursor
muse_upload_assetUploads an image, video or audio file from a public https URL, up to 50 MB.url, email
muse_get_assetReturns an image of up to about 1 MB as an image, a text document or web app of up to 256 KB as text, or else the file’s type, size and download URL. part=cover gives a podcast’s cover, format=pdf a document as PDF.assetId, part, format
muse_delete_assetDeletes a Library item: a media file, a document, a web app or a podcast.assetId
muse_share_web_appPublishes a web app on a public link. Muse reviews it first and can refuse, listing the issues it found.assetId
muse_unshare_web_appStops sharing a web app. The app stays in the Library.assetId

Workspace files

ToolWhat it doesMain parameters
muse_list_filesLists a folder of the account’s workspace, or one file.email, path
muse_search_filesFinds files by part of the name and/or extension.name, extensions, path, limit, offset
muse_read_fileReturns a text file of up to about 200 KB as text, or an image of up to about 1 MB as an image.path
muse_write_fileWrites a file into the workspace, as text or base64, for the agent to use in a chat.path, content or contentBase64, contentType
muse_delete_fileDeletes a file.path

The full input schema of every tool comes from tools/list.

Long-running work

MCP clients usually give up on a tool call after about a minute, so a tool waits up to about 50 seconds:

  • An image or a short answer usually finishes in that time, and the tool returns the result.
  • A video usually takes longer. muse_generate_video then returns the jobid, and muse_get_job with wait: true picks it up.
  • A chat answer that is still running returns its chatId with status: "running" and a lastEventId. muse_get_chat with wait: true and after set to that lastEventId returns the rest.

Clients that ask for progress notifications get one about every 10 seconds while a tool waits. Results show up to two small images as previews, and every file comes with its assetId and download URL.

When a chat answer returns status: "waiting_for_approval", the agent waits for your permission: the assistant should ask you, then answer with muse_answer_approval.

muse_reset_account never resets on its first call. It returns a warning for the assistant to show you, and resets only when you type the account email and the assistant calls it again with that email as confirm. If the reset call errors or times out, it may still have run: check the account before calling it again.

Example prompts

  • “Make a 10-second video of a corgi surfing at sunset, in exactly 9:16 aspect ratio.”
  • “Make an image of a vintage motorcycle on wet cobblestones at night, then animate it into a video.”
  • “Ask Muse to research the top 5 electric cars of 2026, write a comparison table as a CSV, and give me the files.”
  • “Upload this photo from its URL and restore and colorize it.”
  • “List my Muse chats and continue the newest one: ask for a shorter version.”
  • “Ask Muse to open example.com in its browser, then give me a live view link so I can take control.”
  • “List the web apps in my Muse Library and publish the newest one.”

Limits and notes

  • The tools use your Muse account, its weekly Muse allowance, and the same rules as the REST API, such as maxJobs for jobs.
  • Before some actions, such as reaching a website or acting in a connected app, the agent asks for permission. See GET /accounts/ email/permissions to change when it asks.
  • Custom connectors on claude.ai need OAuth sign-in, which this server does not support yet. Use Claude Code or another client that can send an Authorization header.
  • A client may send up to 20 JSON-RPC requests in one batch.
  • If the client sends an MCP-Protocol-Version header, it must be one of the supported versions: 2025-06-18, 2025-03-26 or 2024-11-05.
  • Every tool call shows in your usage stats ( bot=muse) as model muse-mcp, with the tool name as its status, or failed.

Tutorials for the Muse API v1:

{ "@context": "https://schema.org", "@type": "APIReference", "name": "Muse MCP Server: Meta Muse Video, Images and Chat, Hosted", "url": "https://useapi.net/docs/api-muse-v1/mcp", "inLanguage": "en", "isAccessibleForFree": true, "description": "Connect Claude Code, Cursor, VS Code or any MCP client to the hosted useapi.net Muse MCP server: 37 tools for Muse images, videos, chat, the agent's browser and the Library.", "about": "Muse API v1", "isPartOf": { "@type": "APIReference", "name": "Muse API v1" }, "publisher": { "@type": "Organization", "name": "useapi.net", "url": "https://useapi.net", "logo": { "@type": "ImageObject", "url": "https://useapi.net/assets/brand/useapi-logo-512.png" }, "alternateName": ["useapi", "UseAPI"], "sameAs": ["https://discord.gg/w28uK3cnmF", "https://t.me/use_api", "https://github.com/useapi", "https://bsky.app/profile/useapi.net", "https://www.youtube.com/@useapi-net"] }, "documentationOf": { "@type": "WebAPI", "name": "useapi.net REST API", "documentation": "https://useapi.net/llms.txt", "termsOfService": "https://useapi.net/docs/legal" } }
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://useapi.net/" }, { "@type": "ListItem", "position": 2, "name": "Muse API v1", "item": "https://useapi.net/docs/api-muse-v1" }, { "@type": "ListItem", "position": 3, "name": "MCP Server", "item": "https://useapi.net/docs/api-muse-v1/mcp" } ] }