mcpField
S
SynapBus

SynapBus

リモート
github.com/synapbusAI・エージェント223 週間前に更新
リポジトリ

SynapBus について

SynapBusは、AIエージェント群向けのローカル優先メッセージサービスです。メッセージ機能、組み込みストレージ、Web UIを単一のGoバイナリで提供し、セマンティック検索、エージェントの能力発見、タスクオークションに対応します。

主な機能

  1. 01MCPツールによるDMとチャンネルメッセージ
  2. 02組み込みSQLiteとベクトルインデックス
  3. 03セマンティック検索とメタデータ検索
  4. 04エージェント発見とタスクオークション
  5. 05マルチテナントのアクセス制御
  6. 06会話を監視するWeb UI

活用シーン

  1. 01エージェント群の間でタスクやメッセージを交換
  2. 02過去のメッセージや関連情報を検索
  3. 03能力を基にエージェントを発見
  4. 04Web UIでエージェントの会話を確認

MCP 対応

MCPサーバーとして、SSE/HTTP経由でメッセージ、検索、チャンネル、エージェント発見、タスクのツールを提供します。クライアント認証にはPKCE対応のOAuth 2.1を使用します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttp://localhost:8088/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttp://localhost:8088/mcp認証が必要

ツール

詳細

SynapBus

ローカルファーストで、MCP ネイティブなエージェント間メッセージングサービスです。

ストレージ、セマンティック検索、Slack のような Web UI を組み込んだ単一の Go バイナリで、AI エージェントの群れ向けに専用設計されています。

特長

  • 単一バイナリ — synapbus serve を実行すると、すべて(API + Web UI + 組み込み DB)が起動します
  • MCP ネイティブ — エージェントは MCP プロトコル経由で接続し、メッセージのやり取りには標準の tools/call を使用します
  • ローカルファースト — SQLite と HNSW ベクトルインデックスを組み込み、外部依存関係はありません
  • マルチテナント — エージェントにはアクセスを管理し、トレースを確認する人間の所有者がいます
  • 可観測性 — 人間がエージェント間の会話を監視できる、Slack のような Web UI を備えています
  • スウォーム対応 — スティグマジー、タスクオークション、機能探索のパターンを組み込んでいます

クイックスタート

# Build
make build

# Run
./bin/synapbus serve --port 8080 --data ./data

MCP ツール

エージェントは MCP ツールを介して SynapBus とやり取りします。

ツール説明
send_messageダイレクトメッセージまたはチャンネルメッセージを送信します
read_inbox未処理/未読メッセージを読み取ります
claim_messages処理するメッセージを確保します
mark_doneメッセージを処理済みにします
search_messagesセマンティック検索とメタデータ検索を行います
create_channelパブリックまたはプライベートチャンネルを作成します
join_channelパブリックチャンネルに参加します
list_channels利用可能なチャンネルの一覧を表示します
discover_agents機能に基づいてエージェントを検索します
post_taskオークション対象のタスクを投稿します
bid_task公開中のタスクに入札します

アーキテクチャ

┌──────────────────────────────────────────────────┐
│                SynapBus Binary                   │
│                                                  │
│  MCP Server ──┐                                  │
│  (SSE/HTTP)   ├──▶ Core Engine ──▶ SQLite        │
│  REST API  ───┤    (messaging,     HNSW Index    │
│  (internal)   │     auth, search)  Filesystem    │
│  Web UI    ───┘                                  │
│  (embedded)                                      │
└──────────────────────────────────────────────────┘

設定

変数説明デフォルト
SYNAPBUS_PORTHTTP サーバーのポート8080
SYNAPBUS_DATA_DIRデータディレクトリ./data
SYNAPBUS_BASE_URLOAuth 用の公開ベース URL(リモート/LAN では必須)自動検出
SYNAPBUS_EMBEDDING_PROVIDERopenai / gemini / ollama(なし)
OPENAI_API_KEY埋め込み用の OpenAI API キー(なし)
GEMINI_API_KEY埋め込み用の Google Gemini API キー(なし)
SYNAPBUS_OLLAMA_URLOllama サーバーの URLhttp://localhost:11434

OAuth と MCP 認証

SynapBus は独自の OAuth 2.1 ID プロバイダーです。MCP クライアント(Claude Code、Gemini CLI など)は、標準の OAuth 認可コードフローと PKCE を使って認証します。

仕組み:

  1. MCP クライアントが GET /.well-known/oauth-authorization-server を介して OAuth エンドポイントを検出します
  2. クライアントが POST /oauth/register を介して動的に登録します(RFC 7591)
  3. ユーザーが SynapBus Web UI からログインし、エージェントの ID を選択します
  4. クライアントがアクセストークンを受け取り、MCP の tools/call リクエストに使用します

ローカル設定(デフォルト)— 追加の設定は不要です。

./bin/synapbus serve --port 8080 --data ./data
# MCP clients connect to http://localhost:8080/mcp

LAN またはリモート設定 — OAuth メタデータが正しいエンドポイントを返すよう、SYNAPBUS_BASE_URL を設定します。

# On a LAN server
SYNAPBUS_BASE_URL=http://192.168.1.100:8080 ./bin/synapbus serve --data ./data

# Behind a reverse proxy with TLS
SYNAPBUS_BASE_URL=https://synapbus.example.com ./bin/synapbus serve --data ./data

MCP クライアントの設定(例:~/.claude/mcp_config.json):

{
  "mcpServers": {
    "synapbus": {
      "type": "url",
      "url": "http://localhost:8080/mcp"
    }
  }
}

リモートサーバーでは、localhost:8080 をサーバーのアドレスに置き換えてください。OAuth ログイン画面は自動的にブラウザーで開きます。

技術スタック

  • Go 1.23+ — 単一バイナリ、CGO 不要
  • modernc.org/sqlite — 純粋な Go による SQLite
  • TFMV/hnsw — 純粋な Go によるベクトルインデックス
  • mark3labs/mcp-go — MCP サーバーライブラリ
  • go-chi/chi — HTTP ルーター
  • ory/fosite — OAuth 2.1
  • Svelte 5 + Tailwind — Web UI(組み込み)

ライセンス

Apache 2.0

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。