Skip to main content
There are two transports and they expose the same tools. The tool catalog is one set of definitions consumed by both, so there is no hosted only tool and no self hosted only tool. See MCP tool reference. Both transports serve MCP 2026-07-28 and the 2025 revisions, and none of the commands below carry a protocol version, so none of them change with the revision your client picks. See The asobeast MCP server. Either way the Settings card writes the configuration for you. The manual path is the same thing typed by hand.

Connect to the hosted endpoint

1

Mint a read only token

Open the MCP server card in Settings and click connect an agent. The token is read only, which is all any tool needs.
2

Copy the hosted snippet

The card shows the endpoint and a ready to paste command, pre filled with the origin you are browsing.
Run in a terminal.
The endpoint authenticates with the same asob_ token as the REST API, so there is no second credential to manage. Every request is authenticated, entitled and rate limited exactly like a REST call. See Rate limits and quotas. A token is the only credential it takes. A browser session cookie is answered with 401 even when it belongs to a signed in owner, so the endpoint carries no ambient authority a page could borrow.

The quick path for the stdio server

1

Open the MCP server card in Settings

Sign in to your instance first.
2

Click connect an agent and name a token

asobeast mints the token and shows two ready to paste snippets, the Claude Code command and the Claude Desktop configuration, pre filled with the origin you are browsing.
3

Replace the entrypoint with an absolute path

The snippet cannot know where your checkout lives. Substitute the absolute path to apps/mcp/dist/index.js.
The token is shown once. Copy it before you leave the page.

The manual path

1

Build the server

This produces apps/mcp/dist/index.js.
2

Mint a personal API token

Use the API tokens card in Settings. See Personal API tokens.
3

Register the server with your client

Use the configuration below.

Client configuration for stdio

Always use an absolute path to the entrypoint. Claude Desktop and Claude Code do not necessarily launch the process from your repository root, so a relative path fails with MODULE_NOT_FOUND. This is the most common setup failure.

Choosing ASOBEAST_API_URL

ASOBEAST_API_URL is resolved on the machine the agent runs on, not by a browser. That is the second most common failure, because the value that works in your address bar is often not the value the agent needs. The proxy path is not a fallback. In a Compose deployment the API is on a private network and is never published, so https://your-host/api/backend is the only route in from another machine. The proxy forwards the bearer header to the API unchanged. See How asobeast works. It defaults to http://localhost:4000, and an empty value counts as unset, so a template that leaves it blank still gets the default. There is no default for the token. The value is the REST API, so it never ends in /mcp. The hosted endpoint is a different transport, and the server refuses a URL copied from its snippet with the value to set instead. Plain http:// to a host other than this machine logs a warning at startup, because the token travels unencrypted. It still connects, since a private network you trust is a legitimate place to run it. Use https:// everywhere else.

Verify the connection

At startup the server checks its configuration and calls /auth/me on your instance before it registers a single tool. Each of these outcomes ends the process with a non zero exit status and a message that names the variable to change. Diagnostics go to stderr, because on stdio the JSON-RPC stream owns stdout. The token is never logged. When the preflight passes, the server logs the instance it connected to and the tools appear in your client.

Troubleshooting

The entrypoint path is relative, or the server has not been built. Run pnpm build and register the absolute path to apps/mcp/dist/index.js.
The command was given a whole configuration file. Pass only the server entry, the object that starts with "type": "http", as the Claude Code JSON tab shows.
Claude Desktop does not read your shell PATH, so it cannot find npx when Node was installed by a version manager. Install Node system wide, or set command to the absolute path that which npx prints in your terminal.
The entry is nested one level too deep, usually an mcpServers object pasted inside an existing mcpServers object. Keep a single mcpServers key with asobeast directly inside it.
Desktop clients such as Claude Desktop do not read your shell PATH, so they cannot find node when it was installed by a version manager. Set command to the absolute path that which node prints in your terminal.
The preflight failed. Read the stderr output in your client’s MCP log, which names the exact cause: a missing token, a rejected token, or an unentitled account.
The client did not start the process, or it exited during preflight. Confirm the command runs on its own in a terminal with the same environment variables, which surfaces the error directly.
The agent is on a different machine than the instance. localhost there means that machine. Set ASOBEAST_API_URL to your public web origin plus /api/backend, or use the hosted endpoint instead, which needs no local process at all.
A client configured to probe for the newer protocol revision sends one server/discover request before anything else, and it counts against your workspace’s mcpRequestsPerMinute budget like any other request. Connecting and listing the tools costs two requests, so a client that reconnects often spends more of the budget than one that stays connected. See Rate limits and quotas.
Each one is a different problem. A 401 means the token is missing, revoked or expired, and it carries a WWW-Authenticate: Bearer challenge. A 402 means the workspace has no live plan. A 403 means the workspace is suspended. A 405 means the client used GET or DELETE, which a stateless server does not offer. The response names POST in its Allow header, and a conforming client carries on over POST. A 429 means a rate limit is spent, and the response says when it reopens. See Rate limits and quotas.
The endpoint has no OAuth. The client did not send the token, so it answered 401 and the client went looking for OAuth metadata, which every /.well-known path on your instance answers with a JSON 404. Check that the header is named Authorization, that its value starts with Bearer followed by the asob_ token, and, for a .mcp.json that reads the token from a variable, that the variable is exported in the shell that starts the client.

MCP tool reference

Every tool and its parameters, generated from the catalog.

MCP recipes

Prompts that work well once you are connected.
Last modified on September 17, 2026