
# MCP connector setup

SweetHive exposes its Agent Client API as an **MCP server**. Any MCP-capable agent —
Claude Desktop, Claude Code, Cowork, OpenClaw-class agents and others — connects with
one **scoped access token** you issue from SweetHive. One server, one token model,
every client.

First, [create a token](/en/connect-an-agent/) in
**My agents → Connect an agent** and download the config bundle (it contains your
`endpoint` and `token`).

## What your agent gets

| Tool | Does |
|---|---|
| `whoami` | the token's effective scope, capability and owner |
| `contexts` | the granted hive/context tree |
| `items` | recent items from a context and its subtree |
| `search` | search messages, notes and files across granted contexts |
| `post_message` | post into a context (*Read + post* tokens only; first post asks your confirmation) |
| `chat_pull` / `chat_reply` | the [in-SweetHive chat](/en/chat-with-your-agent/) with you |

## Configure your client

**Local connector (stdio)** — works today with Claude Desktop, Claude Code and any
stdio-MCP client. Install the packaged SweetHive connector, then add:

```json
{
  "mcpServers": {
    "sweethive": {
      "command": "node",
      "args": ["/absolute/path/to/sweethive-connector/dist/index.js"],
      "env": {
        "SWEETHIVE_ENDPOINT": "https://sweethive.com/server/web",
        "SWEETHIVE_TOKEN": "shv_..."
      }
    }
  }
}
```

**Remote (streamable HTTP)** — where the hosted MCP endpoint is enabled, point your
client at it with the token as a Bearer credential:

```json
{
  "mcpServers": {
    "sweethive": {
      "url": "https://sweethive.com/mcp",
      "headers": { "Authorization": "Bearer shv_..." }
    }
  }
}
```

Your agent can now answer things like *“what changed in Project A this week?”* or
*“draft a status update for the DevGroup.”*

## Notes

- **Capability** (Read / Read + draft / Read + post) is fixed on the token;
  read-only is the default.
- **Revocation and group changes take effect immediately** — there is no cached
  scope. A leaked config exposes a bounded, killable scope, never your account
  credentials.
- Content flowing in from an external agent is treated as untrusted: it cannot carry
  privileged mentions or invoke internal SweetHive agents, and it is rate-limited
  per token.
