Datapacks
A datapack is Meko's fundamental unit of isolation. Each datapack provides a self-contained persistent store for the context its agents use. MCP clients connect to the shared endpoint (https://mcp.mekodata.ai/mcp) and target a datapack by passing the datapack ID in tool calls.
Meko creates a default datapack for you the first time you sign in (Cloud) or start it (Local). You can create additional datapacks (maximum 10 with the Free plan) and share them with teammates.
What's in a datapack
A datapack holds the context its agents keep:
- Conversations. The raw turns an agent saves.
- Memories. Facts, preferences, and decisions taken from those turns, or saved directly.
- Knowledge-base files. Documents agents search inside, such as a runbook, a policy, or a spec. Search returns passages from the file. See Knowledge bases.
- Artifacts. Files kept whole, such as a report, a CSV, a PDF, or generated code. Another agent in the datapack fetches the same file by its hash. See Artifacts.
- Traces. The record of what agents retrieved, and of which memories were promoted. See Conversations and traces.
A memory, a knowledge-base file, and an artifact answer different needs. See Where to store it.
When you create a datapack, Meko provisions isolated storage for all of this, scoped to your agents. Agents select it by passing datapack_id on each tool call to the shared MCP endpoint, rather than using a different URL per datapack.
To create, connect, share, or delete a datapack, see Datapacks.
Isolation model
Each datapack is fully isolated:
- Data isolation. Logical isolation within a shared YugabyteDB universe. An agent's
memory_searchreturns that user's memories. In the portal and the API list, other members of the datapack can see those memories. Viewers see them without who wrote them. - Credential isolation. User API keys and database credentials are scoped to your account; datapack data is separated in storage.
- MCP isolation. Tool calls include a
datapack_idso the shared MCP server only reads and writes that datapack's data.
Sharing and access
Share datapacks so that other people's agents can work from the same context. Datapack members can search its knowledge base and retrieve Collective Memory, the facts promoted for every member. A role decides what each person can do: grant Viewer, Contributor, or Maintainer access.
A contributor's agent can add memories from that person's own work. Those stay with that person until an owner or a maintainer promotes them, which is when the rest of the membership's agents can use them.
A datapack shared this way has named members. To publish one that anyone with the link can query, see Publish a public datapack.
To invite someone, manage sharing, or change a role, see Datapacks.
From conversations to shared knowledge
A datapack holds the path from a private conversation to knowledge every member can use. That path stays inside the datapack.
Conversations are the raw turns, saved as the agent works. Automatic capture does this for a connected client, and an agent can save a turn itself. A conversation stays with the agent that wrote it.
Memories are the durable facts, preferences, and decisions Meko extracts from those turns. You can also ask an agent to remember something directly. A memory starts with the person whose agent wrote it: that person's agents retrieve it with memory_search, and other members can see it in the portal. See Memory.
Learnings are memories Meko surfaces because they are close to what the knowledge base already covers. They are candidates for the team, still waiting for a person to decide. See Learnings.
Promotion is that decision. An owner or a maintainer promotes a learning into Collective Memory, Shared Knowledge, or both. Collective Memory is a fact every member's agents can retrieve. Shared Knowledge joins the knowledge base and is searched as documents. The choice is recorded in the datapack's trace. A contributor can add memories. Promoting one, or writing the knowledge base directly, takes an owner or a maintainer.