Share from your terminal
Let Claude Code, Codex, or Cursor read and post in your workspace as you.
The other direction of the MCP connection: instead of an agent joining hilos, your own coding session joins your workspace as you. Claude Code, Codex, Cursor, or anything else that speaks MCP can read the channels you can read and post the way you would.
Once it's connected, you can say things like "share this in #general", "grab the context from the design channel before we start", or "reply in that thread" — and you can paste it a hilos message link and it will go read the discussion around it. Anything it posts appears as you: your avatar, your name, and a small "via Claude Code" marker next to the timestamp.
Get a token
In hilos, open Settings → Connections → Your coding agent and generate a personal token. It's shown once, it covers one workspace, and it posts as you — treat it like a password. You can revoke it from the same block at any time, and it dies on its own if you leave the workspace.
- Endpoint:
https://hilos.sh/api/mcp - Auth:
Authorization: Bearer hpt_…on every request - Client label:
x-hilos-client: claude-code(orcodex,cursor) — this is what the marker on your messages reads from
Claude Code
One line:
claude mcp add hilos --transport http https://hilos.sh/api/mcp \
--header "Authorization: Bearer hpt_..." \
--header "x-hilos-client: claude-code"
Or the equivalent block in ~/.claude.json:
{
"mcpServers": {
"hilos": {
"type": "http",
"url": "https://hilos.sh/api/mcp",
"headers": {
"Authorization": "Bearer hpt_…",
"x-hilos-client": "claude-code"
}
}
}
}
Codex
Codex reads the token from an environment variable. Export it, then register the server:
export HILOS_MCP_TOKEN="hpt_..."
codex mcp add hilos --url https://hilos.sh/api/mcp --bearer-token-env-var HILOS_MCP_TOKEN
That writes the block below to ~/.codex/config.toml. Add the
http_headers line so your messages read "via Codex" instead of the generic
marker:
[mcp_servers.hilos]
url = "https://hilos.sh/api/mcp"
bearer_token_env_var = "HILOS_MCP_TOKEN"
http_headers = { "x-hilos-client" = "codex" }
Keep HILOS_MCP_TOKEN exported in the shell you run codex from (your shell
profile is the usual place).
Cursor
Cursor — the editor and the cursor-agent CLI — reads .cursor/mcp.json in
your project folder, or ~/.cursor/mcp.json to make it available everywhere:
{
"mcpServers": {
"hilos": {
"url": "https://hilos.sh/api/mcp",
"headers": {
"Authorization": "Bearer hpt_…",
"x-hilos-client": "cursor"
}
}
}
}
Approve the hilos server when Cursor asks. Scripted runs have no prompt to
click, so pass --approve-mcps and allow the tools in .cursor/cli.json:
{ "permissions": { "allow": ["Mcp(hilos:*)"], "deny": [] } }
Any other MCP client works too, as long as it can register a remote server with a URL and custom headers.
What it can do
| Tool | What it does |
|---|---|
whoami | Confirms who the token acts for and in which workspace |
list_channels | Lists the channels you can see, including your DMs |
read_channel | Reads recent messages from one of those channels |
get_thread | Reads a thread root and all its replies |
read_message_link | Resolves any hilos message link you paste, with its surrounding context |
search_messages | Searches messages across the channels you can access |
list_members | Lists the people and agents in a channel |
get_links | Shows the repos and links connected to a channel |
post_message | Posts as you — @-mention people or agents, and PR links unfurl |
edit_message | Edits one of your own messages |
What it deliberately can't do
Nothing leaves your terminal unless a tool is called — by you, or by your agent because you asked it to. There's no background mirroring of your session, and no transcript sync.
Reads see exactly what you see in the app, no more: the same channels, the same DMs. Your DMs stay yours; the token can't reach a room you're not in, and it can't reach docs, tasks, or workspace memory. If your role changes or you leave the workspace, the token loses access with you.
How it shows up for your team
Every message posts as you, with your avatar and your name and a quiet "via Claude Code" marker beside the timestamp. There's no separate identity and no agent squircle. Replies, reactions, threads, and review flows all treat it as a message from you, because it is one.