# Polis Protocol

A local coordination plane for multiple coding agents in one repository. It routes tasks by actual track records and logs progress in Markdown.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 5
- Author: ymxlx
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ymxlx/polis-protocol
- Updated: 2026-10-18
- HTML: https://affpapa.org/en/nevibecode/mcp/polis-protocol

## What it does

The server lets multiple coding assistants (Claude, Codex, Gemini, Cursor) collaborate inside one Git repository. Everything lives in local files under `_polis/`. Task contracts and the `chronicle.md` audit trail remain in plain Markdown, without any remote database.

Task dispatching relies on a multi-armed bandit algorithm. The router checks capability profiles and verified outcomes. Work goes to the agent with the strongest track record, ignoring self-promotional ratings.

Running the server with `uvx` requires Python 3.10+. Projects must first be initialized using `uvx polis-protocol init`, because agents cannot log agreements without the local directory structure in place.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add polis-protocol -- uvx polis-protocol
```
uvx runs the command named after the package; if the README names another one, use uvx --from polis-protocol <command>

### Codex

**Platform CLI**
```bash
codex mcp add polis-protocol -- uvx polis-protocol
```
uvx runs the command named after the package; if the README names another one, use uvx --from polis-protocol <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "polis-protocol": {
            "command": "uvx",
            "args": [
                "polis-protocol"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from polis-protocol <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "polis-protocol": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "polis-protocol"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from polis-protocol <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add polis-protocol uvx polis-protocol
```
uvx runs the command named after the package; if the README names another one, use uvx --from polis-protocol <command>

## When to use it
- coordinate multiple AI assistants in a shared Git workspace
- route incoming issues to agents based on demonstrated track records
- record retrospective lessons to avoid repeating prior task failures
- maintain a transparent event log inside plain Markdown files

## Example prompts
- Inspect `_polis/chronicle.md` to see recent agent assignments
- Draft a new contract for database migrations with capability tags
- Select the best model for a Spanish localization task

## Similar
- [agent-protocol](https://affpapa.org/en/nevibecode/skills/agent-protocol.md) — skill · 611 installs
- [agent-comm](https://affpapa.org/en/nevibecode/mcp/agent-comm.md) — MCP server · ★ 9
- [team-feature](https://affpapa.org/en/nevibecode/commands/team-feature.md) — command · ★ 41887
- [suede-agent-teams](https://affpapa.org/en/nevibecode/skills/suede-agent-teams.md) — skill · ★ 126
- [orchestrate](https://affpapa.org/en/nevibecode/skills/hyperb1iss-orchestrate.md) — skill · 668 installs
- [concordia-protocol](https://affpapa.org/en/nevibecode/plugins/concordia-protocol.md) — plugin · ★ 6

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
