{"serverId":"mcp-registry/io.github.jsonbored/heyclaude","tools":[{"name":"entry.asset","fixed":{"name":"entry_asset","description":"Fetch the category-aware copy/install asset for a HeyClaude entry without writing local files. Pass assetType (e.g. 'install_command', 'config_snippet') to return only that asset and avoid the full_content/script payloads when you do not need them.","inputSchema":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry to fetch the asset for."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry (e.g. 'mcp', 'skills')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform to tailor the install command or config snippet."},"assetType":{"enum":["full_content","install_command","config_snippet","script","command_syntax","usage","items"],"type":"string","description":"Return only this asset type instead of every asset. Use it to avoid paying for the full_content or script payload (up to tens of KB) when you only need, e.g., the install_command or config_snippet."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.asset\" → \"entry_asset\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":323,"tokensAfter":323},{"name":"entry.compare","fixed":{"name":"entry_compare","description":"Compare 2-5 read-only HeyClaude entries by fit, category, platforms, source metadata, and install complexity.","inputSchema":{"type":"object","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry (e.g. 'mcp', 'skills')."}},"additionalProperties":false},"maxItems":5,"minItems":2,"description":"2–5 entries to compare, each identified by category and slug."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform for the comparison (affects install steps shown)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.compare\" → \"entry_compare\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":245,"tokensAfter":245},{"name":"entry.coverage","fixed":{"name":"entry_coverage","description":"Compare 2-5 HeyClaude entries side by side by how much trust metadata they disclose (source, package, safety, privacy, and review provenance) and rank them by deterministic signal coverage. This measures disclosed-metadata completeness only; it is not a malware scan, a safety verdict, or installation approval, and a higher score does not mean an entry is safe.","inputSchema":{"type":"object","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1}},"additionalProperties":false},"maxItems":5,"minItems":2,"description":"2-5 entries to compare by disclosed trust metadata coverage."},"platform":{"type":"string","maxLength":80,"minLength":1}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.coverage\" → \"entry_coverage\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":266,"tokensAfter":266},{"name":"entry.detail","fixed":{"name":"entry_detail","description":"Fetch a read-only HeyClaude registry entry detail payload by category and slug. By default (bodyMode='excerpt') the body markdown is trimmed to a short lead and large copyable fields are omitted to conserve context, with bodyChars/bodyTruncated/omittedFields describing what was dropped; pass bodyMode='full' for the complete content or 'none' to drop the body entirely. Use entry.asset to retrieve omitted install/script content.","inputSchema":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry to fetch."},"bodyMode":{"enum":["none","excerpt","full"],"type":"string","description":"How much entry content to return. 'excerpt' (default) trims the body markdown to a short lead and omits large copyable fields (scriptBody, fullCopyableContent, copySnippet), reporting what was dropped via bodyChars/bodyTruncated/omittedFields; 'none' also drops the body; 'full' returns everything. Use entry.asset for omitted install/script content, and request 'full' only when you truly need the complete inline content — it can be tens of kilobytes."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry (e.g. 'mcp', 'skills', 'agents')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.detail\" → \"entry_detail\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":386,"tokensAfter":386},{"name":"entry.related","fixed":{"name":"entry_related","description":"Fetch read-only related HeyClaude entries based on category, tags, platforms, keywords, and source metadata.","inputSchema":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the reference entry to find related entries for."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Maximum related entries to return (1–25, default 8)."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the reference entry (e.g. 'mcp', 'skills')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.related\" → \"entry_related\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":191,"tokensAfter":191},{"name":"entry.safety","fixed":{"name":"entry_safety","description":"Review 1-5 HeyClaude entries for source, package, safety, and privacy metadata fit before install or recommendation. This is a metadata review only and does not provide malware scanning, automatic safety guarantees, or installation approval.","inputSchema":{"type":"object","required":["entries"],"properties":{"entries":{"type":"array","items":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry."}},"additionalProperties":false},"maxItems":5,"minItems":1,"description":"1–5 entries to review for safety and privacy metadata, each identified by category and slug."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform to contextualize safety and compatibility notes."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.safety\" → \"entry_safety\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":284,"tokensAfter":284},{"name":"entry.trust","fixed":{"name":"entry_trust","description":"Explain deterministic trust, source, package, safety, privacy, and review metadata signals for one HeyClaude entry. This is a metadata review only and does not provide malware scanning, automatic safety guarantees, or installation approval.","inputSchema":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry to explain trust signals for."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry (e.g. 'mcp', 'skills', 'agents')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"entry.trust\" → \"entry_trust\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":191,"tokensAfter":191},{"name":"install.adapter","fixed":{"name":"install_adapter","description":"Fetch generated read-only platform adapter content, currently Cursor rule adapters for skill packages.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the skill to generate a platform adapter for."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform for the adapter (defaults to 'cursor')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"install.adapter\" → \"install_adapter\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"install.compatibility","fixed":{"name":"install_compatibility","description":"Fetch platform compatibility metadata for a HeyClaude skill entry.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the skill entry to check compatibility for."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Entry category (defaults to 'skills')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"install.compatibility\" → \"install_compatibility\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"install.guidance","fixed":{"name":"install_guidance","description":"Fetch read-only install, config, usage, and package guidance for a HeyClaude entry.","inputSchema":{"type":"object","required":["category","slug"],"properties":{"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug of the entry to get install guidance for."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category of the entry (e.g. 'mcp', 'skills')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform to tailor the install steps (e.g. 'claude-desktop', 'cursor')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"install.guidance\" → \"install_guidance\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":188,"tokensAfter":188},{"name":"install.setup","fixed":{"name":"install_setup","description":"Fetch read-only MCP client setup snippets for Codex, Claude Desktop, Cursor, Windsurf, or remote HTTP clients.","inputSchema":{"type":"object","properties":{"client":{"enum":["codex","claude-desktop","cursor","windsurf","remote-http"],"type":"string","description":"MCP client to generate a setup snippet for (e.g. 'claude-desktop', 'cursor')."},"endpointUrl":{"type":"string","format":"uri","maxLength":500,"description":"Override the default remote MCP endpoint URL in the generated snippet."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"install.setup\" → \"install_setup\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":158,"tokensAfter":158},{"name":"registry.feeds","fixed":{"name":"registry_feeds","description":"List read-only HeyClaude registry feeds, category feeds, platform feeds, and artifact locations.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.feeds\" → \"registry_feeds\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"registry.info","fixed":{"name":"registry_info","description":"Fetch read-only HeyClaude MCP package, registry, tool, and public rate-limit metadata.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.info\" → \"registry_info\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"registry.list","fixed":{"name":"registry_list","description":"List read-only HeyClaude entries with bounded pagination and optional category, platform, tag, and query filters.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","maxLength":80,"minLength":1,"description":"Filter to entries carrying this exact tag."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Number of entries per page (1–25, default 20)."},"query":{"type":"string","maxLength":240,"description":"Keyword search to narrow the listing."},"offset":{"type":"integer","maximum":5000,"minimum":0,"description":"Pagination offset for large result sets (0–5000)."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category to list entries from (e.g. 'mcp', 'skills', 'agents')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Filter to entries compatible with this platform."},"claimStatus":{"enum":["all","unclaimed","pending","verified"],"type":"string","description":"Filter by claim or verification status ('unclaimed', 'pending', 'verified', or 'all')."},"sourceStatus":{"enum":["all","available","missing"],"type":"string","description":"Filter by whether the entry's source URL is reachable ('available', 'missing', or 'all')."},"downloadTrust":{"enum":["all","first-party","external","none"],"type":"string","description":"Filter by package download trust level ('first-party', 'external', 'none', or 'all')."},"hasSafetyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include safety notes ('true', 'false', or 'all')."},"hasPrivacyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include privacy notes ('true', 'false', or 'all')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.list\" → \"registry_list\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":506,"tokensAfter":506},{"name":"registry.plan","fixed":{"name":"registry_plan","description":"Plan a read-only Claude or Codex workflow toolbox from ranked HeyClaude registry entries. Each entry includes an inline install block (install command, config snippet, download URL) and the recommended stack is summarized as a copy-pasteable installPlan, alongside trust and follow-up guidance.","inputSchema":{"type":"object","required":["goal"],"properties":{"goal":{"type":"string","maxLength":240,"minLength":2,"description":"Plain-language description of the workflow or goal to build a toolbox for."},"limit":{"type":"integer","maximum":10,"minimum":1,"description":"Maximum number of recommendations to include (1–10, default 6)."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Constrain recommendations to a single category (e.g. 'mcp', 'skills')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Target platform or client for the toolbox (e.g. 'claude-desktop', 'cursor')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.plan\" → \"registry_plan\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":287,"tokensAfter":287},{"name":"registry.recommend","fixed":{"name":"registry_recommend","description":"Answer 'what should I use to do X' in one call. Given a plain-language task (and optional platform/category), returns the best-match HeyClaude entries ranked by fit — each with why it fits, trust summary, disclosed safety/privacy notes, and an inline install block — plus a topPick and a consolidated installPlan. Unlike workflow.plan it does not force category diversity; it returns the genuinely best matches. Collapses the search → compare → detail → asset loop into a single answer-shaped respons","inputSchema":{"type":"object","required":["task"],"properties":{"task":{"type":"string","maxLength":240,"minLength":2,"description":"Plain-language description of what you want to accomplish, e.g. 'review pull requests in Claude Code' or 'connect to a Postgres database'."},"limit":{"type":"integer","maximum":5,"minimum":1,"description":"Maximum recommendations to return (default 3)."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Restrict recommendations to a single category."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Restrict to entries compatible with this platform."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.recommend\" → \"registry_recommend\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":344,"tokensAfter":344},{"name":"registry.search","fixed":{"name":"registry_search","description":"Search read-only HeyClaude registry entries by query, category, exact tag, and skill platform compatibility.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","maxLength":80,"minLength":1,"description":"Return only entries carrying this exact tag."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Maximum number of results to return (1–25, default 10)."},"query":{"type":"string","maxLength":240,"description":"Keywords to search for in entry titles, descriptions, and tags."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Restrict results to this category (e.g. 'mcp', 'skills', 'hooks')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Restrict to entries compatible with this platform (e.g. 'claude-desktop', 'cursor')."},"claimStatus":{"enum":["all","unclaimed","pending","verified"],"type":"string","description":"Filter by claim or verification status ('unclaimed', 'pending', 'verified', or 'all')."},"sourceStatus":{"enum":["all","available","missing"],"type":"string","description":"Filter by whether the entry's source URL is reachable ('available', 'missing', or 'all')."},"downloadTrust":{"enum":["all","first-party","external","none"],"type":"string","description":"Filter by package download trust level ('first-party', 'external', 'none', or 'all')."},"hasSafetyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include safety notes ('true', 'false', or 'all')."},"hasPrivacyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include privacy notes ('true', 'false', or 'all')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.search\" → \"registry_search\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":492,"tokensAfter":492},{"name":"registry.stats","fixed":{"name":"registry_stats","description":"Fetch aggregate read-only registry stats, freshness, category counts, and real source-signal coverage.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.stats\" → \"registry_stats\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"registry.updates","fixed":{"name":"registry_updates","description":"List recently added or upstream-updated HeyClaude entries from generated registry metadata.","inputSchema":{"type":"object","properties":{"tag":{"type":"string","maxLength":80,"minLength":1,"description":"Filter to entries carrying this exact tag."},"limit":{"type":"integer","maximum":25,"minimum":1,"description":"Maximum entries to return (1–25, default 10)."},"query":{"type":"string","maxLength":240,"description":"Keyword search to narrow the listing."},"since":{"type":"string","maxLength":40,"minLength":4,"description":"Return only entries updated after this date, e.g. '2026-05-01'."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Restrict to a single category (e.g. 'mcp', 'hooks')."},"platform":{"type":"string","maxLength":80,"minLength":1,"description":"Filter to entries compatible with this platform."},"claimStatus":{"enum":["all","unclaimed","pending","verified"],"type":"string","description":"Filter by claim or verification status ('unclaimed', 'pending', 'verified', or 'all')."},"sourceStatus":{"enum":["all","available","missing"],"type":"string","description":"Filter by whether the entry's source URL is reachable ('available', 'missing', or 'all')."},"downloadTrust":{"enum":["all","first-party","external","none"],"type":"string","description":"Filter by package download trust level ('first-party', 'external', 'none', or 'all')."},"hasSafetyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include safety notes ('true', 'false', or 'all')."},"hasPrivacyNotes":{"enum":["all","true","false"],"type":"string","description":"Filter by whether entries include privacy notes ('true', 'false', or 'all')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"registry.updates\" → \"registry_updates\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":501,"tokensAfter":501},{"name":"submission.duplicates","fixed":{"name":"submission_duplicates","description":"Search generated registry artifacts for likely duplicate entries before a user opens a submission PR.","inputSchema":{"type":"object","properties":{"name":{"type":"string","maxLength":240,"minLength":1,"description":"Tool or resource name to search for near-duplicates."},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Slug to check for an exact existing entry."},"limit":{"type":"integer","maximum":10,"minimum":1,"description":"Maximum number of duplicate candidates to return (1–10)."},"title":{"type":"string","maxLength":240,"minLength":1,"description":"Display title to search for near-duplicates."},"docsUrl":{"type":"string","maxLength":500,"minLength":1,"description":"Documentation URL to check for duplicates."},"category":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1,"description":"Category to scope the duplicate search."},"githubUrl":{"type":"string","maxLength":500,"minLength":1,"description":"GitHub repository URL to check for duplicates."},"sourceUrl":{"type":"string","maxLength":500,"minLength":1,"description":"Primary source URL to check against existing entries."},"sourceUrls":{"type":"array","items":{"type":"string","maxLength":500,"minLength":1},"maxItems":10,"description":"Multiple source URLs to check (e.g. GitHub repo + docs site)."},"websiteUrl":{"type":"string","maxLength":500,"minLength":1,"description":"Homepage or product URL to check for duplicates."},"brandDomain":{"type":"string","maxLength":255,"minLength":1,"description":"Brand's canonical domain (e.g. 'example.com') to check for duplicates."},"downloadUrl":{"type":"string","maxLength":500,"minLength":1,"description":"Download or release URL to check for duplicates."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.duplicates\" → \"submission_duplicates\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":506,"tokensAfter":506},{"name":"submission.examples","fixed":{"name":"submission_examples","description":"Fetch read-only category examples and templates for faster, more accurate HeyClaude submissions.","inputSchema":{"type":"object","properties":{"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string","description":"Category to fetch submission examples for. Returns cross-category examples if omitted."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.examples\" → \"submission_examples\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"submission.guidance","fixed":{"name":"submission_guidance","description":"Fetch category-specific HeyClaude contribution guidance, required fields, and review expectations.","inputSchema":{"type":"object","properties":{"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string","description":"Category to fetch contribution guidelines for. Returns general guidance if omitted."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.guidance\" → \"submission_guidance\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"submission.policy","fixed":{"name":"submission_policy","description":"Fetch HeyClaude's read-only submission, artifact, import, and maintainer-review policy for contributors and agents.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.policy\" → \"submission_policy\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"submission.prepare","fixed":{"name":"submission_prepare","description":"Build a read-only maintainer-reviewed HeyClaude submission draft with canonical PR text and URLs.","inputSchema":{"type":"object","required":["fields"],"properties":{"fields":{"type":"object","properties":{"name":{"type":"string","maxLength":4000},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1},"tags":{"anyOf":[{"type":"string","maxLength":1000},{"type":"array","items":{"type":"string","maxLength":80,"minLength":1},"maxItems":20}]},"items":{"type":"string","maxLength":24000},"title":{"type":"string","maxLength":4000},"author":{"type":"string","maxLength":4000},"trigger":{"type":"string","maxLength":4000},"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string"},"docs_url":{"type":"string","maxLength":4000},"brand_name":{"type":"string","maxLength":4000},"difficulty":{"type":"string","maxLength":4000},"github_url":{"type":"string","maxLength":4000},"skill_type":{"type":"string","maxLength":4000},"source_url":{"type":"string","maxLength":4000},"description":{"type":"string","maxLength":24000},"skill_level":{"type":"string","maxLength":4000},"verified_at":{"type":"string","maxLength":4000},"brand_domain":{"type":"string","maxLength":4000},"download_url":{"type":"string","maxLength":4000},"safety_notes":{"type":"string"},"contact_email":{"type":"string","maxLength":4000},"guide_content":{"type":"string","maxLength":24000},"prerequisites":{"type":"string","maxLength":24000},"privacy_notes":{"type":"string"},"usage_snippet":{"type":"string","maxLength":24000},"command_syntax":{"type":"string","maxLength":4000},"config_snippet":{"type":"string","maxLength":24000},"install_command":{"type":"string","maxLength":4000},"script_language":{"type":"string","maxLength":4000},"card_description":{"type":"string","maxLength":4000},"tested_platforms":{"type":"string","maxLength":4000},"retrieval_sources":{"type":"string","maxLength":24000},"installation_order":{"type":"string","maxLength":4000},"verification_status":{"type":"string","maxLength":4000},"estimated_setup_time":{"type":"string","maxLength":4000},"full_copyable_content":{"type":"string","maxLength":24000},"troubleshooting_section":{"type":"string","maxLength":24000}},"description":"Submission field values to compile into a canonical maintainer-reviewed PR draft.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.prepare\" → \"submission_prepare\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":681,"tokensAfter":681},{"name":"submission.review","fixed":{"name":"submission_review","description":"Review a HeyClaude submission draft locally for schema errors, duplicate risk, and maintainer checklist items without writing to GitHub.","inputSchema":{"type":"object","required":["fields"],"properties":{"fields":{"type":"object","properties":{"name":{"type":"string","maxLength":4000},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1},"tags":{"anyOf":[{"type":"string","maxLength":1000},{"type":"array","items":{"type":"string","maxLength":80,"minLength":1},"maxItems":20}]},"items":{"type":"string","maxLength":24000},"title":{"type":"string","maxLength":4000},"author":{"type":"string","maxLength":4000},"trigger":{"type":"string","maxLength":4000},"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string"},"docs_url":{"type":"string","maxLength":4000},"brand_name":{"type":"string","maxLength":4000},"difficulty":{"type":"string","maxLength":4000},"github_url":{"type":"string","maxLength":4000},"skill_type":{"type":"string","maxLength":4000},"source_url":{"type":"string","maxLength":4000},"description":{"type":"string","maxLength":24000},"skill_level":{"type":"string","maxLength":4000},"verified_at":{"type":"string","maxLength":4000},"brand_domain":{"type":"string","maxLength":4000},"download_url":{"type":"string","maxLength":4000},"safety_notes":{"type":"string"},"contact_email":{"type":"string","maxLength":4000},"guide_content":{"type":"string","maxLength":24000},"prerequisites":{"type":"string","maxLength":24000},"privacy_notes":{"type":"string"},"usage_snippet":{"type":"string","maxLength":24000},"command_syntax":{"type":"string","maxLength":4000},"config_snippet":{"type":"string","maxLength":24000},"install_command":{"type":"string","maxLength":4000},"script_language":{"type":"string","maxLength":4000},"card_description":{"type":"string","maxLength":4000},"tested_platforms":{"type":"string","maxLength":4000},"retrieval_sources":{"type":"string","maxLength":24000},"installation_order":{"type":"string","maxLength":4000},"verification_status":{"type":"string","maxLength":4000},"estimated_setup_time":{"type":"string","maxLength":4000},"full_copyable_content":{"type":"string","maxLength":24000},"troubleshooting_section":{"type":"string","maxLength":24000}},"description":"Submission field values to review for schema errors and maintainer checklist items.","additionalProperties":false},"duplicateLimit":{"type":"integer","maximum":10,"minimum":1,"description":"Maximum number of duplicate candidates to include in the review."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.review\" → \"submission_review\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":732,"tokensAfter":732},{"name":"submission.schema","fixed":{"name":"submission_schema","description":"Fetch read-only HeyClaude submission schemas for PR-first intake by category.","inputSchema":{"type":"object","properties":{"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string","description":"Submission category to fetch the schema for. Returns all schemas if omitted."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.schema\" → \"submission_schema\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"submission.urls","fixed":{"name":"submission_urls","description":"Build prefilled HeyClaude submit and review URLs for a validated PR-first submission draft without making write calls.","inputSchema":{"type":"object","required":["fields"],"properties":{"fields":{"type":"object","properties":{"name":{"type":"string","maxLength":4000},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1},"tags":{"anyOf":[{"type":"string","maxLength":1000},{"type":"array","items":{"type":"string","maxLength":80,"minLength":1},"maxItems":20}]},"items":{"type":"string","maxLength":24000},"title":{"type":"string","maxLength":4000},"author":{"type":"string","maxLength":4000},"trigger":{"type":"string","maxLength":4000},"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string"},"docs_url":{"type":"string","maxLength":4000},"brand_name":{"type":"string","maxLength":4000},"difficulty":{"type":"string","maxLength":4000},"github_url":{"type":"string","maxLength":4000},"skill_type":{"type":"string","maxLength":4000},"source_url":{"type":"string","maxLength":4000},"description":{"type":"string","maxLength":24000},"skill_level":{"type":"string","maxLength":4000},"verified_at":{"type":"string","maxLength":4000},"brand_domain":{"type":"string","maxLength":4000},"download_url":{"type":"string","maxLength":4000},"safety_notes":{"type":"string"},"contact_email":{"type":"string","maxLength":4000},"guide_content":{"type":"string","maxLength":24000},"prerequisites":{"type":"string","maxLength":24000},"privacy_notes":{"type":"string"},"usage_snippet":{"type":"string","maxLength":24000},"command_syntax":{"type":"string","maxLength":4000},"config_snippet":{"type":"string","maxLength":24000},"install_command":{"type":"string","maxLength":4000},"script_language":{"type":"string","maxLength":4000},"card_description":{"type":"string","maxLength":4000},"tested_platforms":{"type":"string","maxLength":4000},"retrieval_sources":{"type":"string","maxLength":24000},"installation_order":{"type":"string","maxLength":4000},"verification_status":{"type":"string","maxLength":4000},"estimated_setup_time":{"type":"string","maxLength":4000},"full_copyable_content":{"type":"string","maxLength":24000},"troubleshooting_section":{"type":"string","maxLength":24000}},"description":"Validated submission field values to encode into submit and review URLs.","additionalProperties":false},"includePrBody":{"type":"boolean","description":"Include a pre-filled PR body in the returned URL."}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.urls\" → \"submission_urls\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":712,"tokensAfter":712},{"name":"submission.validate","fixed":{"name":"submission_validate","description":"Validate a HeyClaude content submission draft locally without creating GitHub issues, pull requests, or publishing content.","inputSchema":{"type":"object","required":["fields"],"properties":{"fields":{"type":"object","properties":{"name":{"type":"string","maxLength":4000},"slug":{"type":"string","pattern":"^[a-z0-9-]+$","maxLength":120,"minLength":1},"tags":{"anyOf":[{"type":"string","maxLength":1000},{"type":"array","items":{"type":"string","maxLength":80,"minLength":1},"maxItems":20}]},"items":{"type":"string","maxLength":24000},"title":{"type":"string","maxLength":4000},"author":{"type":"string","maxLength":4000},"trigger":{"type":"string","maxLength":4000},"category":{"enum":["agents","rules","mcp","skills","hooks","commands","statuslines","collections","guides"],"type":"string"},"docs_url":{"type":"string","maxLength":4000},"brand_name":{"type":"string","maxLength":4000},"difficulty":{"type":"string","maxLength":4000},"github_url":{"type":"string","maxLength":4000},"skill_type":{"type":"string","maxLength":4000},"source_url":{"type":"string","maxLength":4000},"description":{"type":"string","maxLength":24000},"skill_level":{"type":"string","maxLength":4000},"verified_at":{"type":"string","maxLength":4000},"brand_domain":{"type":"string","maxLength":4000},"download_url":{"type":"string","maxLength":4000},"safety_notes":{"type":"string"},"contact_email":{"type":"string","maxLength":4000},"guide_content":{"type":"string","maxLength":24000},"prerequisites":{"type":"string","maxLength":24000},"privacy_notes":{"type":"string"},"usage_snippet":{"type":"string","maxLength":24000},"command_syntax":{"type":"string","maxLength":4000},"config_snippet":{"type":"string","maxLength":24000},"install_command":{"type":"string","maxLength":4000},"script_language":{"type":"string","maxLength":4000},"card_description":{"type":"string","maxLength":4000},"tested_platforms":{"type":"string","maxLength":4000},"retrieval_sources":{"type":"string","maxLength":24000},"installation_order":{"type":"string","maxLength":4000},"verification_status":{"type":"string","maxLength":4000},"estimated_setup_time":{"type":"string","maxLength":4000},"full_copyable_content":{"type":"string","maxLength":24000},"troubleshooting_section":{"type":"string","maxLength":24000}},"description":"Submission field values to validate against the HeyClaude content schema.","additionalProperties":false}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false}},"changes":[{"kind":"name","detail":"Renamed \"submission.validate\" → \"submission_validate\" (letters, digits, _ and - only; max 64). Keep the old name as an alias for a release if clients already call it.","verify":true}],"tokensBefore":686,"tokensAfter":686}],"toolsChanged":28,"tokensSaved":0,"todo":[{"tool":"entry_coverage","params":["platform"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}