MCP

Model Context Protocol

Connect AI clients (e.g. Claude Desktop) to this MCP server.

Endpoint: /mcpAPI Docs

Authentication

Pass a token in the Authorization header with each request:

Authorization: Bearer YOUR_TOKEN

Two ways to obtain a token:

  1. Personal Access Token (PAT) — create one at /token after logging in.
  2. Signup / Login — the agent can call the signup or login tool to obtain a session token programmatically.

Playground

Pick a tool, fill in parameters, and run it.

Raw JSON-RPC

Payments

Metered tools are pay-per-call. Two ways to pay:

  • x402 — agents pay per call in USDC on Base. Call a metered tool with no auth and you get an HTTP 402 whose body lists the price and pay-to address; pay and retry. No account needed.
  • Creditslog in with a token and calls draw from your credit balance instead.

Prices are shown per tool below.

me

Get the current authenticated user's identity, account ID, and admin status

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"me"}}
agent

Run the AI agent — plans which tools to use, executes them, and synthesises an answer. Use for complex queries that need multiple data sources.

Metered — $0.03 per call (x402) or credits

ParamTypeDescription
prompt *stringWhat you want the agent to do
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"prompt":"prompt"},"name":"agent"}}
chat

Chat with AI assistant

Metered — $0.05 per call (x402) or credits

ParamTypeDescription
prompt *stringThe message to send to the AI
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"prompt":"prompt"},"name":"chat"}}
news

Read the latest news feed

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"news"}}
blog_read

Read a specific blog post by ID

ParamTypeDescription
id *stringThe blog post ID
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id"},"name":"blog_read"}}
blog_create

Create a new blog post

Metered — $0.01 per call (x402) or credits

ParamTypeDescription
titlestringPost title
content *stringPost content (minimum 50 characters)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"content":"content"},"name":"blog_create"}}
blog_update

Update an existing blog post (author only)

ParamTypeDescription
id *stringThe blog post ID to update
titlestringNew post title
contentstringNew post content (minimum 50 characters)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id"},"name":"blog_update"}}
blog_delete

Delete a blog post (author only)

ParamTypeDescription
id *stringThe blog post ID to delete
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id"},"name":"blog_delete"}}
mail_read

Read mail inbox

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"mail_read"}}
mail_send

Send a mail message

Metered — $0.04 per call (x402) or credits

ParamTypeDescription
to *stringRecipient username or email
subject *stringMessage subject
body *stringMessage body
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"body":"body","subject":"subject","to":"to"},"name":"mail_send"}}
wallet_balance

Get wallet credit balance

ParamTypeDescription
balancestringSet to 1 to get balance
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"wallet_balance"}}
wallet_transfer

Transfer credits to another user by username

ParamTypeDescription
to *stringRecipient username
amount *numberNumber of credits to transfer
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"amount":1,"to":"to"},"name":"wallet_transfer"}}
wallet_topup

Get available wallet topup payment methods with crypto deposit address and card payment tiers

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"wallet_topup"}}
stream

Read the platform event stream — user messages, agent responses, system events (markets, news, reminders)

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"stream"}}
stream_post

Post a message to the stream. Mention @micro to get an AI response. Costs 1 credit.

Metered — $0.01 per call (x402) or credits

ParamTypeDescription
content *stringMessage text (max 1024 chars). Use @micro to invoke the AI agent.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"content":"content"},"name":"stream_post"}}
flag

Flag content for moderation

ParamTypeDescription
type *stringContent type (e.g. post, work, app)
id *stringContent ID
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","type":"type"},"name":"flag"}}
save

Bookmark content for later

ParamTypeDescription
type *stringContent type (e.g. post, work, app)
id *stringContent ID
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","type":"type"},"name":"save"}}
unsave

Remove a saved bookmark

ParamTypeDescription
type *stringContent type
id *stringContent ID
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","type":"type"},"name":"unsave"}}
dismiss

Hide content from your view

ParamTypeDescription
type *stringContent type
id *stringContent ID
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","type":"type"},"name":"dismiss"}}
block_user

Block a user — hides all their content from your view

ParamTypeDescription
user *stringUser ID to block
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"user":"user"},"name":"block_user"}}
unblock_user

Unblock a previously blocked user

ParamTypeDescription
user *stringUser ID to unblock
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"user":"user"},"name":"unblock_user"}}
places_nearby

Find all places of interest near a given location

Metered — $0.02 per call (x402) or credits

ParamTypeDescription
addressstringAddress or postcode to search near
latnumberLatitude of the search location
lonnumberLongitude of the search location
radiusnumberSearch radius in metres, 100–5000 (default 500)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"places_nearby"}}
reminder

Get today's daily Islamic reminder with verse, hadith, and name of Allah

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"reminder"}}
quran

Look up a Quran chapter or verse. Pass chapter number (1-114) and optionally a verse number.

ParamTypeDescription
chapter *numberChapter number (1-114)
versenumberVerse number (optional, returns full chapter if omitted)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"chapter":1},"name":"quran"}}
hadith

Look up hadith from Sahih Al Bukhari. Pass a book number to get hadiths from that book.

ParamTypeDescription
booknumberBook number
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"hadith"}}
signup

Create a new account and return a session token. When invite-only mode is enabled, a valid invite code is required.

ParamTypeDescription
id *stringUsername (4-24 chars, lowercase, starts with letter)
secret *stringPassword (minimum 6 characters)
namestringDisplay name (optional, defaults to username)
invitestringInvite code (required when instance is invite-only)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","secret":"secret"},"name":"signup"}}
login

Log in and return a session token for use in Authorization header

ParamTypeDescription
id *stringUsername
secret *stringPassword
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id","secret":"secret"},"name":"login"}}
web_fetch

Fetch a web page and return its cleaned readable content (strips ads, popups, navigation)

Metered — $0.03 per call (x402) or credits

ParamTypeDescription
url *stringThe URL to fetch
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"url"},"name":"web_fetch"}}
news_headlines

Get recent news headlines with short summaries balanced across all topics (not dominated by one topic like crypto). Use for general news and briefing requests, then news_read for any article worth expanding.

ParamTypeDescription
topicstringOptional topic/category filter (e.g. tech, world, business)
limitstringOptional max number of headlines (default 30)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"news_headlines"}}
news_read

Read one news article in full (title, source, summary and body) by its id from news_headlines, or by article URL.

ParamTypeDescription
id *stringArticle id (from news_headlines) or article URL
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"id":"id"},"name":"news_read"}}
recall

Search across everything mu knows — indexed news, blog, social and video, plus the user's own mail — and return the most relevant items with ids. Use for 'do you remember', 'what did I get about X', 'search my stuff' and cross-source lookups.

ParamTypeDescription
query *stringWhat to look for
limitstringOptional max results (default 12)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"query":"query"},"name":"recall"}}
markets

Get live market prices for cryptocurrencies, futures, commodities and currencies.

ParamTypeDescription
categorystringcrypto, futures, commodities or currencies (default crypto)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"markets"}}
weather_forecast

Get the weather forecast for a location (current conditions plus the next few days).

Metered — $0.01 per call (x402) or credits

ParamTypeDescription
lat *numberLatitude of the location
lon *numberLongitude of the location
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"lat":1,"lon":1},"name":"weather_forecast"}}
social

Get the latest social posts from the network.

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"social"}}
video

Get the latest videos from curated channels.

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"video"}}
blog_list

Get recent blog posts (titles, snippets and ids; use blog_read for one in full).

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"blog_list"}}
apps_read

Read details of a specific app by its slug

ParamTypeDescription
slug *stringThe app's URL slug (e.g. pomodoro-timer)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"slug":"slug"},"name":"apps_read"}}
apps_create

Create a new app — a small, self-contained HTML tool hosted on Mu

ParamTypeDescription
name *stringApp name (e.g. Pomodoro Timer)
slug *stringURL-friendly ID (e.g. pomodoro-timer)
description *stringShort description of what the app does
tagsstringComma-separated tags (optional)
html *stringThe app's HTML content (can include inline CSS and JavaScript, max 256KB)
pricenumberCredits charged per use (0 = free, max 1000)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"description":"description","html":"html","name":"name","slug":"slug"},"name":"apps_create"}}
apps_edit

Edit an existing app — update its name, description, tags, icon, HTML code, or price

ParamTypeDescription
slug *stringThe app's URL slug (e.g. pomodoro-timer)
namestringNew app name
descriptionstringNew description
tagsstringNew comma-separated tags
htmlstringNew HTML content (max 256KB)
iconstringNew SVG icon
pricenumberCredits charged per use (0 = free, max 1000)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"slug":"slug"},"name":"apps_edit"}}
apps_build

Build a small app from a natural language description, save it, and return the app details with URL. Apps are one of: a tracker (a list you add entries to, optionally totalling a number), a checklist, or a counter.

Metered — $1.00 per call (x402) or credits

ParamTypeDescription
prompt *stringDescription of the app to build (e.g. 'an expense tracker', 'a packing checklist', 'a water intake counter')
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"prompt":"prompt"},"name":"apps_build"}}
apps_fork

Fork an existing app — creates a copy under your account that you can modify independently

ParamTypeDescription
slug *stringSlug of the app to fork
new_slugstringSlug for the forked copy (optional, auto-generated if empty)
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"slug":"slug"},"name":"apps_fork"}}
apps_run

Run JavaScript code in a sandboxed environment and return the result. Use for calculations, data processing, or any computation the user needs.

Metered — $0.03 per call (x402) or credits

ParamTypeDescription
code *stringJavaScript code to execute. The code runs as a function body — use 'return' to output a value. Has access to mu.ai(), mu.fetch(), mu.store for platform features.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"code":"code"},"name":"apps_run"}}
apps_test

Test an app by checking its HTML structure and executing its mu.api calls server-side. Returns which API calls work and which fail.

ParamTypeDescription
slug *stringThe app's URL slug
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"slug":"slug"},"name":"apps_test"}}
agent

Ask the AI agent a question. The agent can search news, markets, web, video, weather, places, and more to answer your question.

Metered — $0.03 per call (x402) or credits

ParamTypeDescription
prompt *stringYour question or request
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"prompt":"prompt"},"name":"agent"}}
wallet

Get your Base wallet address and USDC balance. This wallet pays for metered MCP tools via x402.

{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{},"name":"wallet"}}
pay

Call a metered tool on an MCP server and pay for it from your Base wallet via x402. Works on this server and any other server in the registry.

ParamTypeDescription
tool *stringName of the tool to call
serverstringServer name from the registry, or a base URL (default: self)
argumentsobjectArguments to pass to the tool
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"tool":"tool"},"name":"pay"}}