Skip to content

fix(pi): register jafar-perf's MCP server in the pi package - #10

Merged
jbachorik merged 1 commit into
mainfrom
fix/pi-register-jafar-mcp
Oct 3, 2026
Merged

jbachorik merged 1 commit into
mainfrom
fix/pi-register-jafar-mcp

Conversation

@jbachorik

@jbachorik jbachorik commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

What & why

jafar-perf used to live in btraceio/jafar-perf-box as a pi package whose manifest registered the plugin's .mcp.json (pi.mcp), so installing it into pi also brought the jafar MCP server. This repository's pi package lists skills only. A pi user moving here (which is where jafar's installer is about to send them, see the companion PR) would get the skills with no server behind them.

This adds pi.mcp: ./plugins/jafar-perf/.mcp.json to package.json, and makes validate-repository.js check that path exists, the way it already does for the skills directories, so the entry cannot rot.

Only jafar-perf's server is registered. pi.mcp also accepts a list, but jfr-analyzer's .mcp.json starts the same jfr-mcp daemon under another name, and pi would run two bridges for one server. Registering jafar-perf's alone is also what the old package did.

How verified

Command Result
scripts/validate-marketplace.sh passes: 5 plugins, 31 skills
validate-repository.js with pi.mcp pointing at a missing file fails: pi: missing MCP config ./plugins/jafar-perf/nope.json
pi-mcp-adapter's own loadPackageMcpConfigs (run from a copy outside node_modules) against this package installed into a scratch pi home registers btraceio_agent-plugins__jafar = jbang jfr-mcp@btraceio --stdio --attach
the same loader without the entry (what main has today) registers no servers

Coverage notes

The loader run exercises the exact code pi's adapter uses to turn a package's pi.mcp into servers, on a real pi install of this branch. The validator change is covered by the negative case above.

Not verified / known limitations

  • A live pi session calling a jafar tool through the adapter (needs model credentials); the check stops at the adapter registering the server.
  • The pi package is the whole repository, so a pi install also brings the other plugins' skills. That was already true of this package and is unchanged here.

Why this is a draft: the live-session check above is missing. It flips to ready on your say-so; nothing else is open.

Breaking changes / migration

None. pi users who install this package now also get the jafar MCP server, as they did from the old repository.

Links

Companion: btraceio/jafar#120 (installer and docs repointed here), which should merge after this one. Part of moving jafar-perf-box users here before that repository is archived.

🤖 Generated with Claude Code

jafar-perf lived in btraceio/jafar-perf-box as a pi package whose manifest
registered the plugin's .mcp.json (`pi.mcp`), so installing it into pi also
brought the jafar MCP server. This repository's pi package listed skills only,
so pi users moving here would get the skills with no server behind them.

Add `pi.mcp: ./plugins/jafar-perf/.mcp.json`, and have validate-repository.js
check that path exists like it does for the skills directories, so the entry
cannot rot. Only jafar-perf's server is registered: jfr-analyzer's .mcp.json
starts the same jfr-mcp daemon under another name, and pi would run two
bridges for one server.

Verified: pi-mcp-adapter's own package loader (package-mcp-loader.ts, run from
a copy outside node_modules) is given this package installed into a scratch
pi home. With the entry it registers `btraceio_agent-plugins__jafar` as
`jbang jfr-mcp@btraceio --stdio --attach`; without it, which is what main has
today, it registers no servers. scripts/validate-marketplace.sh passes, and
the validator now fails on a `pi.mcp` pointing at a missing file. Not run: a
live pi session calling a jafar tool through the adapter.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@jbachorik
jbachorik marked this pull request as ready for review October 3, 2026 19:49
@jbachorik
jbachorik merged commit 54cb350 into main Oct 3, 2026
2 checks passed
@jbachorik
jbachorik deleted the fix/pi-register-jafar-mcp branch October 4, 2026 08:31
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