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>
83 lines
3.0 KiB
Markdown
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
|