Install external bags
Use this when you want a bag that does not ship with Barry: one from a repository, an npm package, or a remote MCP server.
Barry ships with a core set of bags, but most of what you add comes from outside. The examples use bags that are public today.
Before you begin
Section titled “Before you begin”- Build a Barry. These commands act as the
bonanzaidentity from that guide; use your own identity’s command in its place. - For a bag whose server needs a key, set up the vault first, as Manage secrets shows.
Install from a repository
Section titled “Install from a repository”Point barry install at a bag’s Git repository. Barry clones it into
~/repos/bags, builds it, and registers it under the name its bag.yaml
declares:
barry install https://github.com/perintyler/linear-bagbonanza pack linearInstalling is machine-wide and belongs to barry; packing is per-identity.
Once packed, start a session that grants the bag’s tools:
bonanza session start --traits linearbarry install also takes a local directory, an npm package, or a remote MCP
URL. Use --as <name> to register under a different name.
Bags that bring an MCP server
Section titled “Bags that bring an MCP server”Many external bags wrap a service’s own MCP server rather than shipping tool
code. The bag declares the server under mcp-servers: in its bag.yaml, and
Barry runs it and serves its tools through the same policy as everything else.
The three forms, each from a public bag:
A command-launched server, from the linear bag:
mcp-servers: linear-mcp: command: npx args: ["-y", "mcp-remote", "https://mcp.linear.app/mcp", "--header", "Authorization: Bearer ${LINEAR_API_KEY}"] env: [LINEAR_API_KEY]An HTTP server, from the clickhouse bag:
mcp-servers: clickhouse: type: http url: https://mcp.clickhouse.cloud/mcpA server launched through uvx, from the temporal bag:
mcp-servers: temporal: command: uvx args: ["temporal-mcp-server"]A server must declare a url or a command. Its name becomes the namespace
its tools live under. A bag whose server needs a key references it through the
identity’s secrets, so install it, add the secret, and pack. Barry asks for
the key at a masked prompt, stores it in the vault, and binds it to the
identity in one step:
barry install https://github.com/perintyler/linear-bagbonanza identity secret set LINEAR_API_KEY --in vaultbonanza pack linearTry a bag over MCP before you pack it
Section titled “Try a bag over MCP before you pack it”To serve a local bag over MCP on its own, for testing, or as a reference
server, use barry bag serve:
barry bag serve linear --port 9878This runs the bag’s tools over MCP at 127.0.0.1:9878 without packing it onto
an identity.
More public bags
Section titled “More public bags”These are public today and make good first installs. The range is the point: Barry is not only for coding.
linearmanages Linear issues.clickhouseruns ClickHouse queries, inspects schemas, and manages infrastructure.temporalorchestrates Temporal workflows.mediainspects, identifies, and converts images, video, audio, and documents.amazon-commerceandebay-commercedrive marketplace listings and research.abletoncontrols Ableton Live for music production.mermaid,markdown,tts, andcalendarare small single-purpose utilities, each atgithub.com/perintyler/<name>-bag.
Pack commerce bags onto one identity and music bags onto another, and each Barry becomes a different working persona. Primitives shows real identities built this way.
Verify
Section titled “Verify”To confirm the identity packed the bag, run:
bonanza identity showThe Bags: line lists linear. To see what the bag registered, run
barry bag show linear: it prints the bag’s path, its MCP servers, and its
traits.
If it fails
Section titled “If it fails”- A server needs you to sign in. Run
bonanza bag auth <name>with the bag’s name to sign in to its MCP server. - The server’s tools fail for want of a key. Run
bonanza identity check; a line that reportsmissingnames the key the identity lacks. See A secret is not loading. - The session has no tools from the bag. Packing does not grant tools;
start the session with
--traits linear.
What’s next
Section titled “What’s next”- Run sessions to put a packed bag to work.
- Packing bags to make a bag of your own.
- The
barry installreference for every source and option.