Connect an agent
Add the Entz connector to Claude Code, Codex, Gemini CLI, Cursor, VS Code, Zed, Claude Desktop or another MCP client, check that it works, and see who the agent is when it opens your documents.
entz-mcp is a small program that your MCP client starts on your computer and talks to over standard input and output. It needs Node.js 22.3 or later (node --version in a terminal tells you which you have). There is nothing else to install: the client runs it with npx, which downloads it the first time and reuses it afterwards.
The connector shows the agent to people as Claude unless you give it another name with ENTZ_AGENT_NAME. With any other agent, set it to that agent’s name, as the examples below do, so people see who is writing. The environment variables at the end of this page list the other settings.
Command-line agents
Section titled “Command-line agents”Claude Code
Section titled “Claude Code”claude mcp add entz -- npx -y entz-mcpThat adds the connector for you, in the current project. Add --scope user to have it in every project, or --scope project to share it with everyone who works in the project (Claude Code writes it to the project’s .mcp.json). Environment variables go after the name, one -e for each:
claude mcp add --scope user entz -e ENTZ_OPEN=0 -- npx -y entz-mcpStart a new Claude Code session after adding it. Claude Code asks your permission before its agent uses the connector’s tools, as for any MCP server.
Codex CLI
Section titled “Codex CLI”codex mcp add entz --env ENTZ_AGENT_NAME=Codex -- npx -y entz-mcpCodex keeps its servers in ~/.codex/config.toml, where the same entry reads:
[mcp_servers.entz]command = "npx"args = ["-y", "entz-mcp"]
[mcp_servers.entz.env]ENTZ_AGENT_NAME = "Codex"Gemini CLI
Section titled “Gemini CLI”Gemini CLI reads its servers from ~/.gemini/settings.json (every project) or .gemini/settings.json (one project):
{ "mcpServers": { "entz": { "command": "npx", "args": ["-y", "entz-mcp"], "env": { "ENTZ_AGENT_NAME": "Gemini" } } }}Editors
Section titled “Editors”Cursor
Section titled “Cursor”Cursor reads its servers from ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{ "mcpServers": { "entz": { "command": "npx", "args": ["-y", "entz-mcp"], "env": { "ENTZ_AGENT_NAME": "Cursor" } } }}VS Code
Section titled “VS Code”VS Code keeps a workspace’s servers in .vscode/mcp.json, under servers rather than mcpServers:
{ "servers": { "entz": { "type": "stdio", "command": "npx", "args": ["-y", "entz-mcp"], "env": { "ENTZ_AGENT_NAME": "Copilot" } } }}To add it for every workspace instead, run this in a terminal:
code --add-mcp "{\"name\":\"entz\",\"command\":\"npx\",\"args\":[\"-y\",\"entz-mcp\"]}"Zed takes the connector in its settings file, under context_servers:
{ "context_servers": { "entz": { "command": "npx", "args": ["-y", "entz-mcp"], "env": { "ENTZ_AGENT_NAME": "Zed" } } }}Desktop apps
Section titled “Desktop apps”Claude Desktop
Section titled “Claude Desktop”Claude Desktop reads its servers from claude_desktop_config.json: choose Settings… from the Claude menu, then Developer, then Edit Config. The file lives at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the connector under mcpServers, beside any servers already there:
{ "mcpServers": { "entz": { "command": "npx", "args": ["-y", "entz-mcp"] } }}Quit Claude Desktop completely and open it again: it starts its servers only when it launches.
Other MCP clients
Section titled “Other MCP clients”Any client that starts a local server over standard input and output can run the connector: the command is npx, the arguments are -y and entz-mcp, and the environment variables are optional. Most take the mcpServers shape shown for Cursor, in a file of their own; the client’s documentation says which.
Who the agent is in Entz
Section titled “Who the agent is in Entz”The connector has no sign-in of its own, and Entz has no screen that hands out a token for it yet. So it connects to entz.app without signing in, and Entz gives it an identity of its own: a new one each time the connector starts, which the People list under Access… marks as anonymous. The agent reaches documents through their links, the way anyone you send a link to does.
- Documents the agent creates belong to that identity. Their link starts out open to anyone, with Edit, so when you open one you join it as an editor and it stays in your library.
- Your documents open for the agent at the permission their link gives under Access…: with Edit it writes, with Comment it reads and comments, with View it only reads. With Anyone with the link off, the agent cannot open the document unless it joined before. Sharing and access explains the sheet.
- Each start is a new identity. A document the agent made in an earlier session is no longer its own: it opens it through the link like anyone else, with the link’s permission at that moment.
You need to be signed in to Entz to see what the agent opens for you. Signed out, a link it opens in your browser goes back to your library with the words “Sign in to open this document”; the document waits there and opens once you sign in (Settings, Connection, Sign in; see Settings).
Since a document the agent created is not yours, you cannot change who its link admits or delete it for everyone: Delete only takes it off your list. When that matters, make the document yourself, choose Copy link from its menu and give the agent the link. For a document the agent already made, open it and choose Make a copy from its menu: the copy of its main tab is yours, without the other tabs and the comments.
Environment variables
Section titled “Environment variables”| Variable | Default | What it does |
|---|---|---|
ENTZ_AGENT_NAME |
Claude |
The name people see on the agent’s avatar, caret and comments. Set it to your agent’s name when that is not Claude. |
ENTZ_AGENT_COLOR |
#d97757 |
The colour of the agent’s avatar and caret, as #rrggbb. |
ENTZ_OPEN |
on | 0 keeps your browser closed: the agent gives you links instead. Otherwise each new document opens in your default browser as soon as its outline is in, and any document you ask the agent to show opens there too. |
ENTZ_TOKEN |
none | A token for an Entz identity to act as instead of an anonymous one. Entz does not hand out tokens yet, so leave it unset. |
ENTZ_APP_URL |
https://entz.app |
Where the links the agent gives and opens point. Leave it alone for entz.app. |
ENTZ_URI, ENTZ_DB |
entz.app’s server | Leave these alone for entz.app. |
Check that it works
Section titled “Check that it works”Look for entz among your client’s servers:
- in Claude Code, Codex and Gemini CLI, run
/mcp; - in VS Code, run MCP: List Servers from the Command Palette;
- in Zed, open Settings, AI, MCP Servers, where a green dot means it is running;
- in Claude Desktop, open the add menu at the bottom left of the message box and point to Connectors.
Its eight tools are guide, create, open, read, update, tabs, comments and export. Then ask for something small:
Create an Entz document called "Connector check" with a heading and a three-item checklist.The agent creates the document and your browser opens it at entz.app. If Entz says to sign in, sign in and open the document from your library. Its words fade in as they arrive. Ask the agent to tick the first item, and the checkbox changes while you watch. If something does not work, see Troubleshooting.