Toolbox
Small tools for agent builders: AI-writing tells, tools/list token cost, CLAUDE.md lint, and more.
Should I use this
Quality & Safety
Findings (6)
- HIGH
- MEDIUMin lint_agent_md
- MEDIUMin scrub_env
- LOWin scrub_env
- INFOin lint_agent_md
- INFOin scrub_env
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"toolbox": {
"url": "https://toolbox.allthepossibles.com/mcp"
}
}
}Remote endpoints
https://toolbox.allthepossibles.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (13)
🟢check_tells(text)
Check text for AI-writing tells (em-dashes, 'not just X but Y', rule-of-three lists, stock vocabulary like delve or seamlessly, hedge words, smart quotes, hidden Unicode) and return a score, each tell with its position, and a cleaned copy. Run it on anything you are about to publish on a human's behalf.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The text to check. Free tier: 3,000 chars."
}
},
"required": [
"text"
]
}🟢manifest_cost(url, tools)
Estimate what an MCP server's tools/list costs in tokens on every session start, per tool, with the three most expensive tools and flags for oversized descriptions, base64 blobs and echoed schemas. Pass a live Streamable HTTP endpoint or a tools array.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Streamable HTTP MCP endpoint"
},
"tools": {
"type": "array",
"description": "Tool definitions, if the server is not reachable over HTTP",
"items": {
"type": "object"
}
}
}
}🟢lint_agent_md(text, filename)
Lint a CLAUDE.md, AGENTS.md or MEMORY.md: line count against Claude Code's 200-line memory index cap, estimated tokens, duplicate lines, contradicting rules, leftover TODO markers, hidden characters, empty headings.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "File contents"
},
"filename": {
"type": "string",
"description": "e.g. CLAUDE.md or MEMORY.md; changes the severity of the line cap"
}
},
"required": [
"text"
]
}🟢mcp_install_snippets(url, name, headerName, headerValue, probe)
Generate install snippets for an MCP endpoint (Claude Code, Claude Desktop, Cursor, Codex, VS Code, curl) and probe the endpoint once to confirm it answers initialize and tools/list.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string"
},
"name": {
"type": "string",
"description": "Server name to use in configs"
},
"headerName": {
"type": "string"
},
"headerValue": {
"type": "string"
},
"probe": {
"type": "boolean",
"default": true
}
},
"required": [
"url"
]
}🟢check_ai_crawlers(url)
Read a site's robots.txt and report which AI crawlers (GPTBot, ClaudeBot, Google-Extended, PerplexityBot, CCBot, Bytespider and more) are allowed, blocked or partially blocked; check for llms.txt and draft one from the site's metadata and sitemap.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Any URL on the site"
}
},
"required": [
"url"
]
}🟢check_headers(url)
Fetch a URL once and grade its response headers: HSTS, Content-Security-Policy, X-Content-Type-Options, frame control, Referrer-Policy, Permissions-Policy, Cache-Control, cookie Secure/HttpOnly/SameSite flags, and server version leaks. Returns a grade, a score and the exact header to add for each gap.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page to fetch"
}
},
"required": [
"url"
]
}🟢check_page_meta(url)
Fetch a URL and report what crawlers and link unfurlers see: title and meta description with lengths, canonical, lang, viewport, robots meta, h1s, Open Graph and Twitter card tags, favicon, JSON-LD types, the resulting preview card, and findings for anything missing or too long.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The page to fetch"
}
},
"required": [
"url"
]
}🟢json_to_schema(json, name)
Turn a JSON sample (or an array of samples of the same shape) into a JSON Schema draft 2020-12 and a TypeScript type. Infers required vs optional keys across samples, nullable fields, integer vs number, date/email/uri/uuid formats, and small enums. Use it to draft an MCP tool inputSchema from an example payload.
Input Schema
{
"type": "object",
"properties": {
"json": {
"type": "string",
"description": "The JSON text. Free tier: 20,000 chars."
},
"name": {
"type": "string",
"description": "Type name, default Root"
}
},
"required": [
"json"
]
}🟢explain_cron(expression, count, from)
Explain a five-field cron expression in plain English, list the next runs in UTC, and warn about the cases Cloudflare Workers, GitHub Actions and crontab handle differently (nicknames, six fields, day-of-month plus day-of-week, sub-5-minute intervals, day 31).
Input Schema
{
"type": "object",
"properties": {
"expression": {
"type": "string",
"description": "e.g. 0 */6 * * 1-5"
},
"count": {
"type": "integer",
"description": "How many next runs to list, 1 to 20, default 5"
},
"from": {
"type": "string",
"description": "ISO date to compute next runs from, default now"
}
},
"required": [
"expression"
]
}🟢scrub_env(text)
Scrub a .env file into a safe .env.example: every value is blanked or replaced with a placeholder that keeps its shape (postgres://USER:PASSWORD@HOST/DB). Returns the example, the secrets found (AWS, GitHub, Stripe, Slack, Google, OpenAI, Anthropic, Resend, SendGrid, Twilio, Cloudflare, JWTs, private keys, database URLs, high-entropy strings) by key, kind and line with only the first 4 characters and the length, and findings for duplicate keys, non-UPPER_SNAKE names, unbalanced quotes, export prefixes and trailing spaces.
Input Schema
{
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The .env file contents. Free tier: 20,000 chars."
}
},
"required": [
"text"
]
}🟢trace_redirects(url)
Trace a URL's redirect chain hop by hop (up to 10 hops, 8 s each) with status, location, timing and scheme per hop. Flags chains over two redirects, loops, HTTPS-to-HTTP downgrades, 302s used for www or https canonicalisation, dropped paths or query strings, cross-domain moves, meta-refresh or JS redirects on a 200, and a final page that is not 200.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL to trace, e.g. http://example.com"
}
},
"required": [
"url"
]
}🟢check_sitemap(url, sample)
Check a site's sitemaps: discovers them from robots.txt, /sitemap.xml and /sitemap_index.xml, reads index files one level deep (20 children max), counts URLs per file and per host, summarises lastmod, and fetches a sample of URLs (HEAD, then GET) to count the ones that are not 200. Flags a missing sitemap, no robots.txt entry, over 50,000 URLs, other hosts, http URLs on https sites and missing lastmod.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Any URL on the site"
},
"sample": {
"type": "integer",
"description": "How many sitemap URLs to fetch, default 10, max 25 on free and 100 on Pro"
}
},
"required": [
"url"
]
}🟢decode_jwt(token)
Decode a JWT's header and payload without verifying the signature (it never takes a secret). Returns the claims with iat, nbf and exp as ISO times, a plain-text expiresIn, issuer, subject and audience, and findings: alg none, HS* with a URL-like kid, missing or distant exp, expired, nbf or iat in the future, payload over 4 KB, sensitive field names, and jku or x5u pointing off-site.
Input Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "The JWT, three dot-separated parts. A leading Bearer is ignored."
}
},
"required": [
"token"
]
}Community
Evidence