Skip to main content
Glama

customclaw-mcp

npm version npm downloads License: MIT MCP

Install, don't regenerate. MCP server for the CustomClaw registry β€” 37 vetted single-file utilities for LLM and agent code (rate limiters that respect Retry-After, JSON repair, response caches, retry with backoff, token counters, PII scrubbers). Your agent gets four native tool calls instead of 120 lines of plausible-looking new code.

πŸ“– Background: The utility-amnesia problem β€” why your coding agent rewrote the same rate limiter 47 times.

30-second install

npx -y customclaw-mcp

Drop that command into your MCP client's config (snippets below) and you're done. Free tools install with no auth.

What it does

Plugs the CustomClaw catalog (37 utilities, 32 free) into any Model Context Protocol host β€” Claude Desktop, Claude Code, Cursor, Windsurf, anything that speaks MCP β€” as four tools:

Tool

Arguments

Purpose

list_utilities

β€”

Full catalog (cached 5 min)

search_utilities

query: string

Fuzzy match on slug/name/description

get_utility_info

slug: string

Full detail for one utility

install_utility

slug, target_dir, session_id?

Fetch payload + write files

Install (by client)

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "customclaw": {
      "command": "npx",
      "args": ["-y", "customclaw-mcp"]
    }
  }
}

Restart Claude Desktop. Tools appear in the tool picker.

Claude Code

claude mcp add customclaw -- npx -y customclaw-mcp

Cursor / Windsurf / any stdio MCP host

Point the host at npx -y customclaw-mcp.

Streamable HTTP (smithery, ChatGPT, etc.)

Use the hosted endpoint: https://customclaw.company/mcp. Registered on smithery as onlythebestswfl/customclaw.

Example prompts

Once connected:

  • "Add a rate limiter that respects Retry-After." β†’ search_utilities β†’ install_utility rate-limit-handler

  • "I need to parse broken JSON from Claude output." β†’ json-repair

  • "What do you have for caching LLM responses?" β†’ search_utilities β†’ short results table

  • "Install token-optimiser into ./src/lib." β†’ direct install_utility

  • "Scan this project's prompts for injection β€” is there a tool?" β†’ injection-scanner

Task β†’ slug quick reference

If you need…

Slug

Rate limiting with Retry-After handling

rate-limit-handler

JSON repair for LLM output

json-repair

Response cache by prompt hash

response-cache

Retry with exponential backoff

retry-with-backoff

Token counting across models

token-optimiser

PII scrubbing before logging

pii-scrubber

Prompt-injection scanner

injection-scanner

Cost forecaster per provider

cost-forecaster

Full list via list_utilities or customclaw.company/api/catalog.

Paid utilities

For paid utilities, pass the Stripe checkout session_id from your receipt email as the session_id argument to install_utility. Without it, the tool returns a helpful 401.

Environment

  • CUSTOMCLAW_BASE β€” registry base URL override (default https://customclaw.company). Useful for staging or self-hosted mirrors.

How it works

  • Node.js stdio MCP server. Dependency: @modelcontextprotocol/sdk.

  • Catalog fetched from GET /api/catalog; cached 5 min per process.

  • Payloads from GET /api/cli?slug=<slug>[&session_id=<cs_...>] β€” same endpoint the official customclaw-cli uses.

  • install_utility refuses to write outside target_dir (path-traversal guard).

License

MIT.

Available Tools

4 tools
get_utility_infoA

Return the full catalog entry for a single utility or agent by slug (name, tagline, description, price, free flag, category, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe utility or agent slug, e.g. "token-optimiser".

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must cover behavior. It indicates a read operation without side effects, but does not address error cases (e.g., missing slug), authentication needs, or rate limits. This is adequate for a simple retrieval but lacks full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the core function and included fields, with no extraneous information. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter schema and no output schema, the description adequately explains what the tool returns and how to use it. It could mention the outcome for invalid slugs, but overall it is sufficiently complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers 100% with a description for 'slug'. The description's mention of 'by slug' mirrors the schema, adding no new semantic value beyond what the schema already provides. Therefore, the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns a full catalog entry for a single utility/agent by slug, listing specific fields (name, tagline, description, price, etc.). It differentiates from sibling tools like list_utilities and search_utilities, which handle multiple results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies the required identifier (slug) but does not explicitly provide when or when not to use this tool versus siblings. However, the context of siblings implies that get_utility_info is for a single detailed entry, while list_utilities gives an overview and search_utilities finds by criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_utilityA

Fetch a CustomClaw utility payload and write its files into target_dir. For paid utilities, pass session_id (the Stripe checkout session_id from the buyer's receipt email). Returns the list of files written and any npm dependencies the caller should install β€” this tool does NOT run npm install itself; the host agent decides when to install deps.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe utility slug to install.
target_dirYesDirectory to write files into. Absolute path preferred; relative paths are resolved against the server process cwd.
session_idNoOptional. Stripe checkout session_id for paid utilities. Found as session_id=... in the CustomClaw receipt email download URL.

TDQS

A4.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that it writes files, returns a list of files and npm dependencies, and refrains from running npm install. However, it does not mention potential side effects like overwriting existing files or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, efficiently structured. The first sentence states the main action, the second provides critical usage details (session_id and npm install behavior). No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema but the description fully explains return value (list of files and npm dependencies) and what the tool does not do (npm install). For a tool with 3 parameters and no nested objects, this is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds context beyond the schema: slug is clarified as 'utility slug', target_dir includes guidance on absolute vs relative paths, and session_id explains where to find it (Stripe checkout session_id from receipt email).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch a CustomClaw utility payload and write its files into target_dir', which is a specific verb and resource. It distinguishes from sibling tools (get_utility_info, list_utilities, search_utilities) which are all informational while this is an installation tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to pass session_id (for paid utilities) and clarifies that the tool does NOT run npm install itself, leaving that decision to the host agent. This helps the agent understand when and how to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_utilitiesA

List every utility and agent available in the CustomClaw registry (https://customclaw.company). Results are cached for 5 minutes. Returns catalog JSON with utilities and agents arrays.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description discloses caching (5 minutes) and return structure (catalog JSON with utilities and agents arrays), which is transparent for a simple read-only tool. However, it does not mention authentication or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two efficient sentences: first states purpose and source, second adds caching and return format. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description sufficiently covers the action, source, caching, and return format. It could mention the JSON structure details but is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the baseline is 4. The description adds no parameter info since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('every utility and agent') and distinguishes from siblings by indicating it returns all items from the registry, whereas siblings like get_utility_info or search_utilities likely target specific items.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies broad listing use but does not explicitly state when not to use it or mention alternatives like search_utilities or get_utility_info for filtered queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_utilitiesA

Fuzzy-search the CustomClaw registry by keyword. Matches across slug, name, tagline, description, and category. Returns the top 25 matches sorted by relevance.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesKeyword(s) to search for, e.g. "token optimiser" or "stripe".

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses fuzzy matching behavior, fields searched, result limit of 25, and relevance-based sorting. While it does not mention pagination or error handling, the provided traits are sufficient for a read-only search operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose, and every sentence adds value. No extraneous information, efficiently conveying scope and behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with one parameter and no output schema, the description adequately covers input (keyword) and output (top 25 sorted results). It lacks mention of empty results or pagination but is complete for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single query parameter already described with examples. The description adds meaningful context beyond schema by specifying fuzzy matching and the fields searched, enhancing understanding of how the parameter is used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Fuzzy-search the CustomClaw registry by keyword' with specific verb and resource. It details matching fields (slug, name, tagline, description, category) and output (top 25 sorted by relevance), clearly distinguishing it from siblings like get_utility_info (specific utility) or list_utilities (all utilities).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for keyword search but does not explicitly state when to use this tool versus alternatives (e.g., for exact match use list_utilities, for specific utility use get_utility_info). No exclusion criteria or when-not-to-use guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.1
    • First observedget_utility_info
    • First observedinstall_utility
    • First observedlist_utilities
    • First observedsearch_utilities

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: getting info for a single utility, installing a utility, listing all utilities, and searching. No overlapping functionality, so an agent can easily distinguish them.

Naming Consistency5/5

All tool names follow a consistent οΏ½οΏ½verb_nounοΏ½οΏ½ pattern (get_utility_info, install_utility, list_utilities, search_utilities) with underscores and lowercase, making the set predictable.

Tool Count5/5

Four tools cover the core operations for a registry MCP (list, search, get details, install) without being excessive or insufficient, fitting the domain well.

Completeness5/5

The toolset provides a complete workflow from discovery (list, search, get info) to installation, with no obvious gaps for its intended use as a consumer-facing registry interface.

Related MCP Connectors