Coding agents
Muse
Telem adds web search, page reading and monitors to Muse CLI. The tools come from Telem’s hosted MCP server. A Telem hook sends your options with each search, and records why Muse searched when the model gives reasoning summaries.
Before you begin
Section titled “Before you begin”Node.js 20 or later, on the PATH of the shell that runs muse. The installer
checks for it and offers to install it. The hook runs on it.
Create a Telem API key
- Open your project
- API keys
- Issue API key
tlm_••••••••••••••••Keys start with tlm_.
Never paste a key into a chat with Muse. Every path below sets it for you.
Install
Section titled “Install”Connect Muse to Telem
-
Run the installer in your terminal and pick Muse CLI. Paste your key when the installer asks. The field is masked, and the key never appears on screen. The installer also asks whether to turn off Muse’s own web search.
Terminal window curl -fsSL https://docs.telem.ai/install.sh | sh -
Start a new Muse session. Muse reads its settings when a session starts.
-
Check the install.
telemis in the list of your skills. Then ask Muse to search the web: the search shows in the console.Terminal window muse skills list --source user
Install with no prompts, for example in CI
curl -fsSL https://docs.telem.ai/install.sh | sh -s -- --yes --client muse --key-env TELEM_API_KEYWith --yes, Muse’s own web search stays on. Add --muse-disable-web-search to
turn it off too.
-
Add the server with your key. Put this entry in
~/.config/muse/settings.json($XDG_CONFIG_HOME/muse/settings.jsonif you setXDG_CONFIG_HOME), with your key in place oftlm_your_key:~/.config/muse/settings.json {"mcpServers": {"telem": {"transport": "streamable_http","url": "https://mcp.telem.ai/mcp","headers": {"Authorization": "Bearer tlm_your_key","User-Agent": "telem-muse"},"mode": "optional"}}} -
Start a new Muse session. Muse reads its settings when a session starts.
-
Check the connection. Ask Muse to search the web. The search shows in the console.
This gives Muse the tools, but not the hook: your .telem/telem.json options and
the reasoning are not sent. The installer adds the hook.
-
Start Muse with your key set, and paste this prompt. Muse runs the installer, which reads the key from
TELEM_API_KEY, so the key never goes into the chat.Terminal window export TELEM_API_KEY=tlm_your_keymuseSet up Telem web search for this coding agent.1. Read https://docs.telem.ai/llms.txt to learn what Telem is.2. Check that the TELEM_API_KEY environment variable is set. Do not print itsvalue. If it is not set, stop and ask me to set it and restart you.3. Run the Telem installer for this agent, with no prompts:curl -fsSL https://docs.telem.ai/install.sh | sh -s -- --yes --client muse --key-env TELEM_API_KEY4. Show me the installer's summary. Then tell me to restart Muse,so that the Telem tools load. -
Start a new Muse session. Muse reads its settings when a session starts.
-
Check the install.
telemis in the list of your skills. Then ask Muse to search the web: the search shows in the console.Terminal window muse skills list --source user
If it does not work, see If something goes wrong.
Search and read
4 toolstelem_searchSearches the web on several providers in one call.telem_fetchReads the full text of up to 5 pages.telem_providersLists the search providers.telem_session_historyLists the earlier searches in a session.
Monitors
4 toolscreate_monitorRuns a search on a schedule and keeps only new results.list_monitorsLists your monitors.get_new_resultsGets the new results of a monitor since the last read.delete_monitorDeletes a monitor.
Muse runs the search and read tools without asking, also in muse exec. It asks
before create_monitor, get_new_results and delete_monitor, because they change
your monitors.
Specific to Muse
Section titled “Specific to Muse”- Options come from the file, not your shell. Muse does not give your shell’s
environment to the hook, so the
TELEM_*variables do not apply. Put your options in.telem/telem.json: the project file, then~/.telem/telem.json. The hook sends them with every search and page read, the fetch keys included.providerOverridesis not sent. The hook reads the project file even in a workspace that Muse does not trust. - Why Muse searched. The hook sends the reasoning summary that led to each search. Some models give their reasoning only in encrypted form. Then the hook sends the text Muse wrote before the search, if there is any.
- Muse’s own web search. If you say yes, the installer sets
{ "tools": { "web_search": { "mode": "off" } } }in Muse’s settings. This turns off both Muse’sweb_searchand itsweb_fetch. - The Muse app. The app has no installer. Ask Muse to add Telem as a custom
connector, for example: “Set up the Telem MCP server at
https://mcp.telem.ai/mcpas a custom connector.” When Muse asks for the API key, give it your key. - The tool names in Muse are
mcp__telem__telem_search,mcp__telem__telem_fetchand so on.
If something goes wrong
401on every call: the server’sAuthorizationheader is missing or has an old key. Run the installer again, or edit the header. Muse reports “authentication failed” for any refused connection. With a valid key, thetelementry needs aUser-Agentheader, such as"User-Agent": "telem-muse"; the installer writes one.- Searches show without their session or reasoning:
nodeis not on thePATHof the shell that runsmuse. The search still runs, without lineage. - No Telem tools, or no MCP tools at all: a header that names an unset variable,
such as
"Bearer ${TELEM_API_KEY}", turns off every MCP server with no error. Write the key itself. A settings file with both anmcpServersand anmcp_serversblock also runs with no MCP servers: keepmcpServers. - Muse stops the whole run when Telem cannot be reached: the
telementry is missing"mode": "optional".
Update and remove
Section titled “Update and remove”To update, run the installer again. It rewrites the hook and the skill when they changed. You can keep the key you already have.
To remove Telem, take these out of ~/.config/muse/settings.json:
- the
telementry undermcpServers; - the Telem handler under
hooks.PreToolUse(its command runstelem-muse.mjs); tools.web_search.mode, if the installer set it and you want Muse’s own web search back.
Then delete the telem and skills/telem folders in ~/.config/muse/, and start a new
Muse session. Muse then has no Telem tools or skill, and its own web search is back if
you removed the setting.
What the installer changed outside Muse’s settings
| File | What it holds | To undo |
|---|---|---|
~/.telem/credentials.json |
Your key | Delete it if no other Telem integration uses it. |
~/.telem/telem.json |
Your Telem options | Delete it if no other Telem integration uses it. |
Learn more
Section titled “Learn more”Set the tier, the providers and auto-routing in one file, for Muse and your other agents.
Every option, the values it takes, and which setting wins.
What each search option does, from tiers to date windows.
Choose the fetch provider and tier, or read pages live.