Skip to content

Ask for the manual folder at install, in the extension bundle (#120) - #133

Merged
TGoodhew merged 1 commit into
mainfrom
packaging/mcpb-manuals-user-config
Jul 31, 2026
Merged

Ask for the manual folder at install, in the extension bundle (#120)#133
TGoodhew merged 1 commit into
mainfrom
packaging/mcpb-manuals-user-config

Conversation

@TGoodhew

Copy link
Copy Markdown
Owner

The .mcpb manifest passed an empty env, so a Claude Desktop user installing the bundle had no way to configure the manual library at all — manual_search would simply never appear, and the only workaround was a machine-wide environment variable set by hand. Poor answer for a one-click install.

Change

The manifest now declares an MCPB v0.3 user_config entry — Instrument manual folder, type directory, optional — substituted into GPIB_MCP_MANUALS for the server process. Desktop prompts for it at install and it stays editable in the Extensions UI, so the setting belongs to the extension: visible where the user already is, and gone when the extension is removed.

Also lists manual_search among the manifest's advertised tools.

Verified, not assumed

  • The official @anthropic-ai/mcpb CLI validates the manifest against the schema — "Manifest schema validation passes!" — so the user_config shape is right rather than plausible.
  • Unpacking the built bundle confirms the substitution survives packing: env: {"GPIB_MCP_MANUALS":"${user_config.manuals_folder}"}.
  • The degradation claim in the code comment was tested rather than asserted. Running the server with the placeholder unsubstituted — what a user who skips the optional setting may produce — gives one stderr warning (GPIB_MCP_MANUALS points at '${user_config.manuals_folder}', which does not exist; manual lookup is disabled), 29 tools, no manual_search, no crash.

No code change, so the suite is unaffected (453 + 113).

README and packaging/README.md both say how it's configured in Desktop versus by environment variable.

The .mcpb manifest passed an empty env, so a Claude Desktop user installing the
bundle had no way to configure the manual library at all - the tool would simply
never appear, and the only workaround was a machine-wide environment variable
set by hand, which is a poor answer for a one-click install.

The manifest now declares an MCPB v0.3 user_config entry - "Instrument manual
folder", type directory, optional - substituted into GPIB_MCP_MANUALS for the
server process. Desktop prompts for it at install and it stays editable in the
Extensions UI, so the setting belongs to the extension: visible where the user
already is, and gone when the extension is removed.

Also lists manual_search in the manifest's advertised tools.

Verified rather than assumed:
- the official @anthropic-ai/mcpb CLI validates the manifest against the schema
  ("Manifest schema validation passes!"), so the user_config shape is right;
- unpacking the built bundle confirms the env substitution survives packing;
- and the degradation claim in the comment was tested, not asserted: running the
  server with the placeholder UNSUBSTITUTED gives one stderr warning, 29 tools,
  no manual_search, and no crash. Which is what a user who skips the setting
  gets.
@TGoodhew
TGoodhew merged commit 83e9a45 into main Jul 31, 2026
1 check passed
@TGoodhew
TGoodhew deleted the packaging/mcpb-manuals-user-config branch July 31, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant