A one-click installation can still deliver a ten-message support conversation. Before sharing an MCP Bundle, check whether someone can install the exact file, configure it without your private setup, and complete one small task on a machine that is not yours.

This is a practical review of current Anthropic MCPB documentation, checked on October 6, 2026. MCPB is not a new October launch: Anthropic’s original desktop-extension announcement dates to June 26, 2025, with a September 11, 2025 update to the .mcpb name. The checklist below is an original proposed acceptance procedure, not a report of personal testing.

A potato developer packs a software bundle beside a laptop.
Package the handoff, not just the code that works on your desk. AI-generated conceptual illustration.

Choose one job before choosing a bundle

An MCPB packages a local MCP server and its manifest in a ZIP archive. The current Claude guide describes a local stdio connection and recommends Node.js, whose runtime is included with Claude Desktop on macOS and Windows. A remote connector has a different deployment and distribution model. Start with the destination and task, rather than assuming every integration should become a downloadable extension.

For this guide, use a fictional read-only helper that lists names of plain-text files in a selected test folder. It does not need to read a personal Documents folder, change files or connect to an account. This tiny example gives the reviewer an observable result without making a real archive the first experiment.

The boundary is a requirement to implement and verify. A friendly setting label or a manifest entry is not proof that the server enforces it.

Inspect what the recipient will actually receive

An open software box separates a server folder, manifest sheet and dependency blocks.
Inventory the artifact rather than relying on the development folder. AI-generated conceptual illustration; these are conceptual groups, not a complete file tree.

The MCPB repository README shows example bundle structures and dependency choices. Read the instructions for the server type you actually use. A developer’s globally installed package or machine-specific path can hide a missing dependency until the bundle reaches someone else.

CheckQuestion for the release ownerEvidence to keep
IdentityDo filename, extension version and release note identify the same build?Artifact filename and version
ContentsAre required runtime files included, with no private examples or credentials?Reviewed archive inventory
PathsDoes startup depend on an absolute path from the developer’s computer?Resolved entry point on a clean test setup
ConfigurationCan a new user understand what each field permits?Redacted settings and one-sentence purpose
CompatibilityWhich host and operating-system versions were actually tested?Separate result for each supported target

Keep sensitive values out of the receipt and screenshots. The manifest specification describes compatibility fields and sensitive user-configuration fields. Use them correctly, but also inspect the application’s own logging and error handling. Masking an input does not establish that later logs omit its value.

Separate packaging checks from behavior checks

The official CLI reference documents mcpb validate manifest.json for schema validation and mcpb pack . for packaging. These are developer steps for an already authorized development environment. Passing a schema check is useful evidence about structure; it is not evidence that file restrictions, failure messages or every operating system work.

A potato inspects a disposable folder while a personal archive remains separate and a possible cloud route is questioned.
Local execution and data destination are separate questions. The cord represents a boundary to test, not a built-in sandbox. AI-generated conceptual illustration.

Draw the data journey in ordinary words: “This tool opens files in this folder; these fields are returned to the host; these requests, if any, go to this service.” A local process can still contain networking code, and information returned to an AI host may be processed according to that host’s configuration and terms. Do not describe the whole workflow as offline or private merely because the executable runs locally.

For the fictional helper, use harmless filenames such as alpha.txt and beta.txt. Keep another disposable folder outside the allowed path. Have a reviewer exercise the allowed and rejected cases in an isolated test environment they are authorized to use. If the integration cannot describe its destinations or enforce its intended scope, postpone distribution rather than widening access to make a demo work.

Run a small acceptance matrix

Two different laptop setups have separate test checklists, one checked and one untested.
A result belongs to the platform and host version tested. An empty box remains untested. AI-generated conceptual illustration.
CaseProposed expected behaviorRecord
Fresh installationInstructions and required configuration are sufficient without a developer’s existing settingsHost version, OS, package hash, any missing step
Two-file folderBoth expected names appear exactly once; files are unchangedExpected versus actual names
Empty folderClear empty result, not a misleading failure or invented filenameReturned result and visible wording
Folder removed after setupUnderstandable error and a route to choose a valid folderError text with personal paths redacted
Outside-folder requestServer rejects it without revealing that folder’s contentsRejection result using disposable test data
Host restartConfiguration and behavior follow the documented persistence policyWhat remained and what needed re-entry
Remove extensionRemoval follows the host’s documented flow; any remaining user-created files are identifiedObserved state and cleanup instructions

Mark each row pass, fail or untested. Add a short reason for an untested row. A screenshot of a successful installation fills only the installation row. Repeat the matrix for each platform you promise to support; do not copy one result into the other column.

Send a release receipt with the file

Two potato characters exchange a release receipt with version, hash, platform, result and limits fields.
A compact receipt makes the next support conversation more specific. AI-generated conceptual illustration.

Copy this record into the release note. A hash identifies the bytes reviewed; it does not prove the software is trustworthy. Keep a previously accepted package and its receipt so that a change can be compared with a known reference.

For a larger AI-assisted project, pair this package receipt with an AI coding handoff record. The handoff explains how to continue the work; the receipt explains exactly what another person received. One click should be the start of a clear experience, not the end of your testing.