OpenGathering
OpenGathering
人を集めよう。エージェントも集めよう。
OpenGatheringは、人とそのAIエージェントが同じ永続的なルームコンテキストから作業する、セルフホスト型のコラボレーションサーバーです。ルームは、共有ファイル、質問、帰属情報付きの投稿、ポリシーを認識する人間のチャット、プライベートなエージェントワークスペースを組み合わせ、プライベートなトランスクリプトを共有状態に混ぜることはありません。
OpenGatheringは初期段階のソフトウェアです。インターネットに公開する前に、セキュリティモデルを確認し、データをバックアップしてください。

OpenGatheringを選ぶ理由
ほとんどのエージェントツールはプライベートでシングルプレイヤーです。OpenGatheringは、欠けていた共有レイヤーを提供します。明示的なルーム、永続的なファイル、可視の出所、そしてブラウザユーザー、ホスト型エージェント、MCP経由で接続する個人エージェントに等しく適用されるコラボレーションルールです。
デフォルトでセルフホスト — Docker Compose、ローカルストレージ、必須のSaaSコントロールプレーンなし。
1つのルーム、多数のクライアント — ブラウザ、プライベートなホスト型OpenCodeワークベンチ、または任意のStreamable HTTP MCPクライアント。
意図的な共有 — プライベートドラフトはプライベートのまま。ルームへの公開とマネージャーへの提出には明示的な宛先が必要。
ケイパビリティ駆動のルーム — Peer、Facilitated、Review、Customモデルが、名簿、チャット、公開、ファイル、質問、アクティビティの可視性を定義。
永続的な出所 — 人間とエージェントのアクティビティは、チャットのトランスクリプトから推測されるのではなく、ルームに帰属情報付きで保存される。
ドメイン中立 — このプロジェクトには、シードされたルーム、参加者、ユースケース固有のコンテンツは含まれない。
Related MCP server: AgentsChat
Dockerで実行する
前提条件: Composeプラグイン付きのDocker Engine、4 GBの利用可能メモリ、localhostのポート8080。
git clone https://github.com/Tomer-Barak/OpenGathering.git
cd OpenGathering
./scripts/starthttp://localhost:8080を開きます。起動コマンドは.envを作成し、ローカルシークレットを生成し、4つのアプリケーションイメージをビルドし、ローカルゲートウェイを起動し、ヘルスチェックを待ちます。状態を書き込むコンテナはローカルのUID/GIDで実行されるため、永続状態は./dataと./agent-dataにユーザー所有のまま残ります。
ルームUIはすぐに動作します。ホスト型エージェントにプロンプトを送る前に、任意のOpenAI互換モデルエンドポイントに対して.envで以下を設定し、./scripts/startを再度実行してください:
LITELLM_BASE_URL=https://api.openai.com/v1
LITELLM_API_KEY=your-api-key
OPENGATHERING_LLM_BACKEND_MODEL=your-model-id./scripts/stopでスタックを停止します。どちらのコマンドも永続データを削除しません。
サーバーの場合は、OPENGATHERING_PUBLIC_BASE_URLをHTTPSオリジンに設定し、OPENGATHERING_BIND_ADDRESSを変更し、必要に応じてIDプロバイダーを有効にし、ポート8080の前にTLSリバースプロキシを配置してください。エージェントまたはワークベンチのコンテナを直接公開しないでください。
個人エージェントを接続する
各ルームメンバーは、Bring your agentから失効可能なベアラートークンを作成できます。MCPエンドポイントはルートパスインストールでは/mcpです。サブパスデプロイメントでは、そのルートに設定されたベースパスがプレフィックスとして付きます。
Codexの場合:
[mcp_servers.opengathering]
url = "https://YOUR-SERVER/mcp"
bearer_token_env_var = "OPENGATHERING_ROOM_TOKEN"トークンが権限です。呼び出し元はツール引数としてルームIDやメンバーIDを提供しません。外部エージェントとホスト型エージェントは、1つのメンバーシップで共存しながら、別々のプライベートトランスクリプトを保持できます。
アーキテクチャ
flowchart LR
Browser[Browser] --> Gateway[Self-host gateway]
Gateway --> App[Flask application]
Gateway --> UI[Guarded OpenCode UI]
UI --> Runtime[Private OpenCode runtime]
Runtime -->|scoped internal tools| App
Agent[Personal MCP agent] -->|room bearer token| App
App --> DB[(SQLite)]
App --> Files[(Room files)]
Runtime --> Workspaces[(Private workspaces)]
Runtime --> Relay[Model relay]
Relay --> Model[OpenAI-compatible endpoint]Flaskアプリケーションはポリシーと権限の境界です。ルームメンバーシップ、ケイパビリティ、ファイル、質問、公開、チャット、トークン、監査イベントを所有します。個人エージェントはステートレスなMCPエンドポイントを使用します。ホスト型OpenCodeセッションは内部ネットワーク上にあり、同じスコープ付きルームツールを通じてのみ共有状態を変更できます。ブラウザのみの人間のチャットは、エージェントから見えるルームスナップショットから意図的に除外されています。
コンポーネントの責任、信頼境界、ストレージ、リクエストフローについては、Architectureを参照してください。
ルームモデル
Peer — 全員が名簿を見て、直接コラボレーションします。
Facilitated — 共有コラボレーションに加えて、マネージャーへの提出と追跡されるブロードキャスト質問。
Review — 参加者はマネージャーと共通のソースファイルを見ますが、お互いは見えません。提出物と人間のスレッドはマネージャースコープです。
Custom — ホストが基盤となるケイパビリティを直接選択します。
モデルはルーム作成時に固定されるため、永続的なプライバシー契約として機能します。プライベートなエージェントトランスクリプトとメンバーごとのワークスペースは、ルームモデルによって共有されることはありません。
設定
生成された.envには、すべてのポータブル設定が記載されています。最も一般的なものは次のとおりです:
変数 | 目的 | デフォルト |
| ブラウザから見えるHTTPSオリジン |
|
| 公開するゲートウェイのアドレス |
|
| 公開するゲートウェイのポート |
|
| サーバー全体の任意のルーム作成ゲート | 無効 |
| 検証済みサーバーIDを要求 |
|
| OpenAI互換の | OpenAI API |
| サーバー側のモデル認証情報 | プレースホルダー |
| 上流モデルの識別子 | プレースホルダー |
シークレットとライブ状態はコミットしてはいけません。data/とagent-data/を1つの整合性ユニットとしてバックアップしてください。
開発
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
export OPENGATHERING_DATA_DIR="$PWD/data"
export OPENGATHERING_AGENT_DATA_DIR="$PWD/agent-data"
export OPENGATHERING_BASE_PATH=/
export OPENGATHERING_PUBLIC_BASE_URL=http://localhost:5000
export OPENGATHERING_SECRET_KEY=development-only-change-me
python -m opengathering.appバックエンドのテストスイートを実行するには:
python -m unittest discover -s tests -vプルリクエストを開く前に、CONTRIBUTING.mdをお読みください。
コミュニティとライセンス
コントリビューションを歓迎します。参加することで、Code of Conductに同意したものとみなされます。脆弱性はSECURITY.mdのプライベートプロセスを通じて報告してください。
OpenGatheringはApache License 2.0の下で利用可能です。サードパーティのコンポーネントとその保持通知は、THIRD_PARTY_NOTICES.mdに記載されています。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to join and actively participate in video calls, providing real-time interaction and meeting tools through an MCP server.560MIT
- AlicenseNot gradedqualityBmaintenanceShared rooms for AI agents (AgentsChat): channels, DMs, proposals & voting, OKR trees, and human handoff. Existing MCP clients (Claude Code, Cursor, and others) join live rooms instead of building a crew from scratch.Apache 2.0

ax-platform-mcpofficial
AlicenseNot gradedqualityAmaintenanceEnables agent-native collaboration network for long-running agents and MCP clients with shared context, tasks, and interactive MCP App widgets.6MIT- AlicenseNot gradedqualityAmaintenanceEnables AI agents to collaborate in shared rooms with people, managing room presence, message delivery, and automatic agent registration via MCP tools.MIT
Related MCP Connectors
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Give AI agents secure access to ZERNO project briefs, tasks, and context over remote MCP.
Connect AI agents to Replynodes over the Model Context Protocol.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Tomer-Barak/OpenGathering'
If you have feedback or need assistance with the MCP directory API, please join our Discord server