One registry. Every tool.
The metadata-only single source of truth for all MCP Tool Shop tools. Schema-validated on every commit. Opinionated bundles built by rules, not manual curation. Pre-built search index ships inside the package. Pin a version — get deterministic metadata every time.
Install
npm install @mcptoolshop/mcp-tool-registry
# Import the full registry
import registry from "@mcptoolshop/mcp-tool-registry/registry.json"
with { type: "json" }
console.log(`${registry.tools.length} tools registered`)
Import a bundle
// Available bundles: core, agents, ops, evaluation
import coreBundle from "@mcptoolshop/mcp-tool-registry/bundles/core.json"
with { type: "json" }
import agents from "@mcptoolshop/mcp-tool-registry/bundles/agents.json"
with { type: "json" }
Search index
// Pre-built index — no runtime computation
import toolIndex from
"@mcptoolshop/mcp-tool-registry/dist/registry.index.json"
with { type: "json" }
// Filter by keyword
const hits = toolIndex.filter(
t => t.keywords.includes("accessibility")
)
Built for reliability
Data-only. Schema-validated. Reproducible.
Metadata-only
Zero executable code. Just JSON metadata describing every tool in the ecosystem — IDs, descriptions, install URLs, tags, capabilities, and verification status. Safe to import anywhere.
Schema-validated on every commit
Every tool entry is validated against a JSON Schema in CI. Required fields, ID format, description quality, HTTPS URLs, and policy rules are all checked before merge.
Least privilege by default
Tools default to zero capabilities. Side-effects are opt-in and must be declared explicitly in the schema. Deprecated tools are automatically excluded from all bundles.
Opinionated bundles
Membership is determined by declarative rules — not manual curation.
Get started
Full registry
import registry from
"@mcptoolshop/mcp-tool-registry/registry.json"
with { type: "json" }
console.log(`${registry.tools.length} tools`)
console.log(registry.tools[0].id) Bundle import
// Install a curated subset
import core from
"@mcptoolshop/mcp-tool-registry/bundles/core.json"
with { type: "json" }
// core, agents, ops, evaluation
console.log(core.tools.map(t => t.id)) Derived artifacts
// LLM-native context file
import llmContext from
"@mcptoolshop/mcp-tool-registry/dist/registry.llms.txt"
// Build metadata + registry hash
import meta from
"@mcptoolshop/mcp-tool-registry/dist/derived.meta.json"
with { type: "json" } Submit a tool
# 1. Read the registry guidelines
# docs/registry-guidelines.md
# 2. Add entry to registry.json
# (keep tools array sorted by id)
# 3. Validate
npm run validate
npm run policy
# 4. Open a Pull Request Designed for trust
Pin a version. Get deterministic metadata. Every time.
Reproducible
Pin a registry version in your workspace and get identical metadata on every install. The registry hash in `dist/derived.meta.json` lets you verify the exact state of any pinned version.
Fast discovery
A pre-built search index with keywords and facets ships inside the npm package — no server required. Filter by tag, capability, bundle membership, or verification status at zero runtime cost.
SemVer v1 stable
The v1 contract is frozen. New optional fields may appear in minor versions; no existing required fields will change within a major version. mcpt CLI v0.2.0+ supports v1 artifacts.