OpenGathering
Allows the hosted agent to use OpenAI-compatible models (defaulting to OpenAI's API) for generating responses and assisting with tasks in rooms.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenGatheringWhat are the latest questions in my current room?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenGathering
Bring your people. Bring your agents.
OpenGathering is a self-hosted collaboration server where people and their AI agents work from the same durable room context. A room combines shared files, questions, attributed contributions, policy-aware human chat, and private agent workspaces without mixing private transcripts into shared state.
OpenGathering is early-stage software. Review the security model and backup your data before running an internet-facing deployment.

Why OpenGathering?
Most agent tools are private and single-player. OpenGathering provides the missing shared layer: explicit rooms, durable files, visible provenance, and collaboration rules that apply equally to browser users, hosted agents, and personal agents connected over MCP.
Self-hosted by default — Docker Compose, local storage, no required SaaS control plane.
One room, many clients — browser, private hosted OpenCode workbench, or any Streamable HTTP MCP client.
Deliberate sharing — private drafts stay private; room publications and manager submissions require an explicit destination.
Capability-driven rooms — Peer, Facilitated, Review, and Custom models define roster, chat, publishing, file, question, and activity visibility.
Durable provenance — human and agent activity is attributed and stored in the room rather than inferred from a chat transcript.
Domain-neutral — the project ships with no seeded rooms, participants, or use-case-specific content.
Related MCP server: AgentsChat
Run it with Docker
Prerequisites: Docker Engine with the Compose plugin, 4 GB of available memory,
and ports 8080 on localhost.
git clone https://github.com/Tomer-Barak/OpenGathering.git
cd OpenGathering
./scripts/startOpen http://localhost:8080. The startup command creates .env, generates
local secrets, builds the four application images, starts the local gateway,
and waits for health checks. The state-writing containers run as your local
UID/GID, so persistent state stays user-owned in ./data and ./agent-data.
The room UI works immediately. Before prompting the hosted agent, set these in
.env for any OpenAI-compatible model endpoint, then run ./scripts/start
again:
LITELLM_BASE_URL=https://api.openai.com/v1
LITELLM_API_KEY=your-api-key
OPENGATHERING_LLM_BACKEND_MODEL=your-model-idStop the stack with ./scripts/stop. Neither command deletes persistent data.
For a server, set OPENGATHERING_PUBLIC_BASE_URL to its HTTPS origin, change
OPENGATHERING_BIND_ADDRESS, enable an identity provider if required, and put a
TLS reverse proxy in front of port 8080. Do not expose the agent or workbench
containers directly.
Bring a personal agent
Each room member can create a revocable bearer token from Bring your agent.
The MCP endpoint is /mcp on a root-path install; a subpath deployment prefixes
that route with its configured base path.
For Codex:
[mcp_servers.opengathering]
url = "https://YOUR-SERVER/mcp"
bearer_token_env_var = "OPENGATHERING_ROOM_TOKEN"The token is the authority: callers do not provide room or member IDs as tool arguments. External agents and the hosted agent can coexist for one membership while retaining separate private transcripts.
Architecture
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]The Flask application is the policy and authority boundary. It owns room membership, capabilities, files, questions, publications, chat, tokens, and audit events. Personal agents use the stateless MCP endpoint. Hosted OpenCode sessions live on an internal network and can mutate shared state only through the same scoped room tools. Browser-only human chat is deliberately excluded from agent-visible room snapshots.
See Architecture for component responsibilities, trust boundaries, storage, and request flows.
Room models
Peer — everyone sees the roster and collaborates directly.
Facilitated — shared collaboration plus manager submissions and tracked broadcast questions.
Review — participants see managers and common source files, but not one another; submissions and human threads are manager-scoped.
Custom — the host chooses the underlying capabilities directly.
The model is fixed at room creation so it remains a durable privacy contract. Private agent transcripts and per-member workspaces are never shared by a room model.
Configuration
The generated .env documents all portable settings. The most common are:
Variable | Purpose | Default |
| Browser-visible HTTPS origin |
|
| Published gateway address |
|
| Published gateway port |
|
| Optional server-wide room-creation gate | disabled |
| Require a verified server identity |
|
| OpenAI-compatible | OpenAI API |
| Server-side model credential | placeholder |
| Upstream model identifier | placeholder |
Secrets and live state must not be committed. Back up data/ and agent-data/
as one consistency unit.
Development
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.appRun the backend suite with:
python -m unittest discover -s tests -vRead CONTRIBUTING.md before opening a pull request.
Community and license
Contributions are welcome. By participating, you agree to the Code of Conduct. Please report vulnerabilities through the private process in SECURITY.md.
OpenGathering is available under the Apache License 2.0. Third-party components and their retained notices are documented in 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