Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SHPBL: Repository Audit & Repair

REMOTE · SHPBL.COM · 2 COMPONENTS · SCANNED SEP 20

Audit and repair any public GitHub repo. Free survey; paid source, unified diffs and a pull request.

+4 this week 73 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability58
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 10269 tokens (~604/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management64
  • Stability check failed: schema churn in the 26 days we've observed: 1 tool removals, 4 breaking changes, 0 auth/transport breaks, 5 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the SHPBL: Repository Audit & Repair MCP server?

SHPBL: Repository Audit & Repair is a hosted endpoint at https://shpbl.com/api/public/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · shpbl.com

# add to Claude Code
claude mcp add --transport http com-shpbl-repository-audit-and-repair 'https://shpbl.com/api/public/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-shpbl-repository-audit-and-repair": {
      "url": "https://shpbl.com/api/public/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-shpbl-repository-audit-and-repair": {
      "type": "http",
      "url": "https://shpbl.com/api/public/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-shpbl-repository-audit-and-repair]
url = "https://shpbl.com/api/public/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-shpbl-repository-audit-and-repair": {
      "type": "remote",
      "url": "https://shpbl.com/api/public/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-shpbl-repository-audit-and-repair --url 'https://shpbl.com/api/public/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-shpbl-repository-audit-and-repair:
    url: "https://shpbl.com/api/public/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-shpbl-repository-audit-and-repair": {
      "Transport": "http",
      "Url": "https://shpbl.com/api/public/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-shpbl-repository-audit-and-repair -t streamable-http -u 'https://shpbl.com/api/public/mcp'
// mcp.json
{
  "mcpServers": {
    "com-shpbl-repository-audit-and-repair": {
      "type": "http",
      "url": "https://shpbl.com/api/public/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 64.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 54 to 57.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 44.

  • 12 Sept 26 +44
    • Stability: unverified → fail security
    • Injection markers: unverified → pass security
    • Transport: fail → pass security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 16 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Tool “compose_capability” rewrote its description, which is the text the model reads security
    • Endpoint reachability: not serving MCP → reachable functional
    • Tool coverage: unverified → 100 functional
    • MCP protocol: unverified → pass functional
    • Server version: 1.47.0 → 1.47.1 functional
    • “compose_capability” reworded the description of “grants” cosmetic
    • “compose_capability” reworded the description of “per_affordance” cosmetic
    • “harvest_repo” reworded the description of “per_affordance” cosmetic
    • “harvest_repo” reworded the description of “suppress_duplicates” cosmetic
  • 10 Sept 26 −42
    • Endpoint reachability: reachable → not serving MCP security
    • Tool safety: pass → unverified security
    • Stability: fail → unverified security
    • Transport: pass → fail security
    • Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
    • Tool coverage: 100 → unverified functional
    • Capabilities: pass → unverified functional
    • First check of Schema quality: unverified functional
  • 9 Sept 26 0
    • Tool “build_intent” rewrote its description, which is the text the model reads security
    • Server version: 1.45.0 → 1.47.0 functional
    • “harvest_repo” added an optional parameter “carry_notice_files” cosmetic
    • “harvest_repo” added an optional parameter “novelty_threshold” cosmetic
    • “harvest_repo” added an optional parameter “quality_floor” cosmetic
    • “harvest_repo” added an optional parameter “reuse_obligations” cosmetic
    • “harvest_repo” added an optional parameter “reuse_permitted” cosmetic
    • “harvest_repo” added an optional parameter “suppress_duplicates” cosmetic
    • “harvest_repo” added an optional parameter “upstream_project” cosmetic
    • “harvest_repo” reworded the description of “grants” cosmetic
  • 8 Sept 26 0
    • Tool “library_search” rewrote its description, which is the text the model reads security
    • Tool “selfcheck_mcp” rewrote its description, which is the text the model reads security
    • Tool “harvest_repo” rewrote its description, which is the text the model reads security
    • Server version: 1.41.0 → 1.45.0 functional
    • “harvest_repo” added an optional parameter “approve” cosmetic
    • “harvest_repo” added an optional parameter “approved_by” cosmetic
    • “harvest_repo” added an optional parameter “cml_license” cosmetic
    • “harvest_repo” added an optional parameter “decline” cosmetic
    • “harvest_repo” added an optional parameter “governor_key” cosmetic
    • “harvest_repo” added an optional parameter “grants” cosmetic
    • “harvest_repo” added an optional parameter “host_license” cosmetic
    • “harvest_repo” added an optional parameter “mode” cosmetic
    • “harvest_repo” added an optional parameter “pages” cosmetic
    • “harvest_repo” added an optional parameter “per_affordance” cosmetic
    • “library_search” reworded the description of “scope” cosmetic
    • “harvest_repo” reworded the description of “brief” cosmetic
    • “harvest_repo” reworded the description of “part” cosmetic
    • Tool “harvest_repo” changed its title: Harvest a repository → Harvest capability out of a repository cosmetic
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://shpbl.com/api/public/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=shpbl.com CN=WE1,O=Google Trust Services,C=US 29 Jul 2026 27 Oct 2026 ECDSA 256 ECDSA-SHA256 e92b78cf4c89f2d90e377315f6f91781
SANs: shpbl.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of shpbl.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
shpbl.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy frame-ancestors 'self' https://*.lovable.app https://*.lovable.dev
x-content-type-options nosniff
referrer-policy strict-origin-when-cross-origin
permissions-policy geolocation=(), camera=(), microphone=(), usb=(), payment=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://shpbl.com/api/public/mcp Verified 200
http (plaintext) http://shpbl.com/api/public/mcp HTTPS enforced 301 https://shpbl.com/api/public/mcp
MCP tools · 17 exposed · ~8,234 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
build_intent ~820

The gate between discovery and creation, and the human checkpoint in front of it. Register one Build Intent — what you found in the host, what SHPBL already possesses, what new software becomes possible, why neither parent does it alone, and the tests that would prove it — and this returns the mechanical verdict: the invariants it passed, whether it rests on SHPBL's licensed reusable capability, whether this caller may execute the foundry, the terminal state to report, and where an authorised artifact may come to rest. THE CHECKPOINT BLOCKS: without `human_decision` carrying an attributed decision from the person, this returns the proposal in the words to say to them and nothing else — no verdict, no read, no record — and you end your turn and wait. No answer yet is NOT_YET_ASKED, never DECLINED. A decision attributed to you, to a model, to a policy or to a default is refused where the server can recognise it as such; any other name is recorded and attributed, not verified, and the authorization says which — `account` when the name matches the key's account holder, `attested` otherwise. DECLINED and NEEDS_EXPLANATION are successful outcomes: record them, build the approved siblings, and do not report a declined proposal as a failed step. Free to call at every level. Every COMPOSE, SPECIALIZE and CREATE must pass through this before any source is written; never assume authority and never write a refused artifact yourself.

NameTypeReqDescription
cml_licensestringThe licence key from a purchased Complete Master Library. Perpetual rights to that release count as execution authority on their own — no subscription needed.
github_tokenstringOptional GitHub token (Contents: read) so the gate can read the host tree and prove the cited paths exist. Not needed if you pass `host_source_manifest`.
governor_keystringGovernor authority. Only a Governor-resolved call may stage an artifact for SHPBL's global corpus.
host_source_manifestThe `HOST-SOURCE-MANIFEST.json` from `pin_source` or `tools/source-manifest.mjs`, as JSON text or an object. Offline runs must send this: the gate recomputes its digest and resolves every cited path…
human_decisionobjectThe person's decision on this proposal. Step 9 is a blocking checkpoint: without an attributed human decision this tool returns the words to say and nothing else, and you end your turn there. Do not…
intentobjectyesThe Build Intent record; every field it asks for is part of the evidence, and each field carries its own description in this schema. Required: `build_intent_id`, `proposed_artifact_id`, `proposed_nam…
keystringYour SHPBL Practitioner key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` header.

No output schema declared.

No examples provided.

compose_capability ~346

The harvest lane: read what a repository can already do, then offer codeless capability nominations that fuse those affordances with owned SHPBL primitive capabilities — DREAM, EVOLUTION, MEMORY, DEFENSE, BRAIN and the rest of the canonical forty, plus the S-Tier artifacts. Each nomination names host evidence, proposed capability bodies, Capability Contract slots, a test plan, and honest limits. It contains no implementation; approved materialization belongs to `harvest_repo`. Free calls return host affordances, then stop before library correlation; nominations require a Practitioner key (7-day free trial).

NameTypeReqDescription
github_tokenstringOptional GitHub token (Contents: read) for a private repository.
grantsnumberHow many codeless capability nominations to return, 1 to 200. Ranked by measured fit and capability standing.
includestringOptional path filter — only paths containing this text are read for affordances.
keystringYour SHPBL Practitioner subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
pagesnumberHow many source pages to read for affordance evidence, 1 to 12 (about 90,000 characters each). More pages means more of the tree is read; the grants are cut from whatever was read.
per_affordancenumberHow many nominations one affordance may produce, 1 to 200. Raise it to see alternative leads for the same host capability.
repostringyesA GitHub repository: `owner/repo` or a URL.

No output schema declared.

No examples provided.

evaluate_repo ~638

Audit any GitHub repository and get back one complete result: a report (inventory, languages, spine files, risk signals), the capabilities found in it (name, signature, file and line, stated contract, dependencies), and how it stands against SHPBL's anonymous corpus of audited repositories. Works with no key: every caller gets the whole diagnosis of their own repository. A free run stops at the composition boundary — neither library is searched, so no library rows, candidates, parents or proposed architecture are returned — and nothing is retained (no pull request, no export, no recorded run). A Practitioner key (7-day free trial) continues past that boundary: both libraries searched, candidates identified and composed, and the result written back to your own repository. Whatever a run finds is yours. Follow with `fix_repo` for verbatim source and diffs, `harvest_repo` for the whole tree.

NameTypeReqDescription
as_freebooleanRun at the free depth even when the key carries a paid tier, so you can see exactly what a caller without a subscription is handed. Costs no allowance and changes nothing else about the audit.
briefbooleanDefault true: keep the audit compact and do not include the full method protocol. Set false to include the protocol block.
github_tokenstringOptional GitHub token (Contents: read) for a private repository. Not needed if the owner connected the SHPBL GitHub App to this key at https://shpbl.com/mcp-access.
keystringYour SHPBL key (shpbl_mcp_…), if you have one. Optional — without it the audit runs at the free depth. Also read from the `Authorization: Bearer …` header.
own_libraryarrayYour own previously harvested capabilities, read out of your repository's `.shpbl/` library and passed back in. Optional. When present, this run checks your concerns against your own library first an…
protocol_ackbooleanSet true to say you already hold the SHPBL protocol. The discipline, the ten meta capabilities, the hands-off list and the return shape are then not reprinted even when `brief: false` — they are unch…
repostringyesA GitHub repository: `owner/repo`, a github.com URL, or `owner/repo#branch`.
sectionsarrayWhich sections to print, when you only need some of them. Omit it and the whole audit comes back, which is the right default on a first call. On a follow-up — re-reading the capability list after a r…

No output schema declared.

No examples provided.

fix_repo ~487

The repair: verbatim source of the files you name — or the repository's spine when you name none — paginated for your context window, with the remediation protocol your model writes the diffs against. Free to run with no key: every file you name, paginated, plus the ordered remediation protocol — repair of what is already there. A free repair stops before either library is searched, so it proposes no composed capability, no candidates and no reuse. A Practitioner key (7-day free trial) crosses that boundary and makes the repair persist — `write_to_repo` opens the branch and the pull request.

NameTypeReqDescription
briefbooleanSkip the remediation protocol preamble and return source with a one-line reminder instead. Use it once you already hold the method — `method_protocol` (free) returns it whenever you need it again.
github_tokenstringOptional GitHub token (Contents: read) for a private repository. Not needed if the SHPBL GitHub App is connected to this key.
keystringYour SHPBL key (shpbl_mcp_…), if you have one. Optional — without it the repair returns one file at the free depth. Also read from the `Authorization: Bearer …` header.
own_libraryarrayYour own previously harvested capabilities, read out of your repository's `.shpbl/` library and passed back in. Optional. When present, this run checks your concerns against your own library first an…
partintegerWhich page of source to return. Page 1 reports the total and carries the protocol.
pathsarrayPaths to read, from the evaluation. Omit to read the repository's spine.
protocol_ackbooleanSet true to say you already hold the SHPBL protocol — the discipline, the ten meta capabilities, the hands-off list and the return shape are then not reprinted on page 1. Same effect as `brief` for t…
repostringyesA GitHub repository: `owner/repo` or a URL.

No output schema declared.

No examples provided.

harvest_repo ~1,345

The harvest shortcut: point it at a repository you hold a licence to reuse — one you do not own and will never open a pull request against — and it goes straight to the capabilities. It reads what that repository can already do, fuses those affordances with the owned SHPBL capability library, ranks and names the results as proposals a person can read, stops for your decision on each one, and then emits the seed modules for exactly the ones you approved into your own `.shpbl/` library. That is the gauntlet's steps 8, 9 and 10 without the audit, the repair plan or the pull request. It never writes to the target repository. Pass `approve` with `approved_by` and `host_license` to collect the approved grants; pass `mode: "walk"` for the older batched ledger walk of the whole tree (`estimate`, `part`, `ledger_digest`, `budget` belong to that mode). Free calls report what the repository can do and what is offerable against it, then stop at the composition boundary; grants need a Practitioner key (7-day free trial).

NameTypeReqDescription
approvearrayHarvest mode: the grant ids the person approved. Only these are emitted. Omit it on the first call — the proposals have to be put to them first. An id nobody proposed refuses the whole set rather tha…
approved_bystringThe name of the person who approved them. Required with `approve`. An agent, a model, a vendor, a policy or a default is refused, not recorded.
briefbooleanWalk mode only: skip the harvest protocol preamble on batch 1 and spend the payload on source. Use it once you already hold the method — `method_protocol` (free) returns it verbatim.
budgetnumberCharacters per batch — a whole number from 10,000 to 120,000. Defaults to 90000; lower it for a smaller context window, raise it only if the client can carry it. Out-of-range values are refused in pl…
carry_notice_filesarrayLicence or notice files from the host that must be copied into the artifact. Detected candidates are reported to you if you omit this.
cml_licensestringYour perpetual copy's licence key, if you hold one. It changes retention, never depth.
declinearrayHarvest mode: the grant ids the person explicitly said no to. Only these are recorded as declined; anything they were not asked about stays open and is re-offered, never written down as a refusal.
estimatebooleanReturn the size of the walk only — batch count, total characters, largest batch, split files — with no source.
github_tokenstringOptional GitHub token (Contents: read) for a private repository. Not needed if the SHPBL GitHub App is connected to this key.
governor_keystringOperator passphrase for SHPBL's own copy. Resolved by the server; it changes only where the harvest is staged, never what is proposed.
grantsnumberHarvest mode: how many capability proposals to rank, 1 to 200. There is no fixed shallow ceiling any more — a sophisticated repository can support far more than a couple of dozen higher-order composi…
host_licensestringWhat the target repository's licence permits for this reuse, and any obligation it attaches — for example `MIT, attribution required`. Required with `approve`; SHPBL records your declaration and does…
includestringOptional path filter — only paths containing this text are harvested.
keystringYour SHPBL Practitioner subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
ledger_digeststringThe ledger folded so far, handed back by a previous session so this batch continues the same run instead of starting over.
modestring`harvest` (the default when nothing else in the call implies a walk) is the shortcut: proposals, your decision, then the seed modules for what you approved. `walk` is the older batched ledger walk of…
novelty_thresholdnumberHarvest mode: how different a proposal must be from the higher-ranked ones already chosen, 0 to 1, measured on bound capabilities and title vocabulary. 0 suppresses only exact duplicates; 0.4 is firm…
pagesnumberHarvest mode: how many source pages to read for evidence, 1 to 12 (about 90,000 characters each). Proposals are cut only from what was actually read.
partnumberWalk mode only: which batch to return, 1 to 2000. Batch 1 carries the protocol and the manifest; walk them all in order.
per_affordancenumberHarvest mode: how many proposals one host affordance may produce, 1 to 200.
quality_floornumberHarvest mode: drop proposals scoring below this, 0 to 1. The score is a discovery aid for ordering what to read first — it is never evidence that a capability deserves to exist.
repostringyesA GitHub repository: `owner/repo` or a URL.
reuse_obligationsarrayThe obligations the licence attaches that must be preserved in the artifact — attribution, notice retention, share-alike, and so on. Recorded against every emitted artifact and carried into its manif…
reuse_permittedbooleanRequired with `approve`: the person's explicit statement that reuse of this upstream project is permitted for this composition. Absence is never a yes, and SHPBL does not infer permission from a dete…
suppress_duplicatesbooleanHarvest mode: drop proposals whose proposed composition is identical to a higher-ranked one. Default true.
upstream_projectstringThe upstream project the reuse is declared against. Defaults to the repository being harvested.

No output schema declared.

No examples provided.

library_document ~211

Read one long SHPBL document, paged for a context window: `volume` (the complete text of a volume of The Strategic Master Library), `catalog_outline` (the Collective catalog's parts, component classes, agent-kit steps and verification axes), `report_template` (the branded audit report HTML to fill in), or `standing_order` (the prompt that governs a run). Requires a Practitioner key.

NameTypeReqDescription
documentstringyesWhich document to read.
keystringYour SHPBL subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
partnumber1-based page of the document, up to 60.
sectionstringFor `document: catalog_outline` — only parts or sections whose name contains this text.
volumestringRequired for `document: volume` — the volume slug or its number, 1 through 7.

No output schema declared.

No examples provided.

library_index ~245

Everything published on shpbl.com in one read: the editions and their prices and licences, the seven volumes of The Strategic Master Library with their seals and read links, the public downloads with byte sizes, and the case studies of real audit runs with each verdict, and `pools` — the canonical reconciliation of every count this server quotes, so two totals are never mistaken for a contradiction and never added together. Scope it with `sections`, or pass `volume` (slug or 1-7) or `case_study` (slug) for one record in full. Free — no key, no allowance.

NameTypeReqDescription
case_studystringOne case study in full, by slug — what the run got right and what it learned.
sectionsarrayWhich sections to return. Omit for all of them: facts, volumes, editions, downloads, case_studies, pools. `pools` is the canonical reconciliation of every count this server quotes — read it before co…
volumestringOne volume in full, by slug or by number 1-7. Its complete text is a `library_document` call.

No output schema declared.

No examples provided.

library_search ~544

Search the Collective Master Library for a capability in plain words, before writing new code. `scope: "catalog"` (Practitioner) searches the engineered components — class, what each does, API surface, line counts, verification marks. `scope: "composites"` searches capabilities earlier runs invented for one host by fusing library parts, each citing its sealed report. Pass `ids` for whole rows by component ID, with siblings and declared twins. Multi-word queries match term by term and rank; with no exact hit you get the closest rows, labelled as such.

NameTypeReqDescription
certified_onlybooleanCrown jewels only: return only rows whose body the certification harness executed and read clean (CERTIFIED or PROVISIONAL). This withholds the INCONCLUSIVE rows — bodies the harness could not exerci…
component_classstringCatalog only: restrict to one component class, e.g. `CrownJewel/S-Tier`, `Block/Engine`. Substring match.
idsarrayUp to 20 component IDs (e.g. `STIER-S-84`, `BLD-ENG-303`) returned in full instead of a search.
include_siblingsbooleanWith `ids`: also list up to 12 other component IDs in the same class, for comparison.
keystringYour SHPBL subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
limitnumberAlias for `page_size`, 1 to 50. Given both, `page_size` wins.
packstringVault only: restrict to one vertical pack, e.g. `fintech-v1`. Substring match.
pagenumber1-based page of results. A page past the end is refused, never returned empty.
page_sizenumberRows per page, 1 to 50. Defaults to 20.
querystringPlain-words capability, name, ID or API symbol. Omit to page the whole pool.
scopestring`catalog` — engineered components (Practitioner). `crown-jewels` — the S-Tier Vault of standalone lab-curated artifacts. `composites` — capabilities past runs invented for one host. (`vault` is no lo…

No output schema declared.

No examples provided.

list_repos ~309

Lists real repository names so a run never starts on a guessed one, and answers whether a repository can be written to. Pass `github_token` to see everything that token can see, or `owner` to list a public account's repositories; with neither, it lists the repositories the SHPBL GitHub App is installed on for this key — the same ones a pull request can be opened on. Pass `repo: "owner/name"` to ask about one target instead of reading the whole list. Free — costs no allowance.

NameTypeReqDescription
github_tokenstringA GitHub token (PAT or fine-grained) to list with. Never stored, never logged — used for this call only.
keystringYour SHPBL key (shpbl_mcp_…), only needed to list App-connected repositories. Optional if sent as the Authorization header.
limitintegerHow many repositories to return (default 30, max 100).
ownerstringA GitHub user or organisation to list the public repositories of, when no token is available.
pageintegerWhich page of the connected-repository list to return, 1-based. Use this rather than a higher `limit` past 100; the response names the next page when there is one.
repostringAsk about one target, `owner/repo`: whether this key may open a pull request on it. Call this before offering to write.

No output schema declared.

No examples provided.

method_protocol ~100

Return the SHPBL disciplines verbatim — evaluation, remediation and harvest — plus the component classes' verification axes and the reporting style. Free and unmetered. Fetch it once, then call `fix_repo` or `harvest_repo` with `brief: true` so their payload is source rather than repeated instructions.

NameTypeReqDescription
stagestringOne stage only: `evaluate`, `fix` or `harvest`. Omit for all three.

No output schema declared.

No examples provided.

pin_source ~275

Build `HOST-SOURCE-MANIFEST.json` for canonical step 1 from a GitHub repository, online, with no clone and no download: every file's Git blob identity, the byte length, the head commit, and the `SHPBL-SOURCE-DIGEST/1` digest over the pinned tree. Write the returned JSON to your run folder as `HOST-SOURCE-MANIFEST.json` and step 1 passes the gate. Free and unmetered. If the run is offline instead, do not call this — run `node tools/source-manifest.mjs <repo-dir|repo.zip>` from the edition, which produces the same manifest from a directory or straight out of the repository ZIP. Never invent the digest or the commit.

NameTypeReqDescription
github_tokenstringOptional GitHub token (Contents: read) for a private repository.
keystringYour SHPBL key, if you have one. Optional — this tool is free; a key only helps reach a private repository through a connected GitHub App install.
labelstringWhat to call the target in the manifest. Defaults to `owner/repo@branch`.
repostringyesA GitHub repository: `owner/repo`, a github.com URL, or `owner/repo#branch`.

No output schema declared.

No examples provided.

run_contract ~349

Read the canonical twelve-step run contract, or check a run bundle against it. Call it with no `files` to get the contract itself: every step's id, the artifacts it must produce, the exact condition that closes it, the terminal word to report when it does not, the instruction-precedence order, the retention rule and the two legal ends of step 12. Call it with `files` — a map of run-folder paths to their text — to get the machine verdict: which step blocked, which predicate refused and why. This is the identical implementation the offline `tools/run-gate.mjs` in every edition is bundled from, so the two cannot disagree about whether a bundle satisfies the contract. What they do not share is evidence: the offline gate checks the bundle you hand it, while a connected run can also confirm against the real repository tree that the files cited exist and say what the bundle claims. Same rules, one with a witness. Free, unmetered, read-only, stateless. Never infer a step, reorder one, or declare a run finished on your own reading — run the gate and report its word.

NameTypeReqDescription
filesobjectThe run bundle as `path: text`, relative to the run folder (for example `STEP-LEDGER.json`). Send the canonical outputs you have; the gate says what is missing. Bounded: at most 400 entries and 8 MB…
through_stepintegerEvaluate gates through this step only. Defaults to 12.

No output schema declared.

No examples provided.

run_gauntlet ~1,128

One runner for an entire SHPBL repository audit and repair: survey, opening library comparison, evaluation, repair, the batched harvest, closing library comparison, the branded HTML report, and the write-back path. STRICT SEQUENCE: call it once with no `step` for the run card, then `step: 1`, `step: 2`, one step per turn, in order. Do the returned step, report one line to the person, then call the next. Never call two steps in one turn, never attempt the whole run at once, and never infer a finding you were not handed. From `step: 2` on you must pass `ledger_digest`; every 3 steps (adjustable with `checkpoint_interval`, max 10, only when the person asks for fewer pauses) the run pauses and you must ask the person before continuing, then pass `continue_ack: "continue"`. The final step hands over the report template and the write-back path. Your own model does all reading and writing. This full conductor requires a Practitioner key (7-day free trial). The free lane provides repository evaluation, not a partial or full gauntlet.

NameTypeReqDescription
budgetnumberCharacters per harvest step — a whole number from 10,000 to 120,000. Defaults to a moderate 45,000 so each step stays readable and cheap; raise it toward 90,000 only if the person asks for fewer, hea…
checkpoint_intervalnumberHow many harvest steps between check-ins with the person. Defaults to 3; raise it (up to 10) only when the person has asked for fewer pauses. Never set it silently — the check-ins are how the person…
continue_ackstringThe person's approval to continue past a checkpoint. Every 3 harvest steps this run pauses: report to the person, ask whether to continue, and only when they say yes call the next step with `continue…
fold_tokenstringThe `fold_token` returned by the previous step, passed back verbatim. Required from `step: 2` onward: it is signed by this server and carries the previous step's number and the hash of the ledger you…
github_tokenstringOptional GitHub token (Contents: read) for a private repository. Not needed if the SHPBL GitHub App is connected to this key.
includestringOptional path filter — only paths containing this text are in scope for the whole run.
keystringYour SHPBL Practitioner subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
ledger_digeststringThe ledger folded so far, one line per capability, **each line carrying the file path it came from** (for example `src/lib/queue.ts — retry with backoff`). Required from `step: 2` onward — it is the…
own_libraryarrayYour own previously harvested capabilities, read out of your repository's `.shpbl/` library and passed back in. Optional. When present, this run checks your concerns against your own library first an…
personalitystringHow the person wants to be spoken to for this run: technical, professional, friendly, light, coach, deadpan. Ask them once before step 0 and pass what they choose; it rides the run and changes wordin…
protocol_ackbooleanSet true to say this session already holds the SHPBL protocol. The discipline, the ten meta capabilities, the hands-off list and the return shapes are then not printed on step 0 or step 1 — they are…
repostringyesA GitHub repository: `owner/repo`, a URL, or `owner/repo#branch`.
stepnumber0 to 2000. 0 (default) returns the run card and the plan with no source. 1…N walk the harvest batches, one per turn and in order. N+1 closes the run with the report template and the write-back path.…

No output schema declared.

No examples provided.

selfcheck_mcp ~134

Runs SHPBL's own audit against the running server and returns one pass/fail/unavailable line per verification axis: the registered tool surface against the priced tier table, version agreement across the published files, subscription-register reachability, catalog reachability, repository-write authority, and billing wiring. Free, unmetered, read-only — nothing is written and no model is called. Use it to prove the server is live and consistent before starting a run, or when a tool answered in a way that looks wrong.

NameTypeReqDescription
verbosebooleanInclude the full tool-to-tier table and the axis definitions in the answer.

No output schema declared.

No examples provided.

subscription_status ~91

Report the tiers of this MCP server and — from the `key` argument or the same `Authorization` header the gated tools read — that key's tier, status and month-to-date usage. This is the authoritative answer to "am I connected, and what do I have".

NameTypeReqDescription
keystringOptional SHPBL subscription key. Omit it if your client sends the key as a request header.

No output schema declared.

No examples provided.

welcome ~113

Call this first, once, when a person connects. Returns the welcome, the full tool menu with one line per tool, the exact sentences a person can say to start a run, the support address, and the link to the user's manual. Free, unmetered, no key. Read it to the person in your own words — warmly and briefly — then ask what they would like to point it at.

NameTypeReqDescription
namestringThe person's first name, if you know it, so the greeting can use it.

No output schema declared.

No examples provided.

write_to_repo ~1,099

Land finished work in a repository as a pull request: pass the files you wrote (full new contents, not diffs) and this opens a branch and a PR for the human to review and merge. Nothing is ever pushed to the default branch. Requires a SHPBL Practitioner key and the SHPBL GitHub App installed on that repository (or a one-off `github_token`). The caller chooses the repository — ask which one, or call `list_repos` first; never assume. Where things go: Harvest output belongs under `.shpbl/` in **the caller's own repository** — the person who asked for the run — and never in the repository that was harvested. Those are frequently not the same repository: a run may read a public open-source project, or a repository the caller merely has access to, and writing a harvest back into a source repository would be putting our output into somebody else's software. Sources a run may read: public repositories that carry a proper open-source license, the caller's own repositories, or private repositories the caller has access to. The server never reads a repository the caller has no right to read, and it never absorbs customer harvests back into the public library. - `.shpbl/README.md` — the index of their capability library (this tool scaffolds it when it is absent). - `.shpbl/<run-seal>/LEDGER.md` — the folded ledger for one run. - `.shpbl/<run-seal>/REPORT.html` — the branded report, if one was produced. - `.shpbl/<capability-name>/` — a capability kept as source, one folder each. - `.shpbl/COMPOSITES.md` — your own composites: capabilities this run invented for your repository by fusing parts that did nothing alone. Record each as `- <name> — <what it fuses> — <why neither part sufficed>`. These are yours and stay private; SHPBL's global composites ledger is fed only by Governor-keyed published runs, so never send yours anywhere and never expect them to appear there. If the harvested repository is not the caller's own, the harvest still lands in the caller's `.shpbl/` and the s…

NameTypeReqDescription
base_refstringBranch to open against. Defaults to the repository's default branch.
branchstringBranch to write on. Defaults to one derived from `run_id`, or `shpbl/<date>-<n>`; reusing a name appends to that PR.
build_authorizationarrayThe signed build authorizations `build_intent` returned, one per artifact this pull request lands. Required when `kind` is `foundry`: the server verifies each against its own Build Intent ledger and…
filesarrayyesComplete file contents to commit. For a repair, the whole fixed file — not a diff.
github_tokenstringOne-off GitHub token with Contents and Pull requests write. Used for this call only and never stored. Omit it if the SHPBL GitHub App is installed.
keystringYour SHPBL subscription key (shpbl_mcp_…). Optional if your client sends it as the `Authorization: Bearer …` request header.
kindstringWhat this pull request lands. `harvest` means kept capabilities and a ledger: write them under `.shpbl/` and this scaffolds `.shpbl/README.md` as the index of their own capability library when it is…
repostringyesThe GitHub repository to write to: `owner/repo` or a URL.
run_idstringA stable id for this piece of work (a harvest run seal, a repair order id). Retrying with the same run_id lands on the same branch and updates the same pull request instead of opening a second one. P…
summarystringyesPull request body: the repair order, or the run seal and coverage of a harvest. Markdown.
titlestringyesPull request title — say what the change does.

No output schema declared.

No examples provided.

Common questions

What is the SHPBL: Repository Audit & Repair MCP server?

SHPBL: Repository Audit & Repair is an MCP server listed in the public MCP registry as com.shpbl/repository-audit-and-repair. Audit and repair any public GitHub repo. Free survey; paid source, unified diffs and a pull request. This page covers its hosted endpoint (https://shpbl.com/api/public/mcp).

Is the SHPBL: Repository Audit & Repair MCP server safe to use?

SHPBL: Repository Audit & Repair scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SHPBL: Repository Audit & Repair MCP server expose?

SHPBL: Repository Audit & Repair exposes 17 tools: welcome, list_repos, method_protocol, run_contract, pin_source, and 12 more. Their descriptions and schemas cost roughly 8,234 tokens of context every time the server is loaded.

Does the SHPBL: Repository Audit & Repair MCP server require authentication?

No. We connected to SHPBL: Repository Audit & Repair without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the SHPBL: Repository Audit & Repair MCP server still maintained?

SHPBL: Repository Audit & Repair is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.