Metadata-Version: 2.5
Name: wire-band-mcp
Version: 0.2.0
Summary: Wire.Band MCP server — give your AI agent anomaly detection, drift scoring and compression on any structured data. Free key provisioned on first use.
Project-URL: Homepage, https://wire.band
Project-URL: Repository, https://github.com/maco144/wireband
Project-URL: Bug Tracker, https://github.com/maco144/wireband/issues
License: MIT
Keywords: ai-agent,iot,mcp,model-context-protocol,telemetry,wire.band
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
Requires-Python: >=3.10
Requires-Dist: httpx>=0.24.0
Requires-Dist: mcp<3,>=2.0.0
Description-Content-Type: text/markdown

# wire-band-mcp

MCP (Model Context Protocol) server for Wire.Band. Give your AI agent anomaly detection, semantic
drift scoring and compression on any structured data it touches: logs, API responses, telemetry,
event streams. Works in Claude Code, Claude Desktop, or any MCP client.

**No signup step.** A free API key (100,000 events/month) is provisioned automatically the first
time the server runs, and stored in `~/.config/wire-band/credentials.json`.

## Quick start

### Claude Code

```bash
claude mcp add wire-band -- uvx wire-band-mcp
```

Then ask Claude something like *"analyze this log file with wire-band and tell me what looks
unusual"*.

### Claude Desktop

```json
{
  "mcpServers": {
    "wire-band": {"command": "uvx", "args": ["wire-band-mcp"]}
  }
}
```

### Set up ahead of time (optional)

```bash
uvx wire-band-mcp init     # gets your free key now and prints setup steps
```

Or get a key in the browser at [wire.band/signup](https://wire.band/signup) and pass it as
`WIREBAND_API_KEY`.

## Tools

- **`analyze_data(data, topic?, domain?, format?)`**: run a payload through Wire.Band. It takes one
  record or a JSON array of up to 1000, as JSON, YAML or XML. Returns the detected format, how much
  the data shrank, how the records classify, any anomalies raised, and the domain's drift report.
  Every call adds to your account's baseline, so later data gets flagged against earlier data.
- **`get_anomaly_status(domain?, limit?)`**: recent anomaly events for your account
- **`get_drift_score(domain?)`**: semantic drift score (KL divergence from baseline)
- **`get_cache_stats()`**: semantic cache size, hit rate, per-domain breakdown

Domains: `iot_telemetry`, `agent_logs`, `fintech`, `healthcare`, `energy`, `default`.

Each API key gets its own isolated tenant. Your data, baselines and anomaly log are never shared
with another account.

## Environment variables

| Variable | Default | Description |
|---|---|---|
| `WIREBAND_API_KEY` | — | Use this key instead of the stored / auto-provisioned one |
| `WIREBAND_API_URL` | `https://wire.band` | Backend URL. Point it at a self-hosted server if you run one |
| `WIREBAND_AUTO_SIGNUP` | `1` | Set to `0` to turn off automatic key provisioning |
| `WIREBAND_CREDENTIALS` | `~/.config/wire-band/credentials.json` | Credentials file location |
| `WIREBAND_MCP_TRANSPORT` | `stdio` | `stdio` \| `sse` \| `streamable-http` |

## Installation without uvx

```bash
pip install wire-band-mcp
wire-band-mcp            # or: python -m wire_band_mcp
```

Python 3.10+ required.

## What this doesn't expose

This is a thin client over Wire.Band's tenant-scoped REST API, not a reimplementation. It returns
derived signals only, never Wire.Band's internal encoding or compression internals.
