Bounded Tools MCP server
io.github.bounded-systems/bounded-tools-mcp·v0.1.0Read-only MCP server over bounded.tools's Sigstore-verified static API (stdio).
0 stars19 downloads/wk
Reviews
Write oneNobody has reviewed Bounded Tools yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Bounded Tools tools
No tool declarations could be read from the package source. They show once the server is installed.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan11 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 12 days ago15/15
- Maintainer identityregistry namespace matches repository owner7/10
How Bounded Tools compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 91/100
- higher than 85% of 48,255 servers
- Downloads a week
- 19
- more than 6% of 12,191 servers with a package
Install Bounded Tools in Claude Code, Cursor or VS Code
Runs npx -y @bounded-systems/bounded-tools-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add bounded-tools-mcp -- npx -y @bounded-systems/bounded-tools-mcp
What the publisher says
From the Bounded Tools repository's README, as published. We do not edit it. Read it on GitHub
@bounded-systems/bounded-tools-mcp
A local, read-only MCP server (and a matching CLI) over bounded.tools' signed static API.
It exposes the parts of the site that are served as verifiable, content-addressed JSON — the Web-Build Conformance report and the SPDX SBOM — to any MCP client (Claude Desktop, Claude Code, etc.), and verifies every response byte-for-byte against the site's Sigstore-signed sha256 manifest before handing it back. If the bytes a client would receive don't match the signed manifest, it refuses to return them.
It runs locally over stdio — the client spawns it as a subprocess. There is no hosted server and no network listener, which preserves the site's static / no-attack-surface posture.
A thin implementation of a generic core
This package is thin. All of the reusable machinery — the verifying fetch client, the sha256 manifest + Sigstore checks, and the VerbSpec → MCP (tools + resources) / VerbSpec → CLI projection — lives in @bounded-systems/static-mcp. bounded-tools-mcp supplies only:
get_sbom, each authored once as a @bounded-systems/verbspec VerbSpec;
- the verbs (src/verbs.ts) — get_conformance,
tools://… resources;
- the resource catalog (src/catalog.ts) — the
expected signer identity; and
- the config values (src/config.ts) — the origin and
hands the spec to the core.
- the entry (src/index.ts) — which picks a surface and
src/verbs.ts ─┐
src/catalog.ts ├─▶ buildToolsSpec(config) ─▶ @bounded-systems/static-mcp
src/config.ts ─┘ serveVerifiedStaticMcp(spec, config) (MCP, stdio)
runStaticCli(spec, config, argv) (CLI)Two surfaces, one definition. verbspec projects each verb to both an
MCP tool and a CLI subcommand. The exact same verb set backs the MCP tools and
the CLI commands — no second definition, no drift.
What's exposed (and what isn't)
bounded.tools is a static site whose verifiable surface is intentionally small. Only artifacts the site serves as signed, content-addressed JSON are exposed here — each is fetched and verified byte-for-byte against the signed manifest:
Honesty over surface area. The blog is covered by the signed manifest,
but it is served as HTML + Markdown, not as a JSON feed or per-post JSON
documents. The verified-static core fetches-and-JSON-parses each artifact, so
exposing the blog as a "tool" would mean fabricating a JSON shape the site does
not actually serve. It is therefore left out rather than faked. If bounded.tools
later publishes a signed posts.json (and per-post JSON), list_posts /
get_post verbs drop straight in, exactly as in
site-mcp.
Install / run
Requires Node ≥ 18.17. The verbspec dependency is published to JSR, so installs resolve it through JSR's npm bridge — the included .npmrc sets @jsr:registry=https://npm.jsr.io. (Consuming from a fresh environment, add that one line to your npm config.)
# MCP server over stdio (what an MCP client launches):
npx -y @bounded-systems/bounded-tools-mcp
# CLI — the SAME verbs, printing the verified JSON:
npx -y @bounded-systems/bounded-tools-mcp get_conformance
npx -y @bounded-systems/bounded-tools-mcp get_sbomShortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Bounded Tools: common questions
- Is Bounded Tools MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the Bounded Tools safety report
- How do I install Bounded Tools?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Bounded Tools need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is Bounded Tools maintained?
- The last commit was 51 days ago (2026-09-14). The latest release is v0.1.0.
- How does Bounded Tools compare with other MCP servers?
- safety score 91/100 (higher than 85% of 48,255 servers); downloads a week 19 (more than 6% of 12,191 servers with a package). Full comparison.