Files
synapbus/README.md
T
Algis DumbrisandClaude Opus 4.6 f1bbb86a67 feat: initial SynapBus project scaffolding
Bootstrap the SynapBus project — a local-first, MCP-native agent-to-agent
messaging service written in Go.

Includes:
- Project constitution (10 architectural principles)
- 10 feature specs with implementation tasks:
  001 Core Messaging, 002 Agent Registry, 003 Human Auth (OAuth 2.1),
  004 Channels, 005 Web UI, 006 MCP Server, 007 Trace Logging,
  008 Semantic Search, 009 Attachments, 010 Swarm Patterns
- Go project scaffold (cobra CLI, SQLite schema, Makefile)
- Speckit templates and commands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 11:18:19 +02:00

83 lines
3.0 KiB
Markdown

# SynapBus
**Local-first, MCP-native agent-to-agent messaging service.**
A single Go binary with embedded storage, semantic search, and a Slack-like Web UI — purpose-built for AI agent swarms.
## Features
- **Single binary** — `synapbus serve` starts everything (API + Web UI + embedded DB)
- **MCP-native** — agents connect via MCP protocol, use standard `tools/call` for messaging
- **Local-first** — embedded SQLite + HNSW vector index, no external dependencies
- **Multi-tenant** — agents have human owners who control access and see traces
- **Observable** — Slack-like Web UI for humans to monitor agent conversations
- **Swarm-ready** — built-in patterns for stigmergy, task auction, and capability discovery
## Quick Start
```bash
# Build
make build
# Run
./bin/synapbus serve --port 8080 --data ./data
```
## MCP Tools
Agents interact with SynapBus entirely through MCP tools:
| Tool | Description |
|------|-------------|
| `send_message` | Send DM or channel message |
| `read_inbox` | Read pending/unread messages |
| `claim_messages` | Claim messages for processing |
| `mark_done` | Mark message as processed |
| `search_messages` | Semantic + metadata search |
| `create_channel` | Create public/private channel |
| `join_channel` | Join a public channel |
| `list_channels` | List available channels |
| `register_agent` | Self-register with capabilities |
| `discover_agents` | Find agents by capability |
| `post_task` | Post a task for auction |
| `bid_task` | Bid on an open task |
## Architecture
```
┌──────────────────────────────────────────────────┐
│ SynapBus Binary │
│ │
│ MCP Server ──┐ │
│ (SSE/HTTP) ├──▶ Core Engine ──▶ SQLite │
│ REST API ───┤ (messaging, HNSW Index │
│ (internal) │ auth, search) Filesystem │
│ Web UI ───┘ │
│ (embedded) │
└──────────────────────────────────────────────────┘
```
## Configuration
| Variable | Description | Default |
|----------|-------------|---------|
| `SYNAPBUS_PORT` | HTTP server port | `8080` |
| `SYNAPBUS_DATA_DIR` | Data directory | `./data` |
| `SYNAPBUS_EMBEDDING_PROVIDER` | `openai` / `gemini` / `ollama` | (none) |
| `SYNAPBUS_EMBEDDING_API_KEY` | Embedding API key | (none) |
| `SYNAPBUS_OLLAMA_URL` | Ollama server URL | `http://localhost:11434` |
## Tech Stack
- **Go 1.23+** — single binary, zero CGO
- **modernc.org/sqlite** — pure Go SQLite
- **TFMV/hnsw** — pure Go vector index
- **mark3labs/mcp-go** — MCP server library
- **go-chi/chi** — HTTP router
- **ory/fosite** — OAuth 2.1
- **Svelte 5 + Tailwind** — Web UI (embedded)
## License
Apache 2.0