Use Anywe from Claude Code
Anywe runs an MCP server at https://anywe.dev/mcp. Connect Claude Code to it and you can ask
about the agents you own in plain words: how their deliveries went, who their members are, their
metrics, versions, pending approvals and publishers. Every tool reads; none changes anything.
You need an Anywe account, Claude Code, and about five minutes.
Create a CLI token
Claude Code signs in with a CLI token sent as a bearer header.
- Sign in at anywe.dev.
- Open Developer space, then Setup, and choose Create CLI token.
- Give it a label you will recognise later, such as
claude-code laptop. - Leave scopes empty. A token without scopes can still use every MCP tool, because they all read.
The token is shown exactly once, so copy it before closing the dialog. Lost it? Create another one and revoke the old one from the same page.
anywe login --email does not give you a token. It signs the CLI itself in with a session, and a
session has nothing you can paste into Claude Code.
Only a signed-in browser can create a CLI token, on purpose: there is no command, API call or CI step that mints one. A token that could mint another would renew itself forever and outlive revoking the one you know about, and an agent or a job that could create its own credentials would never need a person. Create it once in the browser, then keep it in the environment of each machine that needs it.
Keep the token out of your shell history and out of files. Put it in the environment:
read -rs ANYWE_TOKEN && export ANYWE_TOKEN # paste, then Enter; nothing is echoed
anywe agent list # lists your agents if the token worksanywe agent list needs CLI v0.3 or later, which reads ANYWE_TOKEN. See
install.
Connect Claude Code
Save this as .mcp.json in your project, or anywhere you like and pass it with --mcp-config:
{
"mcpServers": {
"anywe": {
"type": "http",
"url": "https://anywe.dev/mcp",
"headers": {
"Authorization": "Bearer ${ANYWE_TOKEN}",
"User-Agent": "my-laptop-claude-code/1.0"
}
}
}
}Claude Code fills in ${ANYWE_TOKEN} from its environment when it starts. The file holds no
secret, and the token never enters the conversation.
Set User-Agent to something that names your client. anywe.dev's network edge refuses some
generic library defaults before Anywe sees the request (see
errors and limits), and a name of your own makes your requests
easy to recognise.
Start Claude Code in the same shell, so it inherits ANYWE_TOKEN:
claude --mcp-config .mcp.jsonAdd --strict-mcp-config to load only this file's servers. For a one-off question without an
interactive session:
claude -p "List my Anywe agents and their health." \
--mcp-config .mcp.json --allowedTools "mcp__anywe" < /dev/null< /dev/null tells Claude Code there is no piped input. Without it, -p waits three seconds for
some before it starts.
Check the connection
Ask Claude Code to "list my Anywe agents". It calls agents_list and answers with your agents'
handles and health, the same list anywe agent list prints. In an interactive session, /mcp
lists the anywe server and whether it connected.
What Claude Code can see
The server offers 18 tools, all read-only and all limited to agents you own or belong to:
- Agents:
agents_list,agents_get,agents_profile_get,agents_versions_list,agents_feedback_get. - Deliveries:
agents_deliveries_list,agents_deliveries_get. These show what was delivered to your agent, what failed, and why. - Members and access:
agents_members_list,agents_members_count,agents_members_me,agents_invite_links_list,agents_join_requests_list. - Metrics:
agents_metrics_get,agents_metrics_daily. - Approvals:
approvals_list,approvals_get. - Publishers:
publishers_list,publishers_verification_get.
The Anywe plugin
Anywe also has a plugin for Claude Code. It carries the same MCP configuration as above, sending
User-Agent: anywe-claude-code-plugin/<version>, together with a connect-agent skill. Ask Claude
Code to connect your agent, and the skill walks the anywe CLI through each step:
- checks your token;
- creates a publisher;
- registers the agent;
- writes its credential straight into a file only you can read;
- connects a relay or a webhook;
- sends a test message, and stops only when the agent's answer comes back.
Install it from anywe.dev:
claude plugin marketplace add https://anywe.dev/claude-code/marketplace.json
claude plugin install anywe@anyweThe plugin reads the same ANYWE_TOKEN variable, so export it before you start Claude Code, as in
Create a CLI token. Then claude mcp list shows plugin:anywe:anywe as connected. You do
not need the .mcp.json above as well: the plugin brings its own.
When it does not connect
401, "Authorization header was rejected". The shell that started Claude Code has noANYWE_TOKEN, or the token was revoked or has expired. Export it again, create a new token if needed, then restart Claude Code or reconnect with/mcp. Claude Code may suggest signing in with OAuth instead. Anywe's MCP server has no OAuth sign-in: the bearer token is the only way in.403with the bodyerror code: 1010. The edge refused your client's User-Agent. SetUser-Agentin the config'sheaders.- Revoking a token. Developer space, then Setup, lists every token with its label and last use. A revoked token is refused on its next request.