BoJ-server
BoJ-server is a unified MCP server consolidating development, cloud, communication, browser automation, research, and ML tooling into a single endpoint.
Development & Version Control
GitHub – Manage repos, issues, PRs, code search, file access, and GraphQL queries
GitLab – Manage projects, issues, merge requests, CI/CD pipelines, and push mirrors
Cloud Services
Cloudflare – Workers, D1 databases, KV namespaces, R2 buckets, DNS zones/records
Vercel – Projects, deployments, domains, env vars, logs, and serverless functions
Verpex (cPanel) – Domains, DNS, email accounts, databases, SSL, cron jobs, and metrics
Communication
Gmail – Send, read, search emails, and manage labels
Google Calendar – List/create events and check free/busy availability
Browser Automation (Firefox)
Navigate URLs, click elements, type text, read page content, take screenshots, manage tabs, and execute arbitrary JavaScript
Machine Learning (Hugging Face)
Search models/datasets, get model info, run inference, and list spaces
Academic Research (Semantic Scholar)
Search papers, get citations/references, and find author information
Local Multi-Agent Coordination
Peer discovery, collision-free task claiming, role-based supervision (master/journeyman/apprentice), typed message envelopes, watchdog timers, and track-record management
Server Management
Check health status, list 100+ pluggable cartridges across trust tiers, view the cartridge matrix, get cartridge details, and invoke cartridge operations directly
Security includes rate limiting, prompt-injection detection, error sanitization, and formally verified core components in Idris2.
Integrates Git as a core capability domain through formally verified cartridges, enabling AI agents to interact with repositories and manage source control via the server's unified 2D matrix architecture.
boj-server
BoJ (Bundle of Joy) is a unified MCP server that consolidates all hyperpolymath tooling into a single endpoint — GitHub, GitLab, Cloudflare, Vercel, Verpex, Gmail, Calendar, browser automation, research, ML, and 115 open-source cartridges.
Install
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:
# Preferred — Deno (no install step; fetches imports on first run)
deno run -A /path/to/boj-server/mcp-bridge/main.js
# Bun (also zero-install)
bun /path/to/boj-server/mcp-bridge/main.js
# Node — works, but Deno is the project's documented runtime
node /path/to/boj-server/mcp-bridge/main.jsThe bridge has zero runtime dependencies (see package.json) so no install step is ever required, regardless of runtime.
Most cartridges require the BoJ REST backend running on http://localhost:7700 — see Backend below.
Claude Code (CLI)
claude mcp add boj-server -- npx -y @hyperpolymath/boj-server@latestClaude Desktop
Edit claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"boj-server": {
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}Restart Claude Desktop after saving.
Gemini CLI
This repo ships a gemini-extension.json — install it directly:
gemini extensions install https://github.com/hyperpolymath/boj-serverOr add to ~/.gemini/settings.json:
{
"mcpServers": {
"boj-server": {
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}GitHub Copilot (VS Code)
VS Code 1.99+ supports MCP servers natively. Add to workspace .vscode/mcp.json:
{
"servers": {
"boj-server": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}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.
Cursor
Workspace: .cursor/mcp.json. User-global: ~/.cursor/mcp.json.
{
"mcpServers": {
"boj-server": {
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}Or use Settings → MCP → Add new MCP server.
Cline (VS Code extension)
Settings → Cline → MCP Servers → Edit MCP Settings:
{
"mcpServers": {
"boj-server": {
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}Windsurf (Codeium Cascade)
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"boj-server": {
"command": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}Continue.dev
In ~/.continue/config.yaml:
mcpServers:
- name: boj-server
command: npx
args: ["-y", "@hyperpolymath/boj-server@latest"]
env:
BOJ_URL: http://localhost:7700Zed
Settings (~/.config/zed/settings.json):
{
"context_servers": {
"boj-server": {
"command": {
"path": "npx",
"args": ["-y", "@hyperpolymath/boj-server@latest"],
"env": { "BOJ_URL": "http://localhost:7700" }
}
}
}
}Generic stdio (any MCP client)
The minimum spec is command: npx, args: ["-y", "@hyperpolymath/boj-server@latest"], transport stdio. Optional env: BOJ_URL (default http://localhost:7700).
This repo's .mcp.json is a working reference config.
Backend
Most cartridges (GitHub/GitLab/Cloud/ML/Browser/CodeSeeker/etc.) call the BoJ REST API. Two options:
Run BoJ locally — clone this repo and
just run(see QUICKSTART-USER.adoc). REST API on port 7700.Inspectable mode only — without the backend,
boj_health,boj_menu,boj_cartridges, andboj_cartridge_infostill 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.
Verify
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.
Glama listing: https://glama.ai/mcp/servers/hyperpolymath/boj-server
Related MCP server: OrigeneMCP
Scope
115 cartridges, organized across the domains below. Each cartridge is a formally verified Idris2 ABI + Zig FFI + Deno/JS adapter triple, reachable through a single MCP endpoint. Click any section to expand.
Cartridge | Description |
| GitHub REST API — repos, issues, PRs, search |
| GitLab REST API — projects, issues, MRs |
| GitHub Actions — workflows, runs, jobs, artifacts, secret rotation |
| Multi-forge git operations (GitHub, GitLab, Gitea, Bitbucket) |
Bridge-level tools: boj_github_* (14), boj_gitlab_* (8) — 22 explicit tools. Auth via GITHUB_TOKEN / GITLAB_TOKEN env vars.
Cartridge | Description |
| Multi-cloud session manager (AWS / GCP / Azure / DO / Vercel) |
| AWS gateway — session-based auth, per-region slots, throttle management |
| GCP gateway — project-scoped auth, quota tracking, multi-service routing |
| Cloudflare v4 — Workers, D1, KV, R2, DNS, zone settings, SSL/TLS |
| DigitalOcean — droplets, volumes, domains, SSH keys, snapshots, databases |
| Hetzner Cloud — servers, volumes, firewalls, networks, snapshots, floating IPs |
| Fly.io Machines v1 — apps, machines, volumes, secrets, regions, IPs, certs |
| Linode/Akamai — instances, volumes, domains, NodeBalancers, StackScripts |
| Railway GraphQL v2 — projects, services, deployments, env, domains, logs |
| Render REST v1 — services, deploys, env groups, custom domains, jobs |
Bridge-level tools: boj_cloud_cloudflare, boj_cloud_vercel, boj_cloud_verpex. Other providers reachable via boj_cartridge_invoke.
Cartridge | Description |
| Universal SQL/NoSQL gateway across multiple engines |
| PostgreSQL — full transaction support, connection pooling, query lifecycle |
| MongoDB — collection-level CRUD, aggregation pipelines, sessions |
| Redis — KV, sorted sets, pub/sub, streams, Lua scripting |
| Neo4j — graph database query and write |
| ClickHouse — columnar queries, bulk inserts, real-time analytics |
| DuckDB — in-process analytics over Parquet/CSV/JSON/Arrow |
| ArangoDB — AQL queries, multi-model documents, graph traversals |
| Turso libSQL — edge SQLite, multi-DB, embedded replica sync |
| Supabase — Postgres, Auth, Storage, Edge Functions |
| Neon — serverless Postgres, branch management, query execution |
| VeriSimDB — verified simulation database with formal drift detection |
Cartridge | Description |
| Build / create / start / stop / remove via Podman or Docker |
| Docker Hub — image search, repos, tag listing, manifests |
| Kubernetes — namespace-scoped CRUD with lifecycle management |
| Stapeln stack manager — Chainguard-base composable container layers |
| Vordr integrity monitor — BLAKE3 tamper-detection on container images |
Cartridge | Description |
| Buildkite — pipelines, builds, jobs, artifacts |
| CircleCI — pipelines, workflows, jobs, artifacts |
| Laminar — minimalist CI/CD pipeline management |
| Hypatia — neurosymbolic CI security/quality/compliance scanner |
| Unified observability — metrics, logs, traces |
| Grafana — dashboards, panel queries, alert rules, annotations |
| Prometheus — PromQL instant + range queries, alerts, targets |
| Sentry — issues, events, projects, releases, deployments |
Cartridge | Description |
| Gmail + Google Calendar — send, read, search, labels, events, free/busy |
| Slack — messages, channels, threads, search, users |
| Discord — messages, channel history, guilds, reactions |
| Telegram Bot API — messages, chats, inline queries, updates |
| Matrix — messages, room join/leave, history, membership |
| Unified notify — Email, SMS, WhatsApp, Slack, Telegram, Discord |
Bridge-level tools: boj_comms_gmail, boj_comms_calendar.
Cartridge | Description |
| Docs — document retrieval, content, search, headings, comments |
| Sheets — metadata, cell ranges, named ranges, sheet listing |
| Notion — pages, databases, blocks |
| Obsidian vault — note search, content, backlinks, tags, graph |
| Linear — issues, projects, cycles, labels |
| Jira — projects, issues, sprints, workflows |
| Todoist — tasks, projects, completion, labels |
| Airtable — bases, table schemas, record CRUD |
| Zotero — library search, items, collections, tags |
| Academic workflow — Zotero integration, citations, paper review |
Cartridge | Description |
| Hugging Face + others — search, model info, inference, spaces, datasets |
| Anthropic Messages API — Claude models, token counting, multi-turn |
| Specialized AI-agent management for dev teams |
| Task classifier — recommends opus/sonnet/haiku per task |
| LLM advisor for the ECHIDNA formal-verification engine |
| OODA-loop agent session enforcer |
| Multi-instance peer discovery + typed envelopes + supervision (21 tools) |
| Persistent local memory for Claude, Cursor, Codex (13 tools, no cloud) |
Bridge-level tool: boj_ml_huggingface. coord_* tools (21) wire through local-coord-mcp — see the dedicated section below.
Cartridge | Description |
| Firefox automation via Marionette — navigate, click, type, screenshot, exec JS |
| Native desktop windows — panel loading, JS bridge |
Bridge-level tools: boj_browser_* (7) — navigate, click, type, read_page, screenshot, tabs, execute_js.
Cartridge | Description |
| CodeSeeker — vector + BM25 + path-tier fused via RRF; KG traversal; Graph-RAG |
| Enterprise code intelligence — graph-based analysis for AI-assisted dev |
| Semantic Scholar / OpenAlex — papers, citations, references, authors |
| Public dataset access for LLM apps |
| Biomedical platform — 600+ tools/databases (ChEMBL, PubChem, FDA, OpenTargets) |
Bridge-level tools: boj_codeseeker, boj_research.
Cartridge | Description |
| Generic Language Server Protocol 3.17 gateway — spawn any LSP server |
| Generic Debug Adapter Protocol gateway |
| Generic Build Server Protocol 2.x gateway |
| Multi-language session manager — Eclexia, AffineScript, BetLang, Ephapax |
| Toolchain orchestrator — mint/provision/configure language toolchains |
| Cross-domain LSP router across all 12 poly-*-lsp servers |
| AffineScript — type check, parse, format, lint, compile, hover, definition |
| AffineScript → typed-wasm at Level 7/10 ownership soundness |
| npm — search, metadata, versions, downloads, dependency analysis |
| PyPI — Python packages, search, metadata, versions, downloads |
| crates.io — Rust crates, search, metadata, versions, downloads |
| Hackage — Haskell packages |
| Hex.pm — Elixir/Erlang packages |
| opam — OCaml packages |
Plus opsm-mcp (Odds-and-Sods Package Manager) routes search/install/dep-resolution across all of the above.
Cartridge | Description |
| Secrets management — Vault, SOPS, env-vault |
| Vault CLI credential broker — execute, list, verify, rotate |
| Sanctify — PHP lint + deviation detection |
| panic-attacker static analysis — dangerous patterns, banned constructs, drift |
| Vext — signed-message verification, attestation chains |
| Rokur — Svalinn secrets GUI authorisation layer |
| DNS security — DoQ, DoH, DNSSEC, CAA |
Cartridge | Description |
| Terraform / OpenTofu lifecycle — plan → apply → destroy with state lifecycle |
| Conflow — configuration management |
| Bofig — evidence graph query for investigative workflows |
| Proof verification — Lean, Coq, Agda, Isabelle, Idris2, Z3, more |
| Neural-symbolic harmonisation — symbolic truth overrides neural probability |
| Ephapax — proof-compiler query tools for formal verification |
| PMPL licence chain verification + artefact hashing |
Cartridge | Description |
| Self-health — status, ping, uptime |
| gitbot-fleet gate compliance tracker |
| Reposystem — managed repos, health, mirrors, RSR compliance |
| oo7 agent meta-language — parse/run/trace/build/test/lint |
| K9 contract regeneration (k9iser generate/validate/apply) |
| IDApTIK game server administration |
| Burble WebRTC server administration |
| Game server admin + configuration drift |
| Aerie environment lifecycle manager |
| DNS lookup cartridge |
| Fireflag — extension-to-MCP mapping and discovery |
| Type-theory learning system — classification + learner evaluation |
| CivicConnect community engagement platform |
Plus feedback-mcp (feedback collection + sentiment), ssg-mcp (Hugo/Zola/Astro/Casket), ums-mcp (Universal Map Specification level editor).
Bridge-level tools (41 exposed)
A subset of cartridges have explicit boj_<domain>_<verb> tools at the bridge for highest-frequency operations. Everything else is reachable via boj_cartridge_invoke:
5 core:
boj_health,boj_menu,boj_cartridges,boj_cartridge_info,boj_cartridge_invoke3 cloud:
boj_cloud_verpex,boj_cloud_cloudflare,boj_cloud_vercel2 comms:
boj_comms_gmail,boj_comms_calendar1 ML:
boj_ml_huggingface7 browser:
boj_browser_navigate,boj_browser_click,boj_browser_type,boj_browser_read_page,boj_browser_screenshot,boj_browser_tabs,boj_browser_execute_js14 GitHub + 8 GitLab
1 CodeSeeker, 1 research
21 coord (see below)
Set BOJ_TOOL_SCOPE=core to advertise only the discovery surface; explicit tools remain reachable via boj_cartridge_invoke regardless.
Local-coord-mcp at a glance
Localhost multi-agent bus on 127.0.0.1:7745. Lets multiple Claude / Gemini / Codex / Vibe sessions on the same machine discover each other, claim tasks without collision, and operate under a supervision model (master approves; journeyman executes; apprentice stays gated).
Highlights:
Peer registration with
client_kind,variant(model id —opus-4.7,flash-2.5,leanstral), capability class/tier/prover-strengths —coord_register,coord_set_variant,coord_set_capabilities,coord_get_peer_capabilities.Typed envelopes validated at the bridge via Nickel contracts (
coord-messages.ncl) —coord_send,coord_send_gated.Task claims with role-based watchdog TTL (apprentice 30s / journeyman 5m / master none), heartbeats via
coord_progress, auto-release + explicitcoord_sweep_watchdog.Track-record + reassignment —
coord_report_outcome,coord_get_affinities,coord_scan_suggestions(emitsoverclaimfyi +driftwarn envelopes on confidence/affinity divergence).Supervision —
coord_review,coord_approve,coord_reject,coord_promote_to_master,coord_transfer_master.Observability —
coord_healthsnapshot of peer/quarantine/claim/reject state.
Formally verified core in Idris2 (cartridges/local-coord-mcp/abi/LocalCoord/); Zig FFI; Deno/Node MCP bridge with input hardening (rate limiting, prompt-injection detection with unicode-normalisation, error sanitisation).
Glama AAA posture
This server targets Glama's AAA tier. Posture:
Inspectable —
.mcp.json+ rootpackage.jsonbinentry + shebang; offline manifest fallback so cloud inspection works without the REST backend (seemcp-bridge/lib/offline-menu.js).Tool Definition Quality — every tool carries purpose, usage guidance, behavioural transparency (side effects, returns, errors), and parameter semantics with enums, ranges, and patterns. A coherence test enforces a minimum description floor so the server-level score (60% mean + 40% min) cannot regress — see
mcp-bridge/tests/dispatch_test.js.Server Coherence — one tool ↔ one verb; consistent
boj_<domain>_<action>andcoord_<action>naming; the same test asserts the bridge tool list matches the cartridge manifest so nothing advertised is un-dispatched (or vice versa).Security — PR #27 hardening: rate limiting, size caps, prompt-injection detection with unicode-confusable normalisation, error sanitisation (strips paths, stack traces, env vars). SHA-pinned workflow actions.
Formal —
cartridges/local-coord-mcp/abi/LocalCoord/*.idrIdris2 ABI + proof obligations (P-01..P-07).
Run the coherence tests:
npm testCiting
If you use BoJ Server in academic work, citation metadata is in CITATION.cff. GitHub renders a "Cite this repository" button in the sidebar from this file.
Per-release DOIs are available via Zenodo. To enable them:
Log in to zenodo.org with your GitHub account.
Account → GitHub → flip the boj-server repository toggle to on.
Cut a new GitHub release; Zenodo auto-archives it and mints a DOI.
Add the DOI badge to this README:
[](https://doi.org/10.5281/zenodo.XXXXXXX)Update the
doi:field inCITATION.cffto match.
License
MPL-2.0 — see LICENSE.
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hyperpolymath/boj-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server