Skip to content

Commit b0e52ed

Browse files
chore: release 0.4.7 — multi-client install docs + npm-publish AAA descriptions (#84)
## Summary - **README install section** expanded to cover every major MCP client: Claude Code, Claude Desktop, Gemini CLI, GitHub Copilot (VS Code), Cursor, Cline, Windsurf, Continue.dev, Zed, plus a generic stdio template. - **Runtime docs corrected** — clone-and-configure path lists Deno (preferred per CLAUDE.md policy), Bun, and Node as valid runtimes. Dropped the spurious `npm install` step (zero-dep package). - **Version bump** 0.4.6 → 0.4.7 in `package.json`, `gemini-extension.json`, `jsr.json`, `stapeln.toml`. ## Why this release matters for Glama The AAA-tier tool-description rewrite landed in `25887157` / `ad837abe` after **0.4.1**, but was never `npm publish`'d. Glama runs the npm package, so it scored the v0.4.1 stub descriptions ("Check BoJ server health status") and graded Quality C. Publishing 0.4.7 ships the rich Purpose / Behavior / Returns / Errors / Usage text and per-parameter `description` fields with patterns/enums. After Glama's next scan, Quality should land A. ## Test plan - [ ] CI green (dogfood-gate, hypatia-scan, codeql, etc.) - [ ] Tag `v0.4.7` after merge → triggers `.github/workflows/publish.yml` (npm + JSR) - [ ] Verify `npm view @hyperpolymath/boj-server@latest version` returns `0.4.7` - [ ] Trigger Glama re-scan via dashboard - [ ] Confirm Quality grade moves C → A on Glama 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e826612 commit b0e52ed

6 files changed

Lines changed: 201 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,28 @@
33

44
All notable changes to Bundle of Joy Server are documented here.
55

6+
## [0.4.7] — 2026-05-20
7+
8+
### Changed
9+
10+
- **README install section expanded** to cover every major MCP client: Claude Code,
11+
Claude Desktop, Gemini CLI, GitHub Copilot (VS Code), Cursor, Cline, Windsurf,
12+
Continue.dev, Zed, plus a generic stdio template. Copy-paste-ready snippets
13+
for each client's config-file path.
14+
- **Runtime documentation corrected**: clone-and-configure path now lists Deno
15+
(preferred per CLAUDE.md policy), Bun, and Node as equally valid runtimes for
16+
`mcp-bridge/main.js`. Spurious `npm install` step removed — `package.json`
17+
declares zero runtime dependencies, so no install is ever required.
18+
19+
### Notes
20+
21+
- This is the release that publishes the **AAA-tier tool descriptions** to npm.
22+
The description rewrite landed in `25887157` / `ad837abe` after 0.4.1 but was
23+
never npm-published; downstream MCP clients (and Glama's quality scoring)
24+
were running 0.4.1 with the older one-liner descriptions. Republishing as
25+
0.4.7 ships the rich Purpose / Behavior / Returns / Errors / Usage text on
26+
every tool and the per-parameter `description` fields with patterns/enums.
27+
628
## [Unreleased]
729

830
### Added

README.md

Lines changed: 175 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,190 @@ BoJ (Bundle of Joy) is a unified MCP server that consolidates all hyperpolymath
88

99
## Install
1010

11-
Add to Claude Code:
11+
BoJ ships as an MCP server over stdio. Every snippet below uses the published npm package; replace `npx -y @hyperpolymath/boj-server@latest` with one of the following from a local clone:
12+
13+
```bash
14+
# Preferred — Deno (no install step; fetches imports on first run)
15+
deno run -A /path/to/boj-server/mcp-bridge/main.js
16+
17+
# Bun (also zero-install)
18+
bun /path/to/boj-server/mcp-bridge/main.js
19+
20+
# Node — works, but Deno is the project's documented runtime
21+
node /path/to/boj-server/mcp-bridge/main.js
22+
```
23+
24+
The bridge has **zero runtime dependencies** (see `package.json`) so no install step is ever required, regardless of runtime.
25+
26+
Most cartridges require the BoJ REST backend running on `http://localhost:7700` — see [Backend](#backend) below.
27+
28+
### Claude Code (CLI)
1229

1330
```bash
1431
claude mcp add boj-server -- npx -y @hyperpolymath/boj-server@latest
1532
```
1633

17-
Or clone and configure:
34+
### Claude Desktop
35+
36+
Edit `claude_desktop_config.json`:
37+
38+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
39+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
40+
- **Linux**: `~/.config/Claude/claude_desktop_config.json`
41+
42+
```json
43+
{
44+
"mcpServers": {
45+
"boj-server": {
46+
"command": "npx",
47+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
48+
"env": { "BOJ_URL": "http://localhost:7700" }
49+
}
50+
}
51+
}
52+
```
53+
54+
Restart Claude Desktop after saving.
55+
56+
### Gemini CLI
57+
58+
This repo ships a `gemini-extension.json` — install it directly:
1859

1960
```bash
20-
git clone https://github.com/hyperpolymath/boj-server
21-
cd boj-server/mcp-bridge && npm install
22-
# Start the BoJ REST API first (port 7700), then:
23-
claude mcp add boj-server -- deno run -A mcp-bridge/main.js
61+
gemini extensions install https://github.com/hyperpolymath/boj-server
62+
```
63+
64+
Or add to `~/.gemini/settings.json`:
65+
66+
```json
67+
{
68+
"mcpServers": {
69+
"boj-server": {
70+
"command": "npx",
71+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
72+
"env": { "BOJ_URL": "http://localhost:7700" }
73+
}
74+
}
75+
}
76+
```
77+
78+
### GitHub Copilot (VS Code)
79+
80+
VS Code 1.99+ supports MCP servers natively. Add to **workspace** `.vscode/mcp.json`:
81+
82+
```json
83+
{
84+
"servers": {
85+
"boj-server": {
86+
"type": "stdio",
87+
"command": "npx",
88+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
89+
"env": { "BOJ_URL": "http://localhost:7700" }
90+
}
91+
}
92+
}
93+
```
94+
95+
For **user-level** (all workspaces): Command Palette → `MCP: Add Server``Command (stdio)` → paste `npx -y @hyperpolymath/boj-server@latest`. Toggle BoJ on in the Copilot Chat agent picker.
96+
97+
### Cursor
98+
99+
Workspace: `.cursor/mcp.json`. User-global: `~/.cursor/mcp.json`.
100+
101+
```json
102+
{
103+
"mcpServers": {
104+
"boj-server": {
105+
"command": "npx",
106+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
107+
"env": { "BOJ_URL": "http://localhost:7700" }
108+
}
109+
}
110+
}
24111
```
25112

113+
Or use Settings → MCP → **Add new MCP server**.
114+
115+
### Cline (VS Code extension)
116+
117+
Settings → Cline → MCP Servers → **Edit MCP Settings**:
118+
119+
```json
120+
{
121+
"mcpServers": {
122+
"boj-server": {
123+
"command": "npx",
124+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
125+
"env": { "BOJ_URL": "http://localhost:7700" }
126+
}
127+
}
128+
}
129+
```
130+
131+
### Windsurf (Codeium Cascade)
132+
133+
Edit `~/.codeium/windsurf/mcp_config.json`:
134+
135+
```json
136+
{
137+
"mcpServers": {
138+
"boj-server": {
139+
"command": "npx",
140+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
141+
"env": { "BOJ_URL": "http://localhost:7700" }
142+
}
143+
}
144+
}
145+
```
146+
147+
### Continue.dev
148+
149+
In `~/.continue/config.yaml`:
150+
151+
```yaml
152+
mcpServers:
153+
- name: boj-server
154+
command: npx
155+
args: ["-y", "@hyperpolymath/boj-server@latest"]
156+
env:
157+
BOJ_URL: http://localhost:7700
158+
```
159+
160+
### Zed
161+
162+
Settings (`~/.config/zed/settings.json`):
163+
164+
```json
165+
{
166+
"context_servers": {
167+
"boj-server": {
168+
"command": {
169+
"path": "npx",
170+
"args": ["-y", "@hyperpolymath/boj-server@latest"],
171+
"env": { "BOJ_URL": "http://localhost:7700" }
172+
}
173+
}
174+
}
175+
}
176+
```
177+
178+
### Generic stdio (any MCP client)
179+
180+
The minimum spec is `command: npx`, `args: ["-y", "@hyperpolymath/boj-server@latest"]`, transport `stdio`. Optional env: `BOJ_URL` (default `http://localhost:7700`).
181+
182+
This repo's `.mcp.json` is a working reference config.
183+
184+
### Backend
185+
186+
Most cartridges (GitHub/GitLab/Cloud/ML/Browser/CodeSeeker/etc.) call the BoJ REST API. Two options:
187+
188+
1. **Run BoJ locally** — clone this repo and `just run` (see [QUICKSTART-USER.adoc](./QUICKSTART-USER.adoc)). REST API on port 7700.
189+
2. **Inspectable mode only** — without the backend, `boj_health`, `boj_menu`, `boj_cartridges`, and `boj_cartridge_info` still respond from the offline manifest fallback, so MCP clients can introspect the server without running anything else. Side-effectful tools will return `{error, hint}` until the backend is up.
190+
191+
### Verify
192+
193+
After install, ask the LLM: *"Use the `boj_health` tool."* You should get `{status: "ok", uptime_s, version}` when the backend is up, or a structured hint when it's offline.
194+
26195
Glama listing: <https://glama.ai/mcp/servers/hyperpolymath/boj-server>
27196

28197
## Features

gemini-extension.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "boj-server",
3-
"version": "0.4.6",
3+
"version": "0.4.7",
44
"description": "Unified Gemini extension for the BoJ (Bundle of Joy) Server infrastructure.",
55
"author": "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>",
66
"mcpServers": {

jsr.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hyperpolymath/boj-server",
3-
"version": "0.4.6",
3+
"version": "0.4.7",
44
"description": "Bundle of Joy — cartridge-based MCP server with 100 domain cartridges, formally verified (Idris2) coord core",
55
"license": "MPL-2.0",
66
"exports": "./mcp-bridge/main.js",

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@hyperpolymath/boj-server",
3-
"version": "0.4.6",
3+
"version": "0.4.7",
44
"description": "Bundle of Joy (BoJ) MCP Server — cartridge-based DevOps + multi-agent coordination toolkit with 100 domain cartridges (database, container, git, k8s, observability, secrets, IaC, multi-instance AI coord, and more). Formally verified (Idris2) core; MPL-2.0.",
55
"license": "MPL-2.0",
66
"author": "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>",

stapeln.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
[metadata]
88
name = "boj-server"
9-
version = "0.4.6"
9+
version = "0.4.7"
1010
description = "Bundle of Joy Server — unified MCP capability catalogue with formally verified Zig/Idris2 cartridges"
1111
author = "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"
1212
license = "PMPL-1.0-or-later"

0 commit comments

Comments
 (0)