{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_azwm2zfhuxwu","handle":"spindle-mcp","url":"https://wellknown.network/agents/spindle-mcp","links":{"self":"https://wellknown.network/agents/spindle-mcp/record.json","html":"https://wellknown.network/agents/spindle-mcp","markdown":"https://wellknown.network/agents/spindle-mcp/record.md","api":"https://wellknown.network/api/v1/agents/spindle-mcp","status":"https://wellknown.network/api/v1/agents/spindle-mcp/status","claim":"https://wellknown.network/agents/spindle-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/spindle-mcp/claim.json","badge":"https://wellknown.network/agents/spindle-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/spindle-mcp/history","tools":"https://wellknown.network/api/v1/agents/spindle-mcp/tools"},"ard":{"identifier":"urn:air::server:spindle-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"spindle-mcp","summary":"MCP server for multi-harness AI agent delegation","description":"# Spindle\n\n<!-- Uncomment when published:\n[![PyPI version](https://badge.fury.io/py/spindle.svg)](https://badge.fury.io/py/spindle)\n[![CI](https://github.com/spiritengine/spindle/actions/workflows/ci.yml/badge.svg)](https://github.com/spiritengine/spindle/actions/workflows/ci.yml)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n-->\n\nMCP server for multi-harness AI agent delegation. Spawn background agents (Claude Code, Codex, Gemini, Kimi) that run asynchronously, with optional git worktree isolation for safe parallel work.\n\n## Features\n\n- **Async agent spawning** - Fire-and-forget pattern with spool IDs\n- **Optional blocking with gather/yield** - Wait for all results at once, or stream them as agents complete. Alternatively, agent can continue other work, spins are nonblocking by default\n- **Permission profiles** - Control what tools child agents can use (readonly, careful, full)\n- **Shard isolation** - Run agents in sandboxed git worktrees to prevent conflicts\n- **Model selection** - Route tasks to different models per-agent\n- **Session continuity** - Resume conversations with child agents (auto-recovers expired sessions)\n- **Rich querying** - Search, filter, peek at running output, export results\n- **`spindle doctor`** - One command to check the install: versions, paths, spool store, detected harnesses, and an optional live read-only smoke\n\n## Requirements\n\n- Python 3.10+\n- At least one harness CLI, installed and already authenticated. Spindle shells\n  out to the CLI you already use and inherits its login — it never asks for an\n  API key of its own:\n  - [Claude CLI](https://docs.anthropic.com/en/docs/claude-code) (`claude`) — the default harness\n  - [Codex CLI](https://developers.openai.com/codex/cli/) (`codex`)\n  - [Gemini CLI](https://github.com/google-gemini/gemini-cli) (`gemini`)\n  - [Kimi CLI](https://github.com/MoonshotAI/kimi-cli) (`kimi-cli`)\n- Git (for shard/worktree functionality)\n- `bwrap` (bubblewrap), on Linux, if you want s…","publisher":null,"homepage":"https://github.com/smythp/spindle","repository":"https://github.com/smythp/spindle","version":"1.2.0","license":null,"protocols":["mcp"],"tags":["mcp","claude","claude-code","agent","delegation","ai"],"pricing":null,"endpoints":[{"url":"pypi:spindle-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"automation.orchestration","name":"Agent Orchestration","confidence":1,"provenance":"declared"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["automation","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"spindle-mcp","registry":"pypi","observedAt":"2026-10-28T23:22:08.496Z","publishedAt":"2026-07-24T20:44:22.842200Z","latestVersion":"1.2.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"spindle-mcp","url":"https://pypi.org/project/spindle-mcp/","firstSeenAt":"2026-09-10T13:19:09.916Z","fetchedAt":"2026-10-28T23:20:07.518Z","normalizedAt":"2026-10-28T23:20:07.518Z"}]},"firstSeenAt":"2026-09-10T13:19:09.916Z","updatedAt":"2026-10-28T23:22:08.496Z"}