---
title: "Datapacks"
url: "https://docs.mekodata.ai/use-meko/datapacks/"
---

# Datapacks

Create, share, and delete a datapack, and control who can use it

A [datapack](/concepts/datapacks/) is the isolated store for one body of agent context. This page is how you create one, connect to it, share it, and remove it.

## Create a datapack

The first time you sign in to the Meko portal, Meko walks you through the steps to create your default datapack (`meko_default_datapack`) and connect it to your client.

To create additional datapacks:

1. In the Meko portal, navigate to **Datapacks**.
2. Click **Add Datapack**.
3. Follow the instructions in the configure wizard.

If Meko can't finish setting up the datapack's tracing project, creation fails with `Could not finish setting up the datapack; nothing was created. Please retry.` Nothing is left behind, so retry with the same name.

You can create more than one datapack at the same time, up to your plan's datapack cap.

Free tier

Free accounts can create up to **10 datapacks**. When you reach the limit, **Add Datapack** is disabled. See [Reach a tier limit](#reach-a-tier-limit).

## Reach a tier limit

The Free tier includes limits on datapack creation, knowledge base storage, number of conversations, and WorkbenchLM token usage. When you exceed a limit, Meko displays a corresponding message. Click **Upgrade to Standard** on the message banner to open **Settings > Pricing** with the Standard plan selected.

In Meko Cloud, Standard is $25 / month. On **Settings > Pricing**, choose **Stripe** or **AWS Marketplace**.

An account pays through one of them. Stripe Checkout does not start when the account already has an active AWS Marketplace subscription. Cancel that subscription first. If you already pay through Stripe and then subscribe on AWS Marketplace, cancel the Stripe subscription in **Manage subscription**. The AWS plan takes over when the Stripe subscription ends.

After you subscribe on AWS Marketplace, click **Set up your account**. If you skip that step, the plan stays on Free. After Stripe Checkout, reload **Settings** to see the updated plan. See [Meko pricing](https://mekodata.ai/pricing/).

You cannot upgrade from Standard using the Marketplace. To upgrade, choose **Talk to our team**.

Free tier has the following limits:

- 10 datapacks
- 100 MB of knowledge base storage
- 1,000 conversations
- 10 million WorkbenchLM tokens

## Manage datapacks

Manage your datapacks from the **Datapacks** page in the Meko portal. **Datapacks** lists all your datapacks. From here you can add and share datapacks.

Select a datapack to view the conversations, memories, learnings, and knowledge the datapack holds.

From here, you can review and promote learnings to [knowledge](/concepts/knowledgebase/).

After you create a datapack:

- Share it. Invite team members or share a link. See [Share a datapack](#share-a-datapack).
- Manage access to your shared datapack by assigning roles. See [Manage access](#manage-access).
- Add it to a project. A project groups datapacks that work toward one outcome, while keeping each datapack independent. See [Projects](/use-meko/projects/).

## Delete a datapack

Only the owner can delete a datapack.

Open the actions menu (the gear next to **Share**) and choose **Delete \[datapack name]**, then click **Delete**.

You can't delete `meko_default_datapack`, the datapack Meko created when you signed in.

You can delete a datapack when tracing is unavailable.

## Connect via MCP

Each datapack exposes an MCP server that agents use to interact with their data.

To connect an external MCP client (Cursor, Claude Code, and so on), you need:

- The **MCP server URL**, `https://mcp.mekodata.ai/mcp` (the same for every datapack and user).
- A **user API key**: a long-lived key you generate under **Settings > API Keys** in the portal (values start with `mko_tkn_`).

Agents select the datapack to connect to by passing the `datapack_id` inside each MCP tool call, not by using a different URL per datapack.

When you create a datapack in the Meko portal, Meko provides instructions to connect your datapack to your agent automatically. The connection commands are also available under **Connect** in the Meko portal.

You can also configure clients by manually adding this configuration to your coding agent or agent framework. See [Connect your agents](/use-meko/connect/).

## Automatic capture and datapack pinning

When you have multiple datapacks, you designate one as your **active pin** - the default datapack where Meko saves conversations and memories. If you only have one datapack, Meko uses it automatically.

### How to change your pin

**Ask your agent in plain language:**

```text
Switch my Meko datapack to research
```

**Or invoke the selector skill directly:**

```text
# Claude Code
/meko-agent-skills:meko-select-datapack

# Claude Desktop
/meko-select-datapack-desktop
```

The selector shows 10 datapacks at a time, newest first. It shows your role on each row, such as `owner` or `viewer`, and marks the current pin.

Reply with a number to pin that row, part of a name to search, or `next` / `prev` to change pages. A name reply searches the whole account, including rows that are not on this page. Reply with `clear` or `none` to drop the pin and use your account default.

### Pins apply to new conversations only

**When you switch pins:** Your current conversation stays in its original datapack. The new pin takes effect only when you start a new chat. Existing conversations never move between datapacks.

| Scenario                              | Result                                                                          |
|---------------------------------------|---------------------------------------------------------------------------------|
| Pin a datapack, then start a new chat | New chat uses the pinned datapack                                               |
| Pin a datapack while chatting         | Current conversation stays in its original datapack; next chat uses the new pin |
| Switch pins on Claude Desktop         | Ask the agent to "start a new Meko conversation" to apply the pin immediately   |

**Example:** You're chatting in the "research" datapack. You say "Switch my pin to personal-projects." Meko updates the pin, but the current conversation keeps writing to "research." Your next chat will use "personal-projects."

### How the pin persists across sessions

**Claude Code**: The pin is stored per project and survives restarting Claude Code, clearing your transcript, and opening another window in the same repository. Different projects can have different pins.

**Claude Desktop**: The pin is stored in Meko memory and survives across all Desktop conversations until you change or clear it.

If your pinned datapack is deleted or you lose access, Meko fails gracefully rather than silently writing elsewhere. Run the selector to pick an accessible datapack, or clear the pin.

Cursor, Codex, and Kiro

These clients don't have a guided datapack selector. You can still name a datapack directly in a prompt without changing your pin (for example, "save this conversation to the research datapack"). To set or change your default pin, use Claude Code or Claude Desktop's selector.

OpenCode

Installer 2.5.0 capture for OpenCode CLI and TUI uses your account's default datapack. It doesn't read the pin. `--datapack` applies only when you import old sessions with `--migrate`.

## Share a datapack

You can share a datapack by inviting people, or by sharing a link. Only datapacks in Meko Cloud can be shared.

To author a shareable datapack as reviewed source in a repository instead of through the portal, see [Publish a public datapack](/use-meko/public-datapacks/).

An owner or a maintainer can invite people. In the portal, only the owner can create, copy, change, turn off, or reset the share link.

On the datapack, **Share** opens a menu:

- **Invite People** opens the invite form.
- **Create share link** is shown when the datapack has no link. **Copy share link** is shown when the link is on. Only the owner sees these.
- When a link exists but is off, that item opens the Share page so the saved role stays as it is.
- **Settings** opens the Share page.

When you add a member, you assign a role. To change that role or remove someone, see [Manage access](#manage-access).

When you share a datapack that sits in a project, the recipient finds that project on **Projects**, under **Shared with me**. See [Projects](/use-meko/projects/#sharing-project-datapacks).

### Invite team members

To invite colleagues to your datapack:

1. Open the datapack and click **Share**, then **Invite People**.
2. Under **Invite humans**, provide one or more **Email addresses** separated by commas, spaces, semicolons, or new lines, or click **Upload CSV**.
   
   A CSV can include a header row where one column is an email column. A file Meko cannot read as text shows **Could not read file**. Export it as CSV and upload it again.
3. Choose a **Role for everyone in this list**: **Viewer**, **Contributor**, or **Maintainer**. The role applies to every address in the batch.
4. Click **Send invite**. With more than one address, the button shows the count, such as **Send 2 invites**.

One batch accepts up to 50 addresses. Meko displays an error if you exceed the limit. To invite more than 50, split the job into multiple batches.

Meko reports a result for each address. A row with no valid email is skipped. Inviting someone who already has access does nothing.

Pending invites are listed under **Pending**, where you can resend or revoke invites that have not been accepted.

### Share a link

Each datapack has one share link. In the portal, only the owner manages it.

To create the link:

1. Open the datapack and click **Share**, then **Create share link**.
2. Set **Role joiners get** to **Viewer** or **Contributor**. A link cannot grant **Maintainer**.
3. Click **Create and copy link**.

If the link is already on, click **Share**, then **Copy share link**.

To change a link that already exists, click **Share**, then **Settings**. On the **Link sharing** card:

- Turn **Anyone with the link can join** off to stop new people from joining.
- Choose **Viewer** or **Contributor** to change the role.
- Click **Copy link** to copy the URL.
- Click **Reset link** and confirm **Reset the share link?** to replace the URL. The old link stops working.

A person who is signed in and opens an active link joins immediately and opens the datapack. A person who is not signed in signs in or signs up first, then joins. They do not need an email invite.

Turning the link off stops new people from joining. People who already joined keep access.

Changing the role also changes it for people who joined through this link and still have that role. If their role was changed later, they keep their current role. The **Link sharing** card shows how many have joined.

A link that is off or unknown shows **This link isn't available**. Someone who was removed sees **You were removed from this datapack**. The link does not add them again. An owner has to invite them.

To publish a datapack as reviewed source under version control, rather than managing it by hand through the portal, see [Publish a public datapack](/use-meko/public-datapacks/).

## Manage access

An owner or a maintainer manages who can use a datapack. A viewer does not see the member list.

To invite someone or share a link, see [Share a datapack](#share-a-datapack).

### Find a member

1. Open the datapack and click **Share**, then **Settings**.
2. Under **Members**, search by name, email address, domain, or role. The field says **Search name, email, domain (@company.com), or role**.
3. Filter the list by role. **All roles** shows everyone.

**View all** opens the **Members** page. The same list is on the datapack's **Members** tile.

### Change a role

On **Members**, an owner or a maintainer chooses a role for another member. You cannot change the owner's role, or your own.

Meko shows **Role updated**. If the change does not go through, it shows **Couldn't update role**.

Changing a role from the **Members** card on the Share page asks you to confirm **Update member role**.

### Remove a member

On **Members**, click **Remove** on that person's row.

The dialog title is **Remove** followed by their name. It says they lose access to the datapack right away and can rejoin only through a new invite. Click **Remove**.

The share link does not add them again. See [Share a link](#share-a-link).

### Datapack roles

When you add a member, you assign them a role: Viewer, Contributor, or Maintainer.

| Role        | View | Add memories | Add/edit knowledge base | Promote |
|-------------|------|--------------|-------------------------|---------|
| Viewer      | Yes  | No           | No                      | No      |
| Contributor | Yes  | Yes          | No                      | No      |
| Maintainer  | Yes  | Yes          | Yes                     | Yes     |

- *View*: read knowledge-base material, memories, and conversations your deployment exposes for that datapack.
- *Add memories*: create new memories. Contributors can do this, but cannot write to the knowledge base directly.
- *Add/edit knowledge base*: upload or modify knowledge-base content. Requires Maintainer.
- *Promote*: elevate memories into shared knowledge. Requires Maintainer, or the datapack owner.

### What a viewer can do

A **Viewer** can read the datapack.

In the portal and the REST API, a viewer sees the knowledge base, collective memory, conversations, and memories.

A viewer does not see who started a conversation, who added a memory, who uploaded someone else's file, or who promoted a memory.

A viewer does not see the member list. The **Share** page says **You have viewer access to this datapack**. Owners and maintainers manage who it is shared with.

Through MCP, a viewer can search the datapack.

Creating or changing a conversation or memory returns `read_only_access`.

Installer 2.5.0 holds automatic capture for that datapack and reports `read_only_access` the next time you start a session, instead of retrying every few minutes. See [Capture won't save because you are a viewer](/troubleshooting/#capture-wont-save-because-you-are-a-viewer).

A viewer can't upload artifacts or knowledge-base files.

A viewer can still delete their own memories, conversations they started, and knowledge-base files they uploaded. On **Memories**, **Delete** is on the viewer's own rows created on or after September 9, 2026. See [Delete a memory](/concepts/memory/#delete-a-memory).

A member whose role changed to **Viewer** can still remove what they added before.
