# MCP tools
> The tools an agent sees, read from the running server rather than written down.
> Source: https://jvoltci.github.io/sparsh/docs/reference/mcp/

{/* GENERATED by site/scripts/reference.mjs by starting frontend/src/peer/mcp.ts
    and reading its own tools/list. Do not edit. */}

```bash
claude mcp add sparsh -- sparsh mcp-tools
```

`mcp-tools` is this machine's four tools. `mcp <device>` is the other
direction, a pipe to a server on a device you are paired with, and the two are
separate verbs because registering the wrong one gets you a bridge to nothing
and no error.

Two rules shape all of these. **Tools return paths, never bytes**, which is the
MCP maintainers' own position and obvious at the sizes Sparsh moves. And **there
is no pairing tool**: an agent must never pair itself, so it is given no verb
for it.

## `sparsh_status`

Is Sparsh running on this machine, which device is it, and which sessions are warm. Start here if a send fails.

_No arguments._

## `sparsh_devices`

The devices this machine has been paired with, and which are reachable now. Pairing is done by a human with `sparsh invite`; there is no tool for it.

_No arguments._

## `sparsh_send`

Send files to a paired device, by its name. Returns when the far side has them on disk. Files outside this project will ask the user first.

| Argument | Type | Required | Meaning |
|---|---|---|---|
| `paths` | `string[]` | yes | Absolute or relative file paths to send |
| `to` | `string` | yes | The device name, or enough of it to be unambiguous |

## `sparsh_inbox`

Files other devices have sent to this one, as PATHS on disk. Read them with your own file tools; this never returns their contents.

| Argument | Type | Required | Meaning |
|---|---|---|---|
| `dir` | `string` | no | Where to look; defaults to the daemon's inbox |
