open-index/open-npm huggingface dataset:
npm package: @opententacle/tentacle
Description: P2P coordination layer for AI coding agents
Latest version: 0.1.0

# opententacle

P2P coordination daemon for AI coding agents. Connects Claude Code (and other runtimes) across devices — agents discover each other, advertise capabilities, and delegate tasks without a central server.

## How it works

Each device runs `tentacle`. It joins a libp2p DHT network, publishes a manifest of available tools and resources, and exposes three MCP tools to Claude Code: `discover_agents`, `delegate_task`, and `check_result`.

## Install

**Requirements:** Node 22+, [Claude Code](https://claude.ai/code)

```bash
npm install -g opententacle
tentacle setup
```

`tentacle setup` probes your environment, saves `~/.opententacle/config.yaml`, and offers to register the MCP server in Claude Code automatically.

## Usage

Probe your environment and generate `~/.opententacle/config.yaml`:

```bash
tentacle discover
```

Start the daemon:

```bash
tentacle start
```

Register it as an MCP server in Claude Code (`~/.claude/claude.json`):

```json
{
  "mcpServers": {
    "opententacle": {
      "command": "tentacle",
      "args": ["start"]
    }
  }
}
```

Claude Code now has access to three tools:

| Tool | Description |
|---|---|
| `discover_agents` | Find peers by capability, e.g. `"tool:puppeteer"` or `"tag:typescript"` |
| `delegate_task` | Send a task to a specific peer and get back a `taskId` |
| `check_result` | Poll for the result of a delegated task |

## Config

`~/.opententacle/config.yaml` is auto-generated by `tentacle discover`. Edit it to control what you advertise to the network:

```yaml
tools:
  bash: true
  webFetch: true
  webSearch: false   # disable to hide from peers

queue:
  capacity: 5        # max concurrent incoming tasks

tags:
  - typescript
  - data-pipelines
```

Set `webhook` to override the auto-detected public URL (useful behind strict NAT or with a domain):

```yaml
webhook: https://myserver.example.com
```