{"serverId":"mcp-registry/world.unclick/mcp-server","tools":[{"name":"abn_lookup","fixed":{"name":"abn_lookup","description":"Look up an Australian Business Number (ABN).","inputSchema":{"type":"object","required":["abn"],"properties":{"abn":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"abn_search","fixed":{"name":"abn_search","description":"Search for Australian businesses by name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"abuseipdb_check_ip","fixed":{"name":"abuseipdb_check_ip","description":"Check if an IP address has been reported for abuse.","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string"},"api_key":{"type":"string"},"maxAgeInDays":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"advice_search","fixed":{"name":"advice_search","description":"Search advice slips by keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search keyword"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"aho_corasick_search","fixed":{"name":"aho_corasick_search","description":"Find all occurrences of multiple patterns in text simultaneously using the Aho-Corasick algorithm.","inputSchema":{"type":"object","required":["text","patterns"],"properties":{"text":{"type":"string","description":"Text to search in"},"patterns":{"type":"array","items":{"type":"string"},"description":"Patterns to search for"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"algolia_browse_index","fixed":{"name":"algolia_browse_index","description":"Browse all records in an Algolia index (paginated cursor-based).","inputSchema":{"type":"object","required":["app_id","api_key","index"],"properties":{"index":{"type":"string","description":"Index name"},"app_id":{"type":"string","description":"Algolia Application ID"},"cursor":{"type":"string","description":"Pagination cursor from previous response"},"api_key":{"type":"string","description":"Algolia Admin API Key"},"filters":{"type":"string","description":"Filter expression"},"hits_per_page":{"type":"number","description":"Records per page"},"attributes_to_retrieve":{"type":"array","items":{"type":"string"},"description":"Attributes to include"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"algolia_get_object","fixed":{"name":"algolia_get_object","description":"Retrieve a single record from an Algolia index by its objectID.","inputSchema":{"type":"object","required":["app_id","api_key","index","object_id"],"properties":{"index":{"type":"string","description":"Index name"},"app_id":{"type":"string","description":"Algolia Application ID"},"api_key":{"type":"string","description":"Algolia API Key"},"object_id":{"type":"string","description":"Record objectID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":133,"tokensAfter":133},{"name":"algolia_list_indices","fixed":{"name":"algolia_list_indices","description":"List all Algolia indices in the application.","inputSchema":{"type":"object","required":["app_id","api_key"],"properties":{"app_id":{"type":"string","description":"Algolia Application ID"},"api_key":{"type":"string","description":"Algolia Admin API Key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":93,"tokensAfter":93},{"name":"algolia_search","fixed":{"name":"algolia_search","description":"Search an Algolia index for records matching a query.","inputSchema":{"type":"object","required":["app_id","api_key","index"],"properties":{"page":{"type":"number","description":"Page number (0-indexed)"},"index":{"type":"string","description":"Index name to search"},"query":{"type":"string","description":"Search query text"},"app_id":{"type":"string","description":"Algolia Application ID"},"api_key":{"type":"string","description":"Algolia API Key (Search or Admin)"},"filters":{"type":"string","description":"Algolia filter expression (e.g. category:electronics)"},"hits_per_page":{"type":"number","description":"Results per page (default: 20)"},"attributes_to_retrieve":{"type":"array","items":{"type":"string"},"description":"Attributes to include in results"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":234,"tokensAfter":234},{"name":"amazon_browse","fixed":{"name":"amazon_browse","description":"Browse Amazon product categories.","inputSchema":{"type":"object","required":["browseNodeId"],"properties":{"access_key":{"type":"string"},"secret_key":{"type":"string"},"partner_tag":{"type":"string"},"browseNodeId":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"amazon_search","fixed":{"name":"amazon_search","description":"Search for products on Amazon.","inputSchema":{"type":"object","required":["keywords"],"properties":{"region":{"type":"string"},"keywords":{"type":"string"},"itemCount":{"type":"number"},"access_key":{"type":"string"},"secret_key":{"type":"string"},"partner_tag":{"type":"string"},"searchIndex":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"amiibo_search","fixed":{"name":"amiibo_search","description":"Search Nintendo Amiibo figures by character name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Character name to search"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"angle_convert","fixed":{"name":"angle_convert","description":"Convert angles between degrees, radians, gradians, and turns. Includes trig values.","inputSchema":{"type":"object","required":["value","from"],"properties":{"from":{"type":"string","description":"Unit of input: degrees, radians, gradians, or turns."},"value":{"type":"number","description":"Angle value to convert."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"animechan_search","fixed":{"name":"animechan_search","description":"Search for anime quotes from a specific anime.","inputSchema":{"type":"object","required":["anime"],"properties":{"anime":{"type":"string","description":"Anime title to search quotes from"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"anthropic_create_message","fixed":{"name":"anthropic_create_message","description":"Send a message to the Anthropic Messages API (Claude models). Useful for agents that need to call Claude programmatically or compare model outputs.","inputSchema":{"type":"object","required":["api_key"],"properties":{"model":{"type":"string","description":"Claude model ID (default: claude-sonnet-4-6)"},"top_k":{"type":"number"},"top_p":{"type":"number"},"prompt":{"type":"string","description":"Convenience: single user message (alternative to messages array)"},"system":{"type":"string","description":"System prompt"},"api_key":{"type":"string"},"messages":{"description":"Array of {role, content} message objects","type":"string"},"max_tokens":{"type":"number","description":"Max tokens to generate (default: 1024)"},"temperature":{"type":"number"},"stop_sequences":{"description":"Array of stop sequences","type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: messages, stop_sequences. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":244,"tokensAfter":253},{"name":"anthropic_list_models","fixed":{"name":"anthropic_list_models","description":"List all Claude models available via the Anthropic API.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"archive_metadata","fixed":{"name":"archive_metadata","description":"Get metadata for an Internet Archive item by identifier.","inputSchema":{"type":"object","required":["identifier"],"properties":{"identifier":{"type":"string","description":"Archive.org item identifier"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"archive_search","fixed":{"name":"archive_search","description":"Search the Internet Archive (archive.org) for items.","inputSchema":{"type":"object","required":["query"],"properties":{"page":{"type":"number","description":"Page number (default 1)"},"limit":{"type":"number","description":"Results per page (max 20, default 10)"},"query":{"type":"string","description":"Search query"},"mediatype":{"type":"string","description":"Filter: texts, audio, movies, software, image, collection"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"area_calculate","fixed":{"name":"area_calculate","description":"Calculate area (and perimeter where possible) of common shapes: circle, rectangle, triangle, trapezoid, ellipse, parallelogram, sector.","inputSchema":{"type":"object","required":["shape"],"properties":{"base":{"type":"number","description":"Base (triangle, parallelogram)."},"base1":{"type":"number","description":"First base (trapezoid)."},"base2":{"type":"number","description":"Second base (trapezoid)."},"shape":{"type":"string","description":"Shape: circle, rectangle, triangle, trapezoid, ellipse, parallelogram, or sector."},"width":{"type":"number","description":"Width (rectangle)."},"height":{"type":"number","description":"Height (rectangle, triangle, trapezoid, parallelogram)."},"radius":{"type":"number","description":"Radius (circle, sector)."},"semi_major":{"type":"number","description":"Semi-major axis (ellipse)."},"semi_minor":{"type":"number","description":"Semi-minor axis (ellipse)."},"angle_degrees":{"type":"number","description":"Angle in degrees (sector)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":294,"tokensAfter":294},{"name":"artic_get_artwork","fixed":{"name":"artic_get_artwork","description":"Get detailed info about a specific artwork at the Art Institute of Chicago.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number","description":"Artwork ID (from search results)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"artic_search_artworks","fixed":{"name":"artic_search_artworks","description":"Search artworks at the Art Institute of Chicago by keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"number","description":"Max results (default 10, max 50)."},"query":{"type":"string","description":"Search term (e.g. monet, sunflowers, impressionism)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"arxiv_search","fixed":{"name":"arxiv_search","description":"Search arXiv for scientific preprints by keyword, title, or author.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search term or arXiv query."},"max_results":{"type":"number","description":"Max papers to return (default 5, max 20)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"assemblyai_get_paragraphs","fixed":{"name":"assemblyai_get_paragraphs","description":"Get a completed transcript split into paragraphs.","inputSchema":{"type":"object","required":["api_key","transcript_id"],"properties":{"api_key":{"type":"string","description":"AssemblyAI API key"},"transcript_id":{"type":"string","description":"Completed transcript ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"assemblyai_get_sentences","fixed":{"name":"assemblyai_get_sentences","description":"Get a completed transcript split into individual sentences.","inputSchema":{"type":"object","required":["api_key","transcript_id"],"properties":{"api_key":{"type":"string","description":"AssemblyAI API key"},"transcript_id":{"type":"string","description":"Completed transcript ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"assemblyai_get_transcript","fixed":{"name":"assemblyai_get_transcript","description":"Get the status and results of an AssemblyAI transcription job.","inputSchema":{"type":"object","required":["api_key","transcript_id"],"properties":{"api_key":{"type":"string","description":"AssemblyAI API key"},"transcript_id":{"type":"string","description":"Transcript ID returned by assemblyai_transcribe"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"assemblyai_list_transcripts","fixed":{"name":"assemblyai_list_transcripts","description":"List recent AssemblyAI transcripts for the account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"limit":{"type":"number","description":"Number of transcripts to return (default: 10, max: 200)"},"status":{"enum":["queued","processing","completed","error"],"type":"string","description":"Filter by status"},"api_key":{"type":"string","description":"AssemblyAI API key"},"after_id":{"type":"string","description":"Cursor: return transcripts after this ID"},"before_id":{"type":"string","description":"Cursor: return transcripts before this ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":181,"tokensAfter":181},{"name":"assemblyai_summarize","fixed":{"name":"assemblyai_summarize","description":"Get the AI-generated summary for a completed AssemblyAI transcript (must have been submitted with summarization enabled).","inputSchema":{"type":"object","required":["api_key","transcript_id"],"properties":{"api_key":{"type":"string","description":"AssemblyAI API key"},"transcript_id":{"type":"string","description":"Completed transcript ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"auspost_get_postcode","fixed":{"name":"auspost_get_postcode","description":"Look up an Australian postcode or suburb.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string","description":"Suburb name or postcode"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"autopilot_zero_touch_metrics","fixed":{"name":"autopilot_zero_touch_metrics","description":"Reads AutoPilot ledger rows and returns zero-touch scoring. Use before closing a canary or claiming human_touch_count=0.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","default":250,"maximum":1000,"minimum":1,"description":"Maximum recent ledger rows to scan."},"ref_id":{"type":"string","maxLength":160,"minLength":1,"description":"Optional object id filter."},"ref_kind":{"enum":["todo","pr","dispatch","agent","run"],"type":"string","description":"Optional object type filter."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read AutoPilot zero-touch metrics"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":165,"tokensAfter":165},{"name":"base_convert","fixed":{"name":"base_convert","description":"Convert a number between bases (binary, octal, decimal, hex, or any base 2-36).","inputSchema":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":"The number to convert (as string)."},"to_base":{"type":"number","description":"Target base (2-36, default 16)."},"from_base":{"type":"number","description":"Source base (2-36, default 10)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"bezier_curve","fixed":{"name":"bezier_curve","description":"Compute a Bezier curve from control points with arc length and optional evaluation.","inputSchema":{"type":"object","required":["control_points"],"properties":{"steps":{"type":"number","description":"Number of curve samples (default 50, max 1000)."},"eval_at":{"description":"t value(s) in [0,1] to evaluate at. Number or array of numbers.","type":"string"},"control_points":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Array of [x, y] control points (at least 2)."}},"additionalProperties":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: eval_at. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":155,"tokensAfter":160},{"name":"bfs_search","fixed":{"name":"bfs_search","description":"Breadth-first search on a graph. Finds shortest unweighted path, visit order, and reachable node count.","inputSchema":{"type":"object","required":["edges","start"],"properties":{"edges":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"}}},"description":"Array of edges"},"start":{"type":"string","description":"Start node"},"target":{"type":"string","description":"Optional target node to find path to"},"directed":{"type":"boolean","description":"Whether the graph is directed (default true)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":170,"tokensAfter":170},{"name":"bgg_search","fixed":{"name":"bgg_search","description":"Search BoardGameGeek for board games by name.","inputSchema":{"type":"object","required":["query"],"properties":{"type":{"enum":["boardgame","boardgameexpansion"],"type":"string","description":"Type of item to search for (default: boardgame)"},"query":{"type":"string","description":"Game name to search for"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"bipartite_check","fixed":{"name":"bipartite_check","description":"Check whether an undirected graph is bipartite (2-colorable). Returns the two vertex sets if bipartite, or an odd cycle if not.","inputSchema":{"type":"object","required":["vertices","edges"],"properties":{"edges":{"type":"array","items":{"type":"array","items":{"type":"number"}},"description":"Undirected edges as [u, v] pairs"},"vertices":{"type":"number","description":"Number of vertices (0-indexed)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"bit_count","fixed":{"name":"bit_count","description":"Count set bits (popcount), total bits, and convert between decimal, binary, hex, and octal. Detects powers of two.","inputSchema":{"type":"object","required":["value"],"properties":{"value":{"type":"string","description":"Integer or binary/hex string (e.g. 42, 0xFF, 0b1010)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":88,"tokensAfter":88},{"name":"bitbucket_get_repo","fixed":{"name":"bitbucket_get_repo","description":"Get a single Bitbucket repository.","inputSchema":{"type":"object","required":["username","app_password","workspace","repo"],"properties":{"repo":{"type":"string","description":"Repository slug"},"username":{"type":"string","description":"Bitbucket username"},"workspace":{"type":"string","description":"Workspace id"},"app_password":{"type":"string","description":"Bitbucket app password"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"bitbucket_list_pull_requests","fixed":{"name":"bitbucket_list_pull_requests","description":"List pull requests for a Bitbucket repository.","inputSchema":{"type":"object","required":["username","app_password","workspace","repo"],"properties":{"repo":{"type":"string","description":"Repository slug"},"limit":{"type":"number","description":"PRs to return (max 50, default 25)"},"state":{"enum":["OPEN","MERGED","DECLINED","SUPERSEDED"],"type":"string","description":"Filter by PR state"},"username":{"type":"string","description":"Bitbucket username"},"workspace":{"type":"string","description":"Workspace id"},"app_password":{"type":"string","description":"Bitbucket app password"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":188,"tokensAfter":188},{"name":"bitbucket_list_repos","fixed":{"name":"bitbucket_list_repos","description":"List Bitbucket repositories in a workspace.","inputSchema":{"type":"object","required":["username","app_password","workspace"],"properties":{"limit":{"type":"number","description":"Repos to return (max 100, default 25)"},"username":{"type":"string","description":"Bitbucket username"},"workspace":{"type":"string","description":"Workspace id"},"app_password":{"type":"string","description":"Bitbucket app password"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":137,"tokensAfter":137},{"name":"braille_convert","fixed":{"name":"braille_convert","description":"Convert text to Braille Unicode dots or decode Braille back to text.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text or Braille characters to convert."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"brevo_get_account","fixed":{"name":"brevo_get_account","description":"Get the Brevo account profile and plan.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string","description":"Brevo API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"brevo_list_campaigns","fixed":{"name":"brevo_list_campaigns","description":"List Brevo email campaigns.","inputSchema":{"type":"object","required":["api_key"],"properties":{"limit":{"type":"number","description":"Campaigns to return (max 100, default 25)"},"status":{"type":"string","description":"Filter by status (sent, draft, queued, ...)"},"api_key":{"type":"string","description":"Brevo API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":112,"tokensAfter":112},{"name":"brevo_list_contacts","fixed":{"name":"brevo_list_contacts","description":"List Brevo contacts.","inputSchema":{"type":"object","required":["api_key"],"properties":{"limit":{"type":"number","description":"Contacts to return (max 1000, default 50)"},"offset":{"type":"number","description":"Pagination offset"},"api_key":{"type":"string","description":"Brevo API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"brewery_get","fixed":{"name":"brewery_get","description":"Get a brewery by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":49,"tokensAfter":49},{"name":"brewery_list","fixed":{"name":"brewery_list","description":"List breweries, optionally filtered by city, state, or type.","inputSchema":{"type":"object","properties":{"city":{"type":"string"},"page":{"type":"number"},"type":{"type":"string","description":"micro, nano, regional, brewpub, large, planning, bar, contract, proprietor, closed"},"state":{"type":"string"},"per_page":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"brewery_search","fixed":{"name":"brewery_search","description":"Search breweries by name.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"per_page":{"type":"number","description":"Results per page (max 50)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"brickset_get_set","fixed":{"name":"brickset_get_set","description":"Get a specific LEGO set from Brickset by set number.","inputSchema":{"type":"object","required":["setNumber"],"properties":{"api_key":{"type":"string"},"setNumber":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"brickset_search","fixed":{"name":"brickset_search","description":"Search LEGO sets via Brickset API.","inputSchema":{"type":"object","properties":{"year":{"type":"string"},"query":{"type":"string"},"theme":{"type":"string"},"api_key":{"type":"string"},"pageSize":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"bungie_get_manifest","fixed":{"name":"bungie_get_manifest","description":"Get the Destiny 2 manifest definition.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"bungie_get_profile","fixed":{"name":"bungie_get_profile","description":"Get a Destiny 2 player profile.","inputSchema":{"type":"object","required":["membershipType","membershipId"],"properties":{"api_key":{"type":"string"},"membershipId":{"type":"string"},"membershipType":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"bungie_search_entities","fixed":{"name":"bungie_search_entities","description":"Search Destiny 2 manifest entities.","inputSchema":{"type":"object","required":["entityType","searchTerm"],"properties":{"api_key":{"type":"string"},"entityType":{"type":"string"},"searchTerm":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"bungie_search_player","fixed":{"name":"bungie_search_player","description":"Search for a Destiny 2 player by display name.","inputSchema":{"type":"object","required":["displayName"],"properties":{"api_key":{"type":"string"},"displayName":{"type":"string"},"membershipType":{"type":"number","description":"-1 for all"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"calc_currency_estimate","fixed":{"name":"calc_currency_estimate","description":"Estimate currency conversion using a rough rate.","inputSchema":{"type":"object","required":["amount","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"amount":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"calcom_list_bookings","fixed":{"name":"calcom_list_bookings","description":"List Cal.com bookings, optionally filtered by status.","inputSchema":{"type":"object","required":["api_key"],"properties":{"status":{"type":"string","description":"Filter by status (upcoming, past, cancelled, ...)"},"api_key":{"type":"string","description":"Cal.com API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"calcom_list_event_types","fixed":{"name":"calcom_list_event_types","description":"List your Cal.com bookable event (meeting) types.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string","description":"Cal.com API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"camelsnake_convert","fixed":{"name":"camelsnake_convert","description":"Convert between camelCase, PascalCase, snake_case, kebab-case, and CONSTANT_CASE.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Identifier or text to convert."},"target":{"type":"string","description":"Target case: camel, pascal, snake, kebab, constant. Omit for all."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"cataas_list_tags","fixed":{"name":"cataas_list_tags","description":"List all available cat image tags.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"charcodes_convert","fixed":{"name":"charcodes_convert","description":"Convert characters to Unicode code points in decimal, hex, or binary.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text to convert."},"format":{"type":"string","description":"'decimal' (default), 'hex', or 'binary'."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"check_signals","fixed":{"name":"check_signals","description":"Call at the start of every session to catch up on what happened since the user last chatted. Returns unread signals from TestPass, Crews, Memory, and every UnClick tool. Narrate the important ones to the user in plain English. Automatically marks them as read so you do not re-narrate later.","inputSchema":{"type":"object","properties":{"agent_id":{"type":"string","description":"Stable Boardroom agent_id for read attribution, e.g. chatgpt-codex-worker2."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check signals"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"chess_player_stats","fixed":{"name":"chess_player_stats","description":"Get Chess.com player statistics.","inputSchema":{"type":"object","required":["username"],"properties":{"username":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"chuck_search","fixed":{"name":"chuck_search","description":"Search Chuck Norris jokes by keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query (min 3 chars)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"cidr_calculate","fixed":{"name":"cidr_calculate","description":"Calculate subnet details from a CIDR notation (network, broadcast, mask, host count).","inputSchema":{"type":"object","required":["cidr"],"properties":{"cidr":{"type":"string","description":"CIDR notation (e.g. 192.168.1.0/24)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"circl_cve_lookup","fixed":{"name":"circl_cve_lookup","description":"Look up a CVE vulnerability by ID from CIRCL (cve.circl.lu).","inputSchema":{"type":"object","required":["cve_id"],"properties":{"cve_id":{"type":"string","description":"CVE ID (e.g. CVE-2024-1234)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"circleci_get_pipeline","fixed":{"name":"circleci_get_pipeline","description":"Get details for a single CircleCI pipeline by ID.","inputSchema":{"type":"object","required":["api_key","pipeline_id"],"properties":{"api_key":{"type":"string","description":"CircleCI personal API token"},"pipeline_id":{"type":"string","description":"Pipeline ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"circleci_get_workflow","fixed":{"name":"circleci_get_workflow","description":"Get details for a single CircleCI workflow by ID.","inputSchema":{"type":"object","required":["api_key","workflow_id"],"properties":{"api_key":{"type":"string","description":"CircleCI personal API token"},"workflow_id":{"type":"string","description":"Workflow ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"circleci_list_jobs","fixed":{"name":"circleci_list_jobs","description":"List jobs in a CircleCI workflow.","inputSchema":{"type":"object","required":["api_key","workflow_id"],"properties":{"api_key":{"type":"string","description":"CircleCI personal API token"},"workflow_id":{"type":"string","description":"Workflow ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"circleci_list_pipelines","fixed":{"name":"circleci_list_pipelines","description":"List CircleCI pipelines for a project or organization. Optionally filter by branch.","inputSchema":{"type":"object","required":["api_key"],"properties":{"branch":{"type":"string","description":"Filter by branch name"},"api_key":{"type":"string","description":"CircleCI personal API token"},"org_slug":{"type":"string","description":"Org slug when listing all pipelines (e.g. gh/MyOrg)"},"page_token":{"type":"string","description":"Pagination token"},"project_slug":{"type":"string","description":"Project slug e.g. gh/MyOrg/my-repo. Omit to list all org pipelines."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":180,"tokensAfter":180},{"name":"circleci_list_workflows","fixed":{"name":"circleci_list_workflows","description":"List workflows for a CircleCI pipeline.","inputSchema":{"type":"object","required":["api_key","pipeline_id"],"properties":{"api_key":{"type":"string","description":"CircleCI personal API token"},"pipeline_id":{"type":"string","description":"Pipeline ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"ck_add_subscriber","fixed":{"name":"ck_add_subscriber","description":"Subscribe an email address to a ConvertKit form.","inputSchema":{"type":"object","required":["api_key","form_id","email"],"properties":{"email":{"type":"string"},"api_key":{"type":"string","description":"ConvertKit API key"},"form_id":{"type":"string"},"first_name":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"ck_list_forms","fixed":{"name":"ck_list_forms","description":"List all forms in a ConvertKit account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"ck_list_sequences","fixed":{"name":"ck_list_sequences","description":"List all email sequences in a ConvertKit account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"ck_list_subscribers","fixed":{"name":"ck_list_subscribers","description":"List all subscribers in a ConvertKit account.","inputSchema":{"type":"object","required":["api_secret"],"properties":{"to":{"type":"string"},"from":{"type":"string","description":"Filter by created date (ISO 8601)"},"page":{"type":"number"},"api_secret":{"type":"string","description":"ConvertKit API secret"},"sort_field":{"type":"string"},"sort_order":{"type":"string","description":"asc or desc"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":133,"tokensAfter":133},{"name":"ck_list_tags","fixed":{"name":"ck_list_tags","description":"List all tags in a ConvertKit account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"cloudinary_get_usage","fixed":{"name":"cloudinary_get_usage","description":"Get Cloudinary usage and quota.","inputSchema":{"type":"object","required":["cloud_name","api_key","api_secret"],"properties":{"api_key":{"type":"string","description":"Cloudinary API key"},"api_secret":{"type":"string","description":"Cloudinary API secret"},"cloud_name":{"type":"string","description":"Cloudinary cloud name"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"cloudinary_list_resources","fixed":{"name":"cloudinary_list_resources","description":"List Cloudinary media resources.","inputSchema":{"type":"object","required":["cloud_name","api_key","api_secret"],"properties":{"limit":{"type":"number","description":"Resources to return (max 100, default 25)"},"prefix":{"type":"string","description":"Filter by public_id prefix / folder"},"api_key":{"type":"string","description":"Cloudinary API key"},"api_secret":{"type":"string","description":"Cloudinary API secret"},"cloud_name":{"type":"string","description":"Cloudinary cloud name"},"resource_type":{"type":"string","description":"image (default), video, or raw"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":182,"tokensAfter":182},{"name":"cmc_info","fixed":{"name":"cmc_info","description":"Get cryptocurrency metadata from CoinMarketCap.","inputSchema":{"type":"object","properties":{"id":{"type":"string"},"symbol":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"cmc_listings","fixed":{"name":"cmc_listings","description":"Get latest cryptocurrency listings from CoinMarketCap.","inputSchema":{"type":"object","properties":{"limit":{"type":"number"},"api_key":{"type":"string"},"convert":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"cocktail_get_by_id","fixed":{"name":"cocktail_get_by_id","description":"Get a cocktail/drink by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"TheCocktailDB drink ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"cocktail_ingredient_info","fixed":{"name":"cocktail_ingredient_info","description":"Get details about a cocktail ingredient (description, type, ABV).","inputSchema":{"type":"object","required":["ingredient"],"properties":{"ingredient":{"type":"string","description":"Ingredient name."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"cocktail_search","fixed":{"name":"cocktail_search","description":"Search for cocktails/drinks by name.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"coda_list_docs","fixed":{"name":"coda_list_docs","description":"List your Coda docs.","inputSchema":{"type":"object","required":["api_token"],"properties":{"limit":{"type":"number","description":"Docs to return (max 100, default 25)"},"query":{"type":"string","description":"Filter docs by name"},"api_token":{"type":"string","description":"Coda API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"coda_list_rows","fixed":{"name":"coda_list_rows","description":"List rows in a Coda table.","inputSchema":{"type":"object","required":["api_token","doc_id","table_id"],"properties":{"limit":{"type":"number","description":"Rows to return (max 200, default 25)"},"doc_id":{"type":"string","description":"Coda doc id"},"table_id":{"type":"string","description":"Coda table id or name"},"api_token":{"type":"string","description":"Coda API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"coda_list_tables","fixed":{"name":"coda_list_tables","description":"List the tables in a Coda doc.","inputSchema":{"type":"object","required":["api_token","doc_id"],"properties":{"doc_id":{"type":"string","description":"Coda doc id"},"api_token":{"type":"string","description":"Coda API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"cohere_list_models","fixed":{"name":"cohere_list_models","description":"List all available Cohere models.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":51,"tokensAfter":51},{"name":"color_convert","fixed":{"name":"color_convert","description":"Convert a color from one format into ALL other formats (HEX, RGB, HSL, HSV, CMYK) at once.","inputSchema":{"type":"object","required":["color","from"],"properties":{"from":{"type":"string","description":"Source format: hex, rgb, hsl, hsv, or cmyk"},"color":{"type":"string","description":"The color value, e.g. #ff0000 or rgb(255,0,0)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"color_hex_convert","fixed":{"name":"color_hex_convert","description":"Convert a hex color to RGB and HSL values.","inputSchema":{"type":"object","required":["hex"],"properties":{"hex":{"type":"string","description":"Hex color code (e.g. #FF5733 or FF5733)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"color_info","fixed":{"name":"color_info","description":"Get information about a color (name, complementary, etc.).","inputSchema":{"type":"object","required":["color"],"properties":{"color":{"type":"string"},"format":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"color_name_lookup","fixed":{"name":"color_name_lookup","description":"Find the closest named color for a hex code.","inputSchema":{"type":"object","required":["hex"],"properties":{"hex":{"type":"string","description":"Hex color code (e.g. 'ff5733' or '#ff5733')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"colormind_list_models","fixed":{"name":"colormind_list_models","description":"List available Colormind color models.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":46,"tokensAfter":46},{"name":"commonsensepass_check","fixed":{"name":"commonsensepass_check","description":"Run the verdict-only CommonSensePass sanity gate before a worker claims healthy, quiet, no_work, pass, done, merge_ready, duplicate_wake, or route.","inputSchema":{"type":"object","required":["claim","context"],"properties":{"claim":{"enum":["healthy","quiet","no_work","pass","done","merge_ready","duplicate_wake","route"],"type":"string","description":"Worker claim to sanity-check."},"context":{"type":"object","description":"Evidence packet for the claim, such as todos, active_jobs, PR state, wake state, SHAs, or lane evidence.","additionalProperties":true},"evidence":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Optional evidence entries to echo when no rule-specific evidence is available."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":228,"tokensAfter":228},{"name":"compliancepass_run","fixed":{"name":"compliancepass_run","description":"Run CompliancePass against a local repo path. Returns evidence-backed readiness guidance, gaps, next actions, and an in-session run id. Historical EnterprisePass references are treated as this same product.","inputSchema":{"type":"object","properties":{"repo_path":{"type":"string","description":"Local repository path to scan. Defaults to the MCP server working directory."},"target_sha":{"type":"string","description":"Optional PR or commit SHA for receipt staleness checks"},"target_name":{"type":"string","description":"Human-readable target name for the report. Defaults to UnClick."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":185,"tokensAfter":185},{"name":"compliancepass_status","fixed":{"name":"compliancepass_status","description":"Fetch the stored in-session status and summary for a CompliancePass run.","inputSchema":{"type":"object","required":["run_id"],"properties":{"run_id":{"type":"string","description":"The CompliancePass run id returned by compliancepass_run"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"confluence_get_page","fixed":{"name":"confluence_get_page","description":"Get a Confluence page by id, including its body.","inputSchema":{"type":"object","required":["site","email","api_token","page_id"],"properties":{"site":{"type":"string","description":"Atlassian site (e.g. mycompany)"},"email":{"type":"string","description":"Atlassian account email"},"page_id":{"type":"string","description":"Confluence content/page id"},"api_token":{"type":"string","description":"Atlassian API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"confluence_list_spaces","fixed":{"name":"confluence_list_spaces","description":"List Confluence spaces.","inputSchema":{"type":"object","required":["site","email","api_token"],"properties":{"site":{"type":"string","description":"Atlassian site (e.g. mycompany)"},"email":{"type":"string","description":"Atlassian account email"},"limit":{"type":"number","description":"Spaces to return (max 100, default 50)"},"api_token":{"type":"string","description":"Atlassian API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"confluence_search","fixed":{"name":"confluence_search","description":"Search Confluence pages by text.","inputSchema":{"type":"object","required":["site","email","api_token","query"],"properties":{"site":{"type":"string","description":"Atlassian site (e.g. mycompany)"},"email":{"type":"string","description":"Atlassian account email"},"limit":{"type":"number","description":"Results to return (max 50, default 25)"},"query":{"type":"string","description":"Text to search for"},"api_token":{"type":"string","description":"Atlassian API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":153,"tokensAfter":153},{"name":"contentful_get_entry","fixed":{"name":"contentful_get_entry","description":"Get a single Contentful entry by id.","inputSchema":{"type":"object","required":["access_token","entry_id"],"properties":{"entry_id":{"type":"string","description":"Entry id"},"space_id":{"type":"string","description":"Contentful space id (can be a saved default)"},"environment":{"type":"string","description":"Environment (default master)"},"access_token":{"type":"string","description":"Contentful Content Delivery API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"contentful_list_assets","fixed":{"name":"contentful_list_assets","description":"List Contentful media assets.","inputSchema":{"type":"object","required":["access_token"],"properties":{"limit":{"type":"number","description":"Assets to return (max 100, default 25)"},"space_id":{"type":"string","description":"Contentful space id (can be a saved default)"},"environment":{"type":"string","description":"Environment (default master)"},"access_token":{"type":"string","description":"Contentful Content Delivery API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"contentful_list_content_types","fixed":{"name":"contentful_list_content_types","description":"List Contentful content types (the content model).","inputSchema":{"type":"object","required":["access_token"],"properties":{"space_id":{"type":"string","description":"Contentful space id (can be a saved default)"},"environment":{"type":"string","description":"Environment (default master)"},"access_token":{"type":"string","description":"Contentful Content Delivery API token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"contentful_list_entries","fixed":{"name":"contentful_list_entries","description":"List Contentful entries, optionally filtered by content_type or full-text query.","inputSchema":{"type":"object","required":["access_token"],"properties":{"limit":{"type":"number","description":"Entries to return (max 100, default 25)"},"query":{"type":"string","description":"Full-text search query"},"space_id":{"type":"string","description":"Contentful space id (can be a saved default)"},"environment":{"type":"string","description":"Environment (default master)"},"access_token":{"type":"string","description":"Contentful Content Delivery API token"},"content_type":{"type":"string","description":"Filter to one content type id"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"convert_area","fixed":{"name":"convert_area","description":"Convert between area units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"convert_data_storage","fixed":{"name":"convert_data_storage","description":"Convert between data storage units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"convert_length","fixed":{"name":"convert_length","description":"Convert between length units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"convert_speed","fixed":{"name":"convert_speed","description":"Convert between speed units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"convert_temperature","fixed":{"name":"convert_temperature","description":"Convert between temperature units (C, F, K).","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"convert_volume","fixed":{"name":"convert_volume","description":"Convert between volume units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"convert_weight","fixed":{"name":"convert_weight","description":"Convert between weight/mass units.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"value":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"copypass_run","fixed":{"name":"copypass_run","description":"Start a deterministic CopyPass review for caller-provided AI-generated copy. Returns evidence-backed copy findings, scope boundaries, disclaimer text, a structured copypass_receipt_v1 proof envelope, and optional CopyRoom exact-copy receipt.","inputSchema":{"type":"object","required":[],"properties":{"goal":{"type":"string","description":"Optional goal for the copy, such as clarity, conversion, or trust."},"channel":{"type":"string","description":"Optional surface label such as homepage_hero, pricing_section, or onboarding_email."},"profile":{"enum":["smoke","standard","deep"],"type":"string","description":"Review depth label for this scoped run. Defaults to smoke."},"audience":{"type":"string","description":"Optional intended audience for the copy."},"copy_text":{"type":"string","description":"The AI-generated copy to review. Optional when copyroom_source_packet is provided; exact-copy verification compares this text byte-for-byte against the packet."},"copyroom_required":{"type":"boolean","description":"Set true when exact fidelity matters. Missing copyroom_source_packet returns COPYROOM_MISSING instead of a run with a null receipt."},"copyroom_source_packet":{"type":"object","required":["source_id","source_pointer","text"],"properties":{"text":{"type":"string","description":"Exact source text to copy or verify."},"encoding":{"enum":["utf8"],"type":"string","description":"CopyRoom v1 encoding. Defaults to utf8."},"source_id":{"type":"string","description":"Stable source identifier."},"newline_policy":{"enum":["preserve"],"type":"string","description":"CopyRoom v1 newline policy. Defaults to preserve."},"source_pointer":{"type":"string","description":"Pointer to the CopyRoom/source location."}},"description":"Exact source packet for CopyRoom fidelity work. Use this instead of retyping source text when code, prompts, labels, tables, documents, or user-provided text must stay exact.","additionalProperties":false},"copyroom_output_pointer":{"type":"string","description":"Pointer to the intended output artifact for the CopyRoom receipt."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":595,"tokensAfter":595},{"name":"copypass_status","fixed":{"name":"copypass_status","description":"Fetch the current status, notes, deterministic findings, disclaimer, copypass_receipt_v1 proof envelope, and CopyRoom receipt for a CopyPass run started in this MCP session.","inputSchema":{"type":"object","required":["run_id"],"properties":{"run_id":{"type":"string","description":"The run id returned by copypass_run"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"cosinesim_compare","fixed":{"name":"cosinesim_compare","description":"Calculate cosine similarity between two texts using word frequency vectors.","inputSchema":{"type":"object","required":["text_a","text_b"],"properties":{"text_a":{"type":"string","description":"First text."},"text_b":{"type":"string","description":"Second text."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"countdown_calc","fixed":{"name":"countdown_calc","description":"Calculate days, weeks until or since a given date.","inputSchema":{"type":"object","required":["date"],"properties":{"date":{"type":"string","description":"Target date (YYYY-MM-DD)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"counting_sort","fixed":{"name":"counting_sort","description":"Sort an array of integers in O(n+k) time using counting sort, with frequency analysis.","inputSchema":{"type":"object","required":["values"],"properties":{"values":{"type":"array","items":{"type":"number"},"description":"Array of integers to sort"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"country_all","fixed":{"name":"country_all","description":"Get all countries from REST Countries.","inputSchema":{"type":"object","properties":{"fields":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":50,"tokensAfter":50},{"name":"country_by_code","fixed":{"name":"country_by_code","description":"Get a country by code from REST Countries.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"country_by_currency","fixed":{"name":"country_by_currency","description":"Get countries by currency from REST Countries.","inputSchema":{"type":"object","required":["currency"],"properties":{"currency":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"country_by_ip","fixed":{"name":"country_by_ip","description":"Detect country from an IP address using country.is.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IP address to look up (omit for auto-detect)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"country_by_language","fixed":{"name":"country_by_language","description":"Get countries by language from REST Countries.","inputSchema":{"type":"object","required":["language"],"properties":{"language":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"country_by_name","fixed":{"name":"country_by_name","description":"Get a country by name from REST Countries.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"fullText":{"type":"boolean"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"country_by_region","fixed":{"name":"country_by_region","description":"Get countries by region from REST Countries.","inputSchema":{"type":"object","required":["region"],"properties":{"region":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"country_flag_url","fixed":{"name":"country_flag_url","description":"Get a country flag image URL by ISO 2-letter code.","inputSchema":{"type":"object","required":["country_code"],"properties":{"size":{"type":"number","description":"Size: 16, 32, 48, or 64 (default 64)"},"style":{"type":"string","description":"flat (PNG) or svg (default flat)"},"country_code":{"type":"string","description":"2-letter ISO country code (e.g. US, GB, AU)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"country_info_detail","fixed":{"name":"country_info_detail","description":"Get country details (borders, languages, official name) from Nager.Date.","inputSchema":{"type":"object","required":["country_code"],"properties":{"country_code":{"type":"string","description":"ISO 3166-1 alpha-2 country code (e.g. AU, US)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"covid_country","fixed":{"name":"covid_country","description":"Get COVID-19 statistics for a specific country from disease.sh.","inputSchema":{"type":"object","required":["country"],"properties":{"country":{"type":"string","description":"Country name (e.g. USA, UK, Australia)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"crates_get","fixed":{"name":"crates_get","description":"Get detailed info for a Rust crate by name from crates.io.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Crate name."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"crates_search","fixed":{"name":"crates_search","description":"Search Rust crates on crates.io by name or keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Crate name or keyword."},"per_page":{"type":"number","description":"Results per page (default 10, max 50)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"crc32_calculate","fixed":{"name":"crc32_calculate","description":"Calculate CRC32 checksum for text input.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text to checksum."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"create_asana_task","fixed":{"name":"create_asana_task","description":"Create a new task in Asana.","inputSchema":{"type":"object","required":["name","workspace_gid"],"properties":{"name":{"type":"string","description":"Task name"},"notes":{"type":"string","description":"Task description"},"due_on":{"type":"string","description":"Due date (YYYY-MM-DD)"},"api_key":{"type":"string"},"assignee":{"type":"string","description":"Assignee GID or 'me'"},"projects":{"type":"array","items":{"type":"string"},"description":"Project GIDs to add the task to"},"workspace_gid":{"type":"string","description":"Workspace GID"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172},{"name":"create_expressroom_draft","fixed":{"name":"create_expressroom_draft","description":"Creates a Manual DraftRoom draft. DraftRoom is the first station when a capable subscription chat seat has fresh build context. Build or fit the smallest safe draft immediately, then store the brief, job mirror, short description, and supplied draft code. Do not park fresh context for a low-capacity unattended runner unless the chat seat records the exact blocker and next build step. Alarm bell: this does not mark official work done. It stores untrusted draft material so it can later enter the o","inputSchema":{"type":"object","required":["agent_id","job_name_mirror","short_description","brief_markdown","supplied_code","supplied_code_status"],"properties":{"agent_id":{"type":"string","description":"Stable identifier for the calling agent."},"supplied_code":{"type":"string","description":"Required capture field for concrete code, patch notes, file contents, pseudocode, ScopePack, or test outline supplied by the chat-first builder. If no code is supplied, record the exact blocker and next build step."},"brief_markdown":{"type":"string","description":"Detailed intake brief from the chat."},"job_name_mirror":{"type":"string","description":"The official job name or intended official job name."},"official_todo_id":{"type":"string","description":"Optional existing Jobs Board todo id to mirror."},"short_description":{"type":"string","description":"Quick read of the draft job."},"supplied_code_status":{"enum":["not_supplied","partial","complete","unknown"],"type":"string","default":"not_supplied"},"source_chat_session_id":{"type":"string","description":"Optional source chat/session id."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create a DraftRoom Manual draft"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":469,"tokensAfter":469},{"name":"create_idea","fixed":{"name":"create_idea","description":"Drops a new idea into the Boardroom Ideas board so the pack can react and vote. Use when something is too speculative for a todo but worth capturing. agent_id required. Posts an 'idea-created' Boardroom event.","inputSchema":{"type":"object","required":["agent_id","title"],"properties":{"title":{"type":"string","description":"Short title (max 200 chars)"},"agent_id":{"type":"string"},"description":{"type":"string","description":"Optional longer description (max 4000 chars)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Propose a Boardroom idea"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":153,"tokensAfter":153},{"name":"create_monday_item","fixed":{"name":"create_monday_item","description":"Create a new item in a Monday.com board.","inputSchema":{"type":"object","required":["board_id","item_name"],"properties":{"api_key":{"type":"string"},"board_id":{"type":"string","description":"Board ID"},"group_id":{"type":"string","description":"Group ID to add the item to"},"item_name":{"type":"string","description":"Item name"},"column_values":{"type":"object","description":"Column values as JSON object","additionalProperties":true}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":144,"tokensAfter":144},{"name":"create_pinterest_pin","fixed":{"name":"create_pinterest_pin","description":"Create a new Pinterest pin from an image URL.","inputSchema":{"type":"object","required":["board_id","media_source_url"],"properties":{"link":{"type":"string","description":"Destination URL when pin is clicked"},"title":{"type":"string"},"board_id":{"type":"string","description":"Board ID to pin to"},"description":{"type":"string"},"access_token":{"type":"string"},"board_section_id":{"type":"string"},"media_source_url":{"type":"string","description":"Public image URL"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154},{"name":"create_todo","fixed":{"name":"create_todo","description":"Creates a new todo card on the Boardroom Todos kanban so the agent pack and the human can both see what's on deck. Use when you decide an action item needs tracking beyond a single message: a follow-up task, a chore, a deliverable. Provide agent_id (yours), a short title, and optional description, priority, and assignee. Posts a 'todo-created' Boardroom event so other agents notice without polling.","inputSchema":{"type":"object","required":["agent_id","title"],"properties":{"title":{"type":"string","description":"Short title (max 200 chars)"},"due_at":{"type":"string","description":"Optional due date in ISO format. A date-only value like 2026-06-15 means due by the end of that day."},"agent_id":{"type":"string","description":"Stable identifier for the calling agent. Same value as set_my_emoji."},"priority":{"enum":["low","normal","high","urgent"],"type":"string","default":"normal"},"description":{"type":"string","description":"Optional longer description (max 4000 chars)"},"assigned_to_agent_id":{"type":"string","description":"Optional agent_id of the agent who should own this todo"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Create a Boardroom todo"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":325,"tokensAfter":325},{"name":"crontab_explain","fixed":{"name":"crontab_explain","description":"Explain a cron expression in human-readable terms.","inputSchema":{"type":"object","required":["expression"],"properties":{"expression":{"type":"string","description":"Cron expression (e.g. '0 9 * * 1-5') or shortcut (@daily, @hourly)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"crossref_get_work","fixed":{"name":"crossref_get_work","description":"Get full metadata for an academic paper by DOI from Crossref.","inputSchema":{"type":"object","required":["doi"],"properties":{"doi":{"type":"string","description":"DOI of the paper (e.g. 10.1038/nature12373)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"crossref_search_works","fixed":{"name":"crossref_search_works","description":"Search academic papers on Crossref by title, author, or keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"rows":{"type":"number","description":"Max results (default 5, max 20)."},"query":{"type":"string","description":"Search query (title, author, or keyword)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"crypto_search","fixed":{"name":"crypto_search","description":"Search for cryptocurrencies on CoinGecko.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"csuite_analyze","fixed":{"name":"csuite_analyze","description":"Run a C-Suite multi-perspective analysis on a business scenario.","inputSchema":{"type":"object","required":["scenario"],"properties":{"depth":{"enum":["quick","standard","deep"],"type":"string","description":"quick, standard, or deep"},"focus":{"type":"string"},"context":{"type":"string"},"scenario":{"type":"string"},"perspectives":{"type":"array","items":{},"description":"e.g. [\"CEO\",\"CFO\",\"CTO\"]"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"currency_api_list","fixed":{"name":"currency_api_list","description":"List all supported currency codes from fawazahmed0 currency API.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"dadjoke_search","fixed":{"name":"dadjoke_search","description":"Search for dad jokes by keyword.","inputSchema":{"type":"object","required":["term"],"properties":{"page":{"type":"number","description":"Page number (default 1)"},"term":{"type":"string","description":"Search keyword"},"limit":{"type":"number","description":"Results per page (max 30, default 20)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"datadog_create_monitor","fixed":{"name":"datadog_create_monitor","description":"Create a new Datadog monitor (alert).","inputSchema":{"type":"object","required":["api_key","app_key","name","query"],"properties":{"name":{"type":"string","description":"Monitor name"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to attach to the monitor"},"type":{"type":"string","description":"Monitor type (e.g. metric alert, service check, event alert)"},"query":{"type":"string","description":"Monitor query expression"},"api_key":{"type":"string","description":"Datadog API key"},"app_key":{"type":"string","description":"Datadog Application key"},"message":{"type":"string","description":"Notification message"},"priority":{"type":"number","maximum":5,"minimum":1,"description":"Monitor priority (1-5)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":227,"tokensAfter":227},{"name":"datadog_get_monitor","fixed":{"name":"datadog_get_monitor","description":"Get details for a specific Datadog monitor.","inputSchema":{"type":"object","required":["api_key","app_key","monitor_id"],"properties":{"api_key":{"type":"string","description":"Datadog API key"},"app_key":{"type":"string","description":"Datadog Application key"},"monitor_id":{"type":"string","description":"Monitor ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"datadog_list_dashboards","fixed":{"name":"datadog_list_dashboards","description":"List Datadog dashboards.","inputSchema":{"type":"object","required":["api_key","app_key"],"properties":{"api_key":{"type":"string","description":"Datadog API key"},"app_key":{"type":"string","description":"Datadog Application key"},"filter_shared":{"type":"boolean","description":"Filter to shared dashboards only"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"datadog_list_events","fixed":{"name":"datadog_list_events","description":"List Datadog events stream for a time range.","inputSchema":{"type":"object","required":["api_key","app_key"],"properties":{"end":{"type":"number","description":"End time as Unix timestamp (default: now)"},"tags":{"type":"string","description":"Comma-separated tags to filter events"},"start":{"type":"number","description":"Start time as Unix timestamp (default: 1 hour ago)"},"api_key":{"type":"string","description":"Datadog API key"},"app_key":{"type":"string","description":"Datadog Application key"},"sources":{"type":"string","description":"Comma-separated event sources"},"priority":{"enum":["normal","low"],"type":"string","description":"Filter by event priority"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"datadog_list_monitors","fixed":{"name":"datadog_list_monitors","description":"List Datadog monitors (alerts) with optional name or tag filters.","inputSchema":{"type":"object","required":["api_key","app_key"],"properties":{"name":{"type":"string","description":"Filter monitors by name"},"page":{"type":"number","description":"Page number (0-indexed)"},"tags":{"type":"string","description":"Comma-separated monitor tags to filter by"},"api_key":{"type":"string","description":"Datadog API key (DD-API-KEY)"},"app_key":{"type":"string","description":"Datadog Application key (DD-APPLICATION-KEY)"},"page_size":{"type":"number","description":"Monitors per page (max: 1000)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":188,"tokensAfter":188},{"name":"datadog_query_metrics","fixed":{"name":"datadog_query_metrics","description":"Query Datadog metrics time-series data.","inputSchema":{"type":"object","required":["api_key","app_key","query"],"properties":{"to":{"type":"number","description":"End time as Unix timestamp (default: now)"},"from":{"type":"number","description":"Start time as Unix timestamp (default: 1 hour ago)"},"query":{"type":"string","description":"Datadog metric query (e.g. avg:system.cpu.user{*})"},"api_key":{"type":"string","description":"Datadog API key"},"app_key":{"type":"string","description":"Datadog Application key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":167},{"name":"datetime_add_to_date","fixed":{"name":"datetime_add_to_date","description":"Add a duration to a date.","inputSchema":{"type":"object","required":["date"],"properties":{"date":{"type":"string"},"days":{"type":"number"},"hours":{"type":"number"},"years":{"type":"number"},"months":{"type":"number"},"minutes":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"datetime_convert_timezone","fixed":{"name":"datetime_convert_timezone","description":"Convert a datetime from one timezone to another.","inputSchema":{"type":"object","required":["datetime","from_timezone","to_timezone"],"properties":{"datetime":{"type":"string"},"to_timezone":{"type":"string"},"from_timezone":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"dblp_search_authors","fixed":{"name":"dblp_search_authors","description":"Search DBLP for computer science researchers.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Author name."},"max_results":{"type":"number","description":"Max results (default 10, max 30)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"dblp_search_publications","fixed":{"name":"dblp_search_publications","description":"Search DBLP for computer science publications.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Title, author, or keyword."},"max_results":{"type":"number","description":"Max results (default 10, max 30)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"deepl_get_usage","fixed":{"name":"deepl_get_usage","description":"Get DeepL API usage and quota information for the current billing period.","inputSchema":{"type":"object","required":["auth_key"],"properties":{"auth_key":{"type":"string","description":"DeepL Auth Key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"deepl_list_languages","fixed":{"name":"deepl_list_languages","description":"List all languages supported by DeepL for translation.","inputSchema":{"type":"object","required":["auth_key"],"properties":{"type":{"enum":["source","target"],"type":"string","description":"Language direction (default: target)"},"auth_key":{"type":"string","description":"DeepL Auth Key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"deezer_get_album","fixed":{"name":"deezer_get_album","description":"Get a Deezer album by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"deezer_get_artist","fixed":{"name":"deezer_get_artist","description":"Get a Deezer artist by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"deezer_get_track","fixed":{"name":"deezer_get_track","description":"Get a Deezer track by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":52,"tokensAfter":52},{"name":"deezer_search","fixed":{"name":"deezer_search","description":"Search Deezer for tracks, artists, or albums.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"type":{"type":"string","description":"track, artist, album, playlist"},"limit":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"deezer_search_playlist","fixed":{"name":"deezer_search_playlist","description":"Search for Deezer playlists.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"limit":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"delete_todo","fixed":{"name":"delete_todo","description":"Hard-deletes a todo and any comments on it. Use sparingly: prefer drop_todo so history is preserved. agent_id required for the audit log.","inputSchema":{"type":"object","required":["agent_id","todo_id"],"properties":{"todo_id":{"type":"string"},"agent_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Delete a Boardroom todo"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"descriptive_stats","fixed":{"name":"descriptive_stats","description":"Compute descriptive statistics: mean, median, mode, std, variance, skewness, kurtosis, quartiles, IQR, and more.","inputSchema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"number"},"description":"Numeric data array"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"dfs_search","fixed":{"name":"dfs_search","description":"Depth-first search on a graph. Finds a path, visit order, reachable count, and detects cycles.","inputSchema":{"type":"object","required":["edges","start"],"properties":{"edges":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"}}},"description":"Array of edges"},"start":{"type":"string","description":"Start node"},"target":{"type":"string","description":"Optional target node"},"directed":{"type":"boolean","description":"Whether the graph is directed (default true)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":163,"tokensAfter":163},{"name":"dictionary_lookup","fixed":{"name":"dictionary_lookup","description":"Look up a word's definition, phonetics, and examples.","inputSchema":{"type":"object","required":["word"],"properties":{"word":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"dictionary_lookup_language","fixed":{"name":"dictionary_lookup_language","description":"Look up a word in a specific language (es, fr, de, it, ja, etc).","inputSchema":{"type":"object","required":["word","language"],"properties":{"word":{"type":"string"},"language":{"type":"string","description":"Language code (e.g. es, fr, de, it, ja)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"discogs_get_artist","fixed":{"name":"discogs_get_artist","description":"Get a Discogs artist by ID.","inputSchema":{"type":"object","required":["artist_id"],"properties":{"api_key":{"type":"string"},"artist_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"discogs_get_label","fixed":{"name":"discogs_get_label","description":"Get a Discogs record label by ID.","inputSchema":{"type":"object","required":["label_id"],"properties":{"api_key":{"type":"string"},"label_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"discogs_get_release","fixed":{"name":"discogs_get_release","description":"Get a Discogs release by ID.","inputSchema":{"type":"object","required":["release_id"],"properties":{"api_key":{"type":"string"},"release_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"discogs_marketplace_stats","fixed":{"name":"discogs_marketplace_stats","description":"Get Discogs marketplace stats for a release.","inputSchema":{"type":"object","required":["release_id"],"properties":{"api_key":{"type":"string"},"release_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"discogs_search_artists","fixed":{"name":"discogs_search_artists","description":"Search for artists on Discogs.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"discogs_search_releases","fixed":{"name":"discogs_search_releases","description":"Search for music releases on Discogs.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"type":{"type":"string"},"year":{"type":"number"},"genre":{"type":"string"},"artist":{"type":"string"},"format":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"discord_read","fixed":{"name":"discord_read","description":"Read messages from a Discord channel.","inputSchema":{"type":"object","required":["bot_token","channel_id"],"properties":{"limit":{"type":"number"},"before":{"type":"string"},"bot_token":{"type":"string"},"channel_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"discord_search","fixed":{"name":"discord_search","description":"Search messages in a Discord guild.","inputSchema":{"type":"object","required":["bot_token","guild_id"],"properties":{"content":{"type":"string"},"guild_id":{"type":"string"},"author_id":{"type":"string"},"bot_token":{"type":"string"},"channel_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"discord_send","fixed":{"name":"discord_send","description":"Send a message to a Discord channel.","inputSchema":{"type":"object","required":["bot_token","channel_id","content"],"properties":{"embeds":{"type":"array","items":{}},"content":{"type":"string"},"bot_token":{"type":"string"},"channel_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"disney_character_search","fixed":{"name":"disney_character_search","description":"Search Disney characters by name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Character name to search"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"dnd_get_class","fixed":{"name":"dnd_get_class","description":"Get a D&D 5e class by index (e.g. wizard, fighter).","inputSchema":{"type":"object","required":["class"],"properties":{"class":{"type":"string","description":"Class index (e.g. 'wizard', 'fighter')"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"dnd_get_monster","fixed":{"name":"dnd_get_monster","description":"Get a D&D 5e monster stat block by index.","inputSchema":{"type":"object","required":["monster"],"properties":{"monster":{"type":"string","description":"Monster index (e.g. 'goblin', 'adult-red-dragon')"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"dnd_get_spell","fixed":{"name":"dnd_get_spell","description":"Get a D&D 5e spell by name/index.","inputSchema":{"type":"object","required":["spell"],"properties":{"spell":{"type":"string","description":"Spell index (e.g. 'fireball', 'magic-missile')"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"dnd_list_classes","fixed":{"name":"dnd_list_classes","description":"List all D&D 5e character classes.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"dnd_list_monsters","fixed":{"name":"dnd_list_monsters","description":"List D&D 5e monsters, optionally by challenge rating.","inputSchema":{"type":"object","properties":{"challenge_rating":{"type":"string","description":"Filter by CR (e.g. '1', '0.25')"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"dnd_list_spells","fixed":{"name":"dnd_list_spells","description":"List D&D 5e spells, optionally filtered.","inputSchema":{"type":"object","properties":{"level":{"type":"number","description":"Filter by spell level (0-9)"},"school":{"type":"string","description":"Filter by school (e.g. 'evocation')"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"do_list_apps","fixed":{"name":"do_list_apps","description":"List DigitalOcean App Platform apps.","inputSchema":{"type":"object","required":["access_token"],"properties":{"limit":{"type":"number","description":"Apps to return (max 200, default 25)"},"access_token":{"type":"string","description":"DigitalOcean personal access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"do_list_databases","fixed":{"name":"do_list_databases","description":"List DigitalOcean managed database clusters.","inputSchema":{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"DigitalOcean personal access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"do_list_droplets","fixed":{"name":"do_list_droplets","description":"List DigitalOcean droplets (signals when any are powered off).","inputSchema":{"type":"object","required":["access_token"],"properties":{"limit":{"type":"number","description":"Droplets to return (max 200, default 25)"},"tag_name":{"type":"string","description":"Filter droplets by tag"},"access_token":{"type":"string","description":"DigitalOcean personal access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124},{"name":"dog_breed_list","fixed":{"name":"dog_breed_list","description":"List sub-breeds of a specific dog breed.","inputSchema":{"type":"object","required":["breed"],"properties":{"breed":{"type":"string","description":"Breed name (e.g. bulldog, hound)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"dog_list_breeds","fixed":{"name":"dog_list_breeds","description":"List all dog breeds and sub-breeds.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"dohdns_resolve","fixed":{"name":"dohdns_resolve","description":"Resolve DNS records for a domain via Google DNS-over-HTTPS.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"Domain name to resolve."},"type":{"type":"string","description":"Record type: A, AAAA, MX, TXT, CNAME, NS (default: A)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"domain_get_property","fixed":{"name":"domain_get_property","description":"Get details for a specific Domain property listing.","inputSchema":{"type":"object","required":["listing_id"],"properties":{"api_key":{"type":"string"},"listing_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"domain_search_listings","fixed":{"name":"domain_search_listings","description":"Search Australian property listings on Domain.","inputSchema":{"type":"object","properties":{"state":{"type":"string"},"suburb":{"type":"string"},"api_key":{"type":"string"},"maxPrice":{"type":"number"},"minPrice":{"type":"number"},"pageSize":{"type":"number"},"postcode":{"type":"string"},"listingType":{"type":"string","description":"Sale or Rent"},"maxBedrooms":{"type":"number"},"minBedrooms":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"domain_suburb_stats","fixed":{"name":"domain_suburb_stats","description":"Get property market statistics for an Australian suburb.","inputSchema":{"type":"object","required":["suburb","state"],"properties":{"state":{"type":"string"},"suburb":{"type":"string"},"api_key":{"type":"string"},"postcode":{"type":"string"},"propertyCategory":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"domainsdb_search","fixed":{"name":"domainsdb_search","description":"Search registered domain names by keyword or pattern.","inputSchema":{"type":"object","required":["domain"],"properties":{"zone":{"type":"string","description":"TLD zone filter (e.g. 'com', 'org', 'io')."},"limit":{"type":"number","description":"Max results (default 20)."},"domain":{"type":"string","description":"Domain keyword to search (e.g. 'google', 'shop')."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":123,"tokensAfter":123},{"name":"drive_read","fixed":{"name":"drive_read","description":"Read Google Drive file metadata and a safe text preview when available.","inputSchema":{"type":"object","required":["file_id"],"properties":{"file_id":{"type":"string","description":"Google Drive file id"},"access_token":{"type":"string","description":"Google Drive access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"drive_search","fixed":{"name":"drive_search","description":"Search or list Google Drive files in the connected account.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Advanced Drive query string"},"limit":{"type":"number","description":"Files to return (max 100, default 20)"},"query":{"type":"string","description":"File-name search text"},"page_token":{"type":"string","description":"Drive page token from a previous response"},"access_token":{"type":"string","description":"Google Drive access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":153,"tokensAfter":153},{"name":"drop_todo","fixed":{"name":"drop_todo","description":"Marks a todo as dropped (decided not to do it). Soft state, not a delete. Use when a todo is obsolete but the history still matters. agent_id required.","inputSchema":{"type":"object","required":["agent_id","todo_id"],"properties":{"todo_id":{"type":"string"},"agent_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false},"title":"Drop a Boardroom todo"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"dropbox_get_account","fixed":{"name":"dropbox_get_account","description":"Get the current Dropbox account profile.","inputSchema":{"type":"object","properties":{"access_token":{"type":"string","description":"Dropbox access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"dropbox_list_folder","fixed":{"name":"dropbox_list_folder","description":"List files and folders in a Dropbox path (empty path = root).","inputSchema":{"type":"object","properties":{"path":{"type":"string","description":"Folder path (empty string for root)"},"limit":{"type":"number","description":"Entries to return (max 2000, default 100)"},"access_token":{"type":"string","description":"Dropbox access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"dropbox_search","fixed":{"name":"dropbox_search","description":"Search Dropbox for files and folders by name.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"number","description":"Results to return (max 1000, default 25)"},"query":{"type":"string","description":"File or folder name to search for"},"access_token":{"type":"string","description":"Dropbox access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":115,"tokensAfter":115},{"name":"dummyjson_search_products","fixed":{"name":"dummyjson_search_products","description":"Search fake products by keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search keyword"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"ebay_get_categories","fixed":{"name":"ebay_get_categories","description":"Get the eBay category tree for a marketplace.","inputSchema":{"type":"object","required":["client_id","client_secret"],"properties":{"client_id":{"type":"string"},"marketplace":{"type":"string"},"client_secret":{"type":"string"},"category_tree_id":{"type":"string","description":"Category tree ID (0 = US default)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"ebay_get_item","fixed":{"name":"ebay_get_item","description":"Get full details for an eBay item by item ID.","inputSchema":{"type":"object","required":["client_id","client_secret","item_id"],"properties":{"item_id":{"type":"string","description":"eBay item ID (e.g. v1|123456789|0)"},"client_id":{"type":"string"},"fieldgroups":{"type":"string"},"marketplace":{"type":"string"},"client_secret":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"ebay_get_item_by_legacy_id","fixed":{"name":"ebay_get_item_by_legacy_id","description":"Get an eBay item by its legacy item ID (classic numeric ID).","inputSchema":{"type":"object","required":["client_id","client_secret","legacy_item_id"],"properties":{"client_id":{"type":"string"},"marketplace":{"type":"string"},"client_secret":{"type":"string"},"legacy_item_id":{"type":"string","description":"Legacy eBay item ID (numeric)"},"legacy_variation_id":{"type":"string"},"legacy_variation_sku":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"ebay_search","fixed":{"name":"ebay_search","description":"Search eBay listings via the Browse API.","inputSchema":{"type":"object","required":["client_id","client_secret","q"],"properties":{"q":{"type":"string","description":"Search query"},"sort":{"type":"string","description":"Sort order (e.g. price, -price, newlyListed)"},"limit":{"type":"number","description":"Results per page (max 200, default 20)"},"filter":{"type":"string","description":"eBay filter string (e.g. price:[10..50])"},"offset":{"type":"number"},"client_id":{"type":"string","description":"eBay application Client ID"},"marketplace":{"type":"string","description":"Marketplace ID (default: EBAY_US)"},"category_ids":{"type":"string","description":"Comma-separated category IDs"},"client_secret":{"type":"string","description":"eBay application Client Secret"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":235,"tokensAfter":235},{"name":"ebird_species_info","fixed":{"name":"ebird_species_info","description":"Get information about a bird species from eBird.","inputSchema":{"type":"object","required":["speciesCode"],"properties":{"api_key":{"type":"string"},"speciesCode":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"elevenlabs_get_history","fixed":{"name":"elevenlabs_get_history","description":"Get the TTS generation history for an ElevenLabs account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"},"voice_id":{"type":"string","description":"Filter history by voice ID"},"page_size":{"type":"number"},"start_after_history_item_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"elevenlabs_get_models","fixed":{"name":"elevenlabs_get_models","description":"List available ElevenLabs TTS models and their supported languages.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"elevenlabs_get_voice","fixed":{"name":"elevenlabs_get_voice","description":"Get metadata for a specific ElevenLabs voice by ID.","inputSchema":{"type":"object","required":["api_key","voice_id"],"properties":{"api_key":{"type":"string"},"voice_id":{"type":"string"},"with_settings":{"type":"boolean","description":"Include voice settings (stability, similarity_boost)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"elevenlabs_list_voices","fixed":{"name":"elevenlabs_list_voices","description":"List all available voices in ElevenLabs.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"email_delete","fixed":{"name":"email_delete","description":"Delete an email by UID.","inputSchema":{"type":"object","required":["uid"],"properties":{"uid":{"type":"string"},"email":{"type":"string"},"folder":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"email_get","fixed":{"name":"email_get","description":"Get a specific email by UID.","inputSchema":{"type":"object","required":["uid"],"properties":{"uid":{"type":"string"},"email":{"type":"string"},"folder":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"email_mark_read","fixed":{"name":"email_mark_read","description":"Mark an email as read.","inputSchema":{"type":"object","required":["uid"],"properties":{"uid":{"type":"string"},"email":{"type":"string"},"folder":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"email_read_inbox","fixed":{"name":"email_read_inbox","description":"Read emails from an inbox.","inputSchema":{"type":"object","properties":{"email":{"type":"string"},"limit":{"type":"number"},"folder":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"email_search","fixed":{"name":"email_search","description":"Search emails in an inbox.","inputSchema":{"type":"object","required":["query"],"properties":{"email":{"type":"string"},"limit":{"type":"number"},"query":{"type":"string"},"folder":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"email_send","fixed":{"name":"email_send","description":"Send an email via Gmail/IMAP.","inputSchema":{"type":"object","required":["to","subject","body"],"properties":{"cc":{"type":"string"},"to":{"type":"string"},"bcc":{"type":"string"},"body":{"type":"string"},"email":{"type":"string"},"subject":{"type":"string"},"password":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"emoji_lookup","fixed":{"name":"emoji_lookup","description":"Search emojis by name or keyword.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search term (e.g. heart, fire, smile)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"entropy_calculate","fixed":{"name":"entropy_calculate","description":"Calculate Shannon entropy of text (measures randomness/information density).","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text to measure."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"epoch_convert","fixed":{"name":"epoch_convert","description":"Convert a Unix epoch timestamp to ISO 8601 and human-readable formats.","inputSchema":{"type":"object","required":["timestamp"],"properties":{"timestamp":{"type":"number","description":"Unix epoch (seconds or milliseconds)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"espn_team_info","fixed":{"name":"espn_team_info","description":"Get team information from ESPN.","inputSchema":{"type":"object","required":["sport","league","team_id"],"properties":{"sport":{"type":"string"},"league":{"type":"string"},"team_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"esports_get_match","fixed":{"name":"esports_get_match","description":"Get details for a specific esports match by ID.","inputSchema":{"type":"object","required":["match_id"],"properties":{"api_key":{"type":"string"},"match_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"etsy_get_listing","fixed":{"name":"etsy_get_listing","description":"Get details for a single Etsy listing by listing ID.","inputSchema":{"type":"object","required":["api_key","listing_id"],"properties":{"api_key":{"type":"string"},"includes":{"type":"string","description":"Comma-separated includes (Images, Shop, etc.)"},"listing_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"etsy_get_shop","fixed":{"name":"etsy_get_shop","description":"Get details for an Etsy shop by shop ID or numeric ID.","inputSchema":{"type":"object","required":["api_key","shop_id"],"properties":{"api_key":{"type":"string"},"shop_id":{"type":"string","description":"Shop ID or shop name"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"etsy_get_shop_listings","fixed":{"name":"etsy_get_shop_listings","description":"Get active listings for an Etsy shop.","inputSchema":{"type":"object","required":["api_key","shop_id"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"api_key":{"type":"string"},"shop_id":{"type":"string"},"sort_on":{"type":"string"},"sort_order":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"etsy_search_listings","fixed":{"name":"etsy_search_listings","description":"Search active Etsy listings by keyword.","inputSchema":{"type":"object","required":["api_key","keywords"],"properties":{"limit":{"type":"number","description":"Results per page (max 100, default 25)"},"offset":{"type":"number"},"api_key":{"type":"string","description":"Etsy API key"},"sort_on":{"enum":["created","price","score","updated"],"type":"string","description":"Sort field (created, price, score, updated)"},"keywords":{"type":"string","description":"Search keywords"},"location":{"type":"string"},"max_price":{"type":"number"},"min_price":{"type":"number"},"sort_order":{"enum":["asc","desc"],"type":"string","description":"asc or desc"},"taxonomy_id":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"etsy_search_shops","fixed":{"name":"etsy_search_shops","description":"Search for Etsy shops by name.","inputSchema":{"type":"object","required":["api_key","shop_name"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"api_key":{"type":"string"},"shop_name":{"type":"string","description":"Shop name to search for"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"europeana_search","fixed":{"name":"europeana_search","description":"Search Europeana for European cultural heritage objects (art, books, music, film).","inputSchema":{"type":"object","required":["query"],"properties":{"rows":{"type":"number","description":"Results per page (max 100, default 10)."},"query":{"type":"string","description":"Search query."},"start":{"type":"number","description":"Result offset (default 1)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":120,"tokensAfter":120},{"name":"eventbrite_create_event","fixed":{"name":"eventbrite_create_event","description":"Create an event on Eventbrite under an organization.","inputSchema":{"type":"object","required":["name","organization_id","start_utc","end_utc","timezone","currency"],"properties":{"name":{"type":"string","description":"Event name/title"},"api_key":{"type":"string"},"end_utc":{"type":"string","description":"End time in UTC, e.g. 2026-07-01T21:00:00Z"},"currency":{"type":"string","description":"ISO currency code, e.g. USD"},"timezone":{"type":"string","description":"IANA timezone, e.g. America/New_York"},"venue_id":{"type":"string"},"start_utc":{"type":"string","description":"Start time in UTC, e.g. 2026-07-01T19:00:00Z"},"organization_id":{"type":"string","description":"Eventbrite organization id that will own the event"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":226,"tokensAfter":226},{"name":"eventbrite_get_attendees","fixed":{"name":"eventbrite_get_attendees","description":"Get attendees for an Eventbrite event.","inputSchema":{"type":"object","required":["event_id"],"properties":{"api_key":{"type":"string"},"event_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"eventbrite_get_event","fixed":{"name":"eventbrite_get_event","description":"Get details for an Eventbrite event by ID.","inputSchema":{"type":"object","required":["event_id"],"properties":{"api_key":{"type":"string"},"event_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"eventbrite_get_venue","fixed":{"name":"eventbrite_get_venue","description":"Get details for an Eventbrite venue.","inputSchema":{"type":"object","required":["venue_id"],"properties":{"api_key":{"type":"string"},"venue_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"eventbrite_list_categories","fixed":{"name":"eventbrite_list_categories","description":"List Eventbrite event categories.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"eventbrite_search_events","fixed":{"name":"eventbrite_search_events","description":"Search for events on Eventbrite.","inputSchema":{"type":"object","properties":{"q":{"type":"string"},"api_key":{"type":"string"},"location_address":{"type":"string"},"start_date_range_start":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"exchangerate_convert","fixed":{"name":"exchangerate_convert","description":"Convert an amount from one currency to another.","inputSchema":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","description":"Target currency code (e.g. EUR)"},"from":{"type":"string","description":"Source currency code (e.g. USD)"},"amount":{"type":"number","description":"Amount to convert (default 1)"},"api_key":{"type":"string","description":"Optional for conversion (uses latest rates if omitted)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":143,"tokensAfter":143},{"name":"f1_pit_stops","fixed":{"name":"f1_pit_stops","description":"Get Formula 1 pit stop data from OpenF1.","inputSchema":{"type":"object","required":["session_key"],"properties":{"session_key":{"type":"number"},"driver_number":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"figma_get_comments","fixed":{"name":"figma_get_comments","description":"Get all comments on a Figma file.","inputSchema":{"type":"object","required":["personal_access_token","file_key"],"properties":{"file_key":{"type":"string"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"figma_get_components","fixed":{"name":"figma_get_components","description":"Get all published components in a Figma file.","inputSchema":{"type":"object","required":["personal_access_token","file_key"],"properties":{"file_key":{"type":"string"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"figma_get_file","fixed":{"name":"figma_get_file","description":"Get a Figma file's structure and metadata - pages, frames, and component count.","inputSchema":{"type":"object","required":["personal_access_token","file_key"],"properties":{"depth":{"type":"number","description":"How deep to traverse the node tree (default: full)"},"file_key":{"type":"string","description":"Alphanumeric file ID from the Figma URL"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"figma_get_images","fixed":{"name":"figma_get_images","description":"Export/render Figma nodes as images (PNG, JPG, SVG, or PDF).","inputSchema":{"type":"object","required":["personal_access_token","file_key","node_ids"],"properties":{"scale":{"type":"number","description":"Image scale factor 0.01-4 (default: 1, PNG/JPG only)"},"format":{"enum":["png","jpg","svg","pdf"],"type":"string","description":"png, jpg, svg, or pdf (default: png)"},"file_key":{"type":"string"},"node_ids":{"description":"Comma-separated node IDs or array of node ID strings","type":"string"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: node_ids. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":167,"tokensAfter":172},{"name":"figma_get_node","fixed":{"name":"figma_get_node","description":"Get a specific node by ID within a Figma file.","inputSchema":{"type":"object","required":["personal_access_token","file_key","node_id"],"properties":{"node_id":{"type":"string","description":"Node ID (e.g. '1:2' or '1-2')"},"file_key":{"type":"string"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"figma_get_team_projects","fixed":{"name":"figma_get_team_projects","description":"List all projects for a Figma team.","inputSchema":{"type":"object","required":["personal_access_token","team_id"],"properties":{"team_id":{"type":"string","description":"Team ID from your Figma team URL"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"figma_post_comment","fixed":{"name":"figma_post_comment","description":"Add a comment to a Figma file, optionally pinned to canvas coordinates.","inputSchema":{"type":"object","required":["personal_access_token","file_key","message"],"properties":{"x":{"type":"number","description":"Canvas X coordinate to pin the comment"},"y":{"type":"number","description":"Canvas Y coordinate to pin the comment"},"message":{"type":"string"},"file_key":{"type":"string"},"personal_access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":140,"tokensAfter":140},{"name":"find_nearest_toilets","fixed":{"name":"find_nearest_toilets","description":"Find the nearest public toilets to a location (Australia).","inputSchema":{"type":"object","required":["latitude","longitude"],"properties":{"limit":{"type":"number"},"radius":{"type":"number","description":"Search radius in metres"},"latitude":{"type":"number"},"longitude":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":103,"tokensAfter":103},{"name":"fly_create_machine","fixed":{"name":"fly_create_machine","description":"Create a new machine in a Fly.io app.","inputSchema":{"type":"object","required":["app_name","image"],"properties":{"env":{"type":"string","description":"JSON object of environment variables"},"image":{"type":"string","description":"Docker image to run (e.g. nginx:latest)"},"api_key":{"type":"string"},"app_name":{"type":"string"},"machine_name":{"type":"string","description":"Optional machine name"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":133,"tokensAfter":133},{"name":"fly_get_app","fixed":{"name":"fly_get_app","description":"Get details for a specific Fly.io app.","inputSchema":{"type":"object","required":["app_name"],"properties":{"api_key":{"type":"string"},"app_name":{"type":"string","description":"Fly.io app name"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"fly_list_apps","fixed":{"name":"fly_list_apps","description":"List all Fly.io apps in your organization.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string","description":"Fly.io API token"},"org_slug":{"type":"string","description":"Organization slug (optional)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"fly_list_machines","fixed":{"name":"fly_list_machines","description":"List all machines in a Fly.io app.","inputSchema":{"type":"object","required":["app_name"],"properties":{"api_key":{"type":"string"},"app_name":{"type":"string"},"include_deleted":{"type":"boolean"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"fly_list_volumes","fixed":{"name":"fly_list_volumes","description":"List all volumes attached to a Fly.io app.","inputSchema":{"type":"object","required":["app_name"],"properties":{"api_key":{"type":"string"},"app_name":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"food_get_product","fixed":{"name":"food_get_product","description":"Get a food product from Open Food Facts by barcode.","inputSchema":{"type":"object","required":["barcode"],"properties":{"barcode":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"food_search","fixed":{"name":"food_search","description":"Search for food products on Open Food Facts.","inputSchema":{"type":"object","required":["query"],"properties":{"page":{"type":"number"},"query":{"type":"string"},"page_size":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"forex_convert","fixed":{"name":"forex_convert","description":"Convert a currency amount using Open Exchange Rates.","inputSchema":{"type":"object","required":["from","to","amount"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"amount":{"type":"number"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":85,"tokensAfter":85},{"name":"foursquare_get_photos","fixed":{"name":"foursquare_get_photos","description":"Get photos for a Foursquare place.","inputSchema":{"type":"object","required":["fsq_id"],"properties":{"fsq_id":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"foursquare_get_place","fixed":{"name":"foursquare_get_place","description":"Get details for a Foursquare place by FSQ ID.","inputSchema":{"type":"object","required":["fsq_id"],"properties":{"fsq_id":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"foursquare_get_tips","fixed":{"name":"foursquare_get_tips","description":"Get tips/reviews for a Foursquare place.","inputSchema":{"type":"object","required":["fsq_id"],"properties":{"fsq_id":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"foursquare_search_places","fixed":{"name":"foursquare_search_places","description":"Search for places on Foursquare.","inputSchema":{"type":"object","properties":{"ll":{"type":"string","description":"lat,lng"},"near":{"type":"string"},"limit":{"type":"number"},"query":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":87,"tokensAfter":87},{"name":"frankfurter_convert","fixed":{"name":"frankfurter_convert","description":"Convert a specific amount between two currencies using ECB rates.","inputSchema":{"type":"object","required":["amount","from","to"],"properties":{"to":{"type":"string","description":"Target currency code"},"from":{"type":"string","description":"Source currency code"},"amount":{"type":"number","description":"Amount to convert"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":113,"tokensAfter":113},{"name":"freetogame_list","fixed":{"name":"freetogame_list","description":"Browse free-to-play games, optionally filtered by platform or category.","inputSchema":{"type":"object","properties":{"sort_by":{"type":"string","description":"Sort: relevance, popularity, release-date, alphabetical"},"category":{"type":"string","description":"Filter: mmorpg, shooter, moba, strategy, etc."},"platform":{"type":"string","description":"Filter: pc, browser, or all (default all)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"frequency_analyse","fixed":{"name":"frequency_analyse","description":"Analyse character or bigram frequencies in text.","inputSchema":{"type":"object","required":["text"],"properties":{"top":{"type":"number","description":"Number of top entries to return (default 10)."},"mode":{"type":"string","description":"'character' (default) or 'bigram'."},"text":{"type":"string","description":"Text to analyse."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"gbif_search_species","fixed":{"name":"gbif_search_species","description":"Search GBIF for biodiversity species by name.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"number","description":"Max results (default 10, max 50)."},"query":{"type":"string","description":"Species name to search for."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"gcd_calculate","fixed":{"name":"gcd_calculate","description":"Compute the greatest common divisor (GCD) and least common multiple (LCM) of integers.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"array","description":"Array of integers (at least 2)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"gdelt_news_search","fixed":{"name":"gdelt_news_search","description":"Search global news via the GDELT Project. Returns article titles, URLs, sources, dates, countries, and languages. No API key required.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search query (keywords, phrases, or operators)"},"maxrecords":{"type":"number","description":"Max articles to return (default 25, max 250)"},"sourcelang":{"type":"string","description":"Filter by source language (e.g. 'english', 'spanish')"},"enddatetime":{"type":"string","description":"End datetime YYYYMMDDHHMMSS (UTC)"},"sourcecountry":{"type":"string","description":"Filter by source country code (e.g. 'US', 'GB', 'AU')"},"startdatetime":{"type":"string","description":"Start datetime YYYYMMDDHHMMSS (UTC)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":231,"tokensAfter":231},{"name":"genius_get_artist","fixed":{"name":"genius_get_artist","description":"Get a Genius artist by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"genius_get_song","fixed":{"name":"genius_get_song","description":"Get a Genius song by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"genius_search","fixed":{"name":"genius_search","description":"Search Genius for songs and lyrics.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"geojs_lookup","fixed":{"name":"geojs_lookup","description":"Get IP geolocation (country, region, city, lat/lon) from GeoJS. Omit IP for self-lookup.","inputSchema":{"type":"object","properties":{"ip":{"type":"string","description":"IP address (optional, defaults to caller IP)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"get_asana_task","fixed":{"name":"get_asana_task","description":"Get full details of a single Asana task.","inputSchema":{"type":"object","required":["task_gid"],"properties":{"api_key":{"type":"string"},"task_gid":{"type":"string","description":"Task GID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"get_calendly_event","fixed":{"name":"get_calendly_event","description":"Get details of a single Calendly scheduled event.","inputSchema":{"type":"object","required":["event_uuid"],"properties":{"api_key":{"type":"string"},"event_uuid":{"type":"string","description":"Event UUID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"get_calendly_user","fixed":{"name":"get_calendly_user","description":"Get the authenticated Calendly user profile.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string","description":"Calendly Personal Access Token (or set CALENDLY_API_KEY)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"get_cve_detail","fixed":{"name":"get_cve_detail","description":"Get details for a specific CVE by ID.","inputSchema":{"type":"object","required":["cve_id"],"properties":{"cve_id":{"type":"string","description":"e.g. CVE-2023-12345"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_monday_board","fixed":{"name":"get_monday_board","description":"Get details of a specific Monday.com board including columns and groups.","inputSchema":{"type":"object","required":["board_id"],"properties":{"api_key":{"type":"string"},"board_id":{"type":"string","description":"Board ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83},{"name":"get_pinterest_board","fixed":{"name":"get_pinterest_board","description":"Get details of a specific Pinterest board.","inputSchema":{"type":"object","required":["board_id"],"properties":{"board_id":{"type":"string","description":"Board ID"},"access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":77,"tokensAfter":77},{"name":"get_pinterest_user","fixed":{"name":"get_pinterest_user","description":"Get the authenticated Pinterest user account info.","inputSchema":{"type":"object","properties":{"access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"get_recent_cves","fixed":{"name":"get_recent_cves","description":"Get recently published CVEs from NVD.","inputSchema":{"type":"object","properties":{"resultsPerPage":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"get_run","fixed":{"name":"get_run","description":"Call this tool when the user wants the status of a specific Crews run. Returns a ConversationalCard summarising stage progress, token usage, and any failure artifact.","inputSchema":{"type":"object","required":["run_id"],"properties":{"run_id":{"type":"string","description":"The run_id returned by start_crew_run"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"get_steam_achievements","fixed":{"name":"get_steam_achievements","description":"Get achievements for a Steam user in a specific game.","inputSchema":{"type":"object","required":["steamid","appid"],"properties":{"appid":{"type":"string","description":"Steam App ID of the game"},"api_key":{"type":"string"},"steamid":{"type":"string","description":"Steam64 ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"get_steam_app_details","fixed":{"name":"get_steam_app_details","description":"Get store details for a Steam app (game info, price, platforms, Metacritic score).","inputSchema":{"type":"object","required":["appid"],"properties":{"l":{"type":"string","description":"Language code (e.g. english)"},"cc":{"type":"string","description":"Country code for pricing (e.g. us, au)"},"appid":{"type":"string","description":"Steam App ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"get_steam_owned_games","fixed":{"name":"get_steam_owned_games","description":"Get games owned by a Steam user.","inputSchema":{"type":"object","required":["steamid"],"properties":{"api_key":{"type":"string"},"steamid":{"type":"string","description":"Steam64 ID"},"include_appinfo":{"type":"boolean","description":"Include game names (default true)"},"include_played_free_games":{"type":"boolean"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"get_steam_player_summaries","fixed":{"name":"get_steam_player_summaries","description":"Get Steam player profile summaries for one or more Steam IDs.","inputSchema":{"type":"object","required":["steamids"],"properties":{"api_key":{"type":"string","description":"Steam Web API key (or set STEAM_API_KEY)"},"steamids":{"type":"string","description":"Comma-separated Steam64 IDs (up to 100)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"get_tiktok_user","fixed":{"name":"get_tiktok_user","description":"Get the authenticated TikTok user profile (follower count, video count, etc.).","inputSchema":{"type":"object","properties":{"access_token":{"type":"string","description":"TikTok OAuth access token (or set TIKTOK_ACCESS_TOKEN)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"get_tiktok_video","fixed":{"name":"get_tiktok_video","description":"Get details of a specific TikTok video by ID.","inputSchema":{"type":"object","required":["video_id"],"properties":{"video_id":{"type":"string","description":"TikTok video ID"},"access_token":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"get_toilet_details","fixed":{"name":"get_toilet_details","description":"Get details for a specific public toilet by ID.","inputSchema":{"type":"object","required":["toilet_id"],"properties":{"toilet_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"get_trademark_details","fixed":{"name":"get_trademark_details","description":"Get details for a specific Australian trademark.","inputSchema":{"type":"object","required":["applicationNumber"],"properties":{"api_key":{"type":"string"},"applicationNumber":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"ghost_list_pages","fixed":{"name":"ghost_list_pages","description":"List Ghost pages.","inputSchema":{"type":"object","required":["site_url","content_key"],"properties":{"limit":{"type":"number","description":"Pages to return (max 100, default 15)"},"site_url":{"type":"string","description":"Ghost site URL"},"content_key":{"type":"string","description":"Ghost Content API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"ghost_list_posts","fixed":{"name":"ghost_list_posts","description":"List published Ghost posts.","inputSchema":{"type":"object","required":["site_url","content_key"],"properties":{"limit":{"type":"number","description":"Posts to return (max 100, default 15)"},"filter":{"type":"string","description":"Ghost filter (e.g. tag:news)"},"site_url":{"type":"string","description":"Ghost site URL"},"content_key":{"type":"string","description":"Ghost Content API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":130,"tokensAfter":130},{"name":"ghost_list_tags","fixed":{"name":"ghost_list_tags","description":"List Ghost tags.","inputSchema":{"type":"object","required":["site_url","content_key"],"properties":{"limit":{"type":"number","description":"Tags to return (max 100, default 50)"},"site_url":{"type":"string","description":"Ghost site URL"},"content_key":{"type":"string","description":"Ghost Content API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"giphy_search","fixed":{"name":"giphy_search","description":"Search Giphy for GIFs.","inputSchema":{"type":"object","required":["api_key","query"],"properties":{"limit":{"type":"number","description":"GIFs to return (max 50, default 10)"},"query":{"type":"string","description":"What GIF to search for"},"rating":{"enum":["g","pg","pg-13","r"],"type":"string","description":"Content rating cap"},"api_key":{"type":"string","description":"Giphy API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"gmail_read","fixed":{"name":"gmail_read","description":"Read a Gmail message by id.","inputSchema":{"type":"object","required":["message_id"],"properties":{"format":{"enum":["minimal","metadata","full","raw"],"type":"string","description":"Gmail response format (default metadata)"},"message_id":{"type":"string","description":"Gmail message id"},"access_token":{"type":"string","description":"Gmail access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"gmail_search","fixed":{"name":"gmail_search","description":"Search Gmail messages in the connected mailbox.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Messages to return (max 100, default 10)"},"query":{"type":"string","description":"Gmail search query, such as from:alice newer_than:7d"},"page_token":{"type":"string","description":"Gmail page token from a previous response"},"access_token":{"type":"string","description":"Gmail access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":139,"tokensAfter":139},{"name":"gmail_send","fixed":{"name":"gmail_send","description":"Send a plain-text Gmail message.","inputSchema":{"type":"object","required":["to","subject","body"],"properties":{"to":{"type":"string","description":"Recipient email address"},"body":{"type":"string","description":"Plain-text email body"},"from":{"type":"string","description":"Optional From header (defaults to me)"},"subject":{"type":"string","description":"Email subject"},"access_token":{"type":"string","description":"Gmail access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":143,"tokensAfter":143},{"name":"graph_analyze","fixed":{"name":"graph_analyze","description":"Analyze a graph: count nodes, edges, connected components, density, degrees, and detect self-loops.","inputSchema":{"type":"object","required":["edges"],"properties":{"edges":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string"},"from":{"type":"string"},"weight":{"type":"number"}}},"description":"Array of edges"},"directed":{"type":"boolean","description":"Whether the graph is directed (default true)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":138,"tokensAfter":138},{"name":"groq_list_models","fixed":{"name":"groq_list_models","description":"List all models available on Groq.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string","description":"Groq API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"guardian_get_article","fixed":{"name":"guardian_get_article","description":"Get a specific Guardian article by ID.","inputSchema":{"type":"object","required":["article_id"],"properties":{"api_key":{"type":"string"},"article_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"guardian_get_edition","fixed":{"name":"guardian_get_edition","description":"Get a Guardian edition by ID.","inputSchema":{"type":"object","required":["edition_id"],"properties":{"api_key":{"type":"string"},"edition_id":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"guardian_get_sections","fixed":{"name":"guardian_get_sections","description":"Get all Guardian sections.","inputSchema":{"type":"object","properties":{"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":50,"tokensAfter":50},{"name":"guardian_get_tags","fixed":{"name":"guardian_get_tags","description":"Get Guardian tags.","inputSchema":{"type":"object","properties":{"q":{"type":"string"},"api_key":{"type":"string"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"guardian_search_articles","fixed":{"name":"guardian_search_articles","description":"Search for articles on The Guardian.","inputSchema":{"type":"object","required":["q"],"properties":{"q":{"type":"string"},"api_key":{"type":"string"},"section":{"type":"string"},"to_date":{"type":"string"},"from_date":{"type":"string"},"page_size":{"type":"number"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"gumroad_get_product","fixed":{"name":"gumroad_get_product","description":"Get details for a single Gumroad product by ID.","inputSchema":{"type":"object","required":["access_token","product_id"],"properties":{"product_id":{"type":"string","description":"Product ID (permalink)"},"access_token":{"type":"string","description":"Gumroad access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"gumroad_get_sale","fixed":{"name":"gumroad_get_sale","description":"Get details for a single Gumroad sale by ID.","inputSchema":{"type":"object","required":["access_token","sale_id"],"properties":{"sale_id":{"type":"string","description":"Sale ID"},"access_token":{"type":"string","description":"Gumroad access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"gumroad_list_products","fixed":{"name":"gumroad_list_products","description":"List all products in a Gumroad account.","inputSchema":{"type":"object","required":["access_token"],"properties":{"access_token":{"type":"string","description":"Gumroad access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"gumroad_list_sales","fixed":{"name":"gumroad_list_sales","description":"List sales from a Gumroad account. Filter by product, email, or date range.","inputSchema":{"type":"object","required":["access_token"],"properties":{"page":{"type":"number","description":"Page number for pagination"},"after":{"type":"string","description":"Sales after this date (YYYY-MM-DD)"},"email":{"type":"string","description":"Filter by buyer email"},"before":{"type":"string","description":"Sales before this date (YYYY-MM-DD)"},"product_id":{"type":"string","description":"Filter by product ID"},"access_token":{"type":"string","description":"Gumroad access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":181,"tokensAfter":181},{"name":"gumroad_list_subscribers","fixed":{"name":"gumroad_list_subscribers","description":"List subscribers for a Gumroad membership/subscription product.","inputSchema":{"type":"object","required":["access_token","product_id"],"properties":{"email":{"type":"string","description":"Filter by subscriber email"},"product_id":{"type":"string","description":"Product ID of the subscription product"},"access_token":{"type":"string","description":"Gumroad access token"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"gutenberg_book","fixed":{"name":"gutenberg_book","description":"Get details for a specific Project Gutenberg book by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number","description":"Numeric book ID from Project Gutenberg"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"gutenberg_search","fixed":{"name":"gutenberg_search","description":"Search Project Gutenberg free ebooks by title or author.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search term (title or author)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"gutendex_book","fixed":{"name":"gutendex_book","description":"Get details for a Project Gutenberg book by ID.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string","description":"Gutenberg book ID."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"gutendex_search","fixed":{"name":"gutendex_search","description":"Search Project Gutenberg free ebooks.","inputSchema":{"type":"object","required":["query"],"properties":{"page":{"type":"number","description":"Page number."},"query":{"type":"string","description":"Search query."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":80,"tokensAfter":80},{"name":"hash_compare","fixed":{"name":"hash_compare","description":"Compare text against an expected hash to verify integrity.","inputSchema":{"type":"object","required":["text","hash"],"properties":{"hash":{"type":"string","description":"Expected hash value."},"text":{"type":"string","description":"Text to hash and compare."},"algorithm":{"type":"string","description":"Hash algorithm (default: sha256)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":114,"tokensAfter":114},{"name":"hero_get_by_id","fixed":{"name":"hero_get_by_id","description":"Get a superhero/villain by ID from the comic book database.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"number","description":"Character ID"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"heygen_create_avatar_video","fixed":{"name":"heygen_create_avatar_video","description":"Create an AI avatar video with HeyGen. The avatar speaks a script using a selected voice. Returns a video_id to poll for completion.","inputSchema":{"type":"object","required":["api_key","avatar_id","script"],"properties":{"test":{"type":"boolean","description":"Set true to generate a watermarked test video (does not use quota)"},"title":{"type":"string","description":"Video title for reference"},"width":{"type":"number","description":"Video width in pixels (default: 1280)"},"height":{"type":"number","description":"Video height in pixels (default: 720)"},"script":{"type":"string","description":"The text the avatar will speak"},"api_key":{"type":"string","description":"HeyGen API key"},"voice_id":{"type":"string","description":"Voice ID (use heygen_list_voices to find available voices)"},"avatar_id":{"type":"string","description":"Avatar ID (use heygen_list_avatars to find available avatars)"},"avatar_style":{"type":"string","description":"Avatar style: normal, circle, closeUp (default: normal)"},"background_url":{"type":"string","description":"URL of background image"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":325,"tokensAfter":325},{"name":"heygen_get_video_status","fixed":{"name":"heygen_get_video_status","description":"Check the generation status of a HeyGen video by video ID.","inputSchema":{"type":"object","required":["api_key","video_id"],"properties":{"api_key":{"type":"string","description":"HeyGen API key"},"video_id":{"type":"string","description":"Video ID returned by heygen_create_avatar_video"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"heygen_list_avatars","fixed":{"name":"heygen_list_avatars","description":"List all available AI avatars in your HeyGen account.","inputSchema":{"type":"object","required":["api_key"],"properties":{"api_key":{"type":"string","description":"HeyGen API key"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72}],"toolsChanged":838,"tokensSaved":0,"todo":[{"tool":"abn_lookup","params":["abn","api_key"]},{"tool":"abn_search","params":["name","api_key"]},{"tool":"abuseipdb_blacklist","params":["limit","api_key","confidenceMinimum"]},{"tool":"abuseipdb_check_ip","params":["ip","api_key","maxAgeInDays"]},{"tool":"abuseipdb_report_ip","params":["ip","api_key","comment","categories"]},{"tool":"amazon_browse","params":["access_key","secret_key","partner_tag","browseNodeId"]},{"tool":"amazon_product","params":["asin","region","access_key","secret_key","partner_tag"]},{"tool":"amazon_search","params":["region","keywords","itemCount","access_key","secret_key","partner_tag","searchIndex"]},{"tool":"amazon_variations","params":["asin","access_key","secret_key","partner_tag"]},{"tool":"amber_current_price","params":["api_key","site_id"]},{"tool":"amber_forecast","params":["api_key","site_id"]},{"tool":"amber_sites","params":["api_key"]},{"tool":"anthropic_create_message","params":["top_k","top_p","api_key","temperature"]},{"tool":"anthropic_list_models","params":["api_key"]},{"tool":"auspost_delivery_times","params":["api_key","to_postcode","service_code","from_postcode"]},{"tool":"auspost_get_postcode","params":["api_key"]},{"tool":"auspost_track_parcel","params":["api_key","tracking_id"]},{"tool":"bandsintown_artist","params":["app_id","artist"]},{"tool":"bandsintown_events","params":["date","app_id","artist"]},{"tool":"bandsintown_recommended","params":["app_id","artist","location"]},{"tool":"bluesky_action","params":["cid","uri","text","actor","limit","query","action"]},{"tool":"brewery_get","params":["id"]},{"tool":"brewery_list","params":["city","page","state","per_page"]},{"tool":"brewery_search","params":["query"]},{"tool":"brickset_get_set","params":["api_key","setNumber"]},{"tool":"brickset_search","params":["year","query","theme","api_key","pageSize"]},{"tool":"bs_club","params":["api_key","clubTag"]},{"tool":"bs_player","params":["api_key","playerTag"]},{"tool":"bungie_get_manifest","params":["api_key"]},{"tool":"bungie_get_profile","params":["api_key","membershipId","membershipType"]},{"tool":"bungie_search_entities","params":["api_key","entityType","searchTerm"]},{"tool":"bungie_search_player","params":["api_key","displayName"]},{"tool":"calc_bmi","params":["height_cm","weight_kg"]},{"tool":"calc_compound_interest","params":["years","principal","annual_rate","compounds_per_year","monthly_contribution"]},{"tool":"calc_currency_estimate","params":["to","from","amount"]},{"tool":"calc_mortgage","params":["years","principal","annual_rate"]},{"tool":"calc_tip","params":["bill","split","tip_percent"]},{"tool":"carbon_electricity_emissions","params":["api_key","country","electricity_unit","electricity_value"]},{"tool":"carbon_flight_emissions","params":["api_key","passengers"]},{"tool":"carbon_vehicle_emissions","params":["api_key","distance_unit","distance_value","vehicle_model_id"]},{"tool":"cat_breeds","params":["page"]},{"tool":"cat_facts","params":["page"]},{"tool":"chess_player","params":["username"]},{"tool":"chess_player_games","params":["year","month","username"]},{"tool":"chess_player_stats","params":["username"]},{"tool":"ck_add_subscriber","params":["email","form_id","first_name"]},{"tool":"ck_list_forms","params":["api_key"]},{"tool":"ck_list_sequences","params":["api_key"]},{"tool":"ck_list_subscribers","params":["to","page","sort_field"]},{"tool":"ck_list_tags","params":["api_key"]},{"tool":"ck_tag_subscriber","params":["email","tag_id","api_key","first_name"]},{"tool":"clockify_action","params":["end","start","action","api_key","project_id","description","workspace_id"]},{"tool":"cmc_global_metrics","params":["api_key"]},{"tool":"cmc_info","params":["id","symbol","api_key"]},{"tool":"cmc_listings","params":["limit","api_key","convert"]},{"tool":"cmc_quotes","params":["id","symbol","api_key","convert"]},{"tool":"cmc_trending","params":["limit","api_key"]},{"tool":"coc_clan","params":["api_key","clanTag"]},{"tool":"coc_clan_members","params":["api_key","clanTag"]},{"tool":"coc_player","params":["api_key","playerTag"]},{"tool":"cocktail_search","params":["query"]},{"tool":"cohere_chat","params":["max_tokens","temperature"]},{"tool":"cohere_classify","params":["model","api_key"]},{"tool":"cohere_embed","params":["api_key"]},{"tool":"cohere_generate","params":["prompt","api_key","max_tokens","temperature"]},{"tool":"cohere_list_models","params":["api_key"]},{"tool":"cohere_rerank","params":["query","api_key"]},{"tool":"color_contrast_ratio","params":["background","foreground"]},{"tool":"color_info","params":["color","format"]},{"tool":"color_mix","params":["ratio","color1","color2"]},{"tool":"color_palette","params":["color","count"]},{"tool":"comment_on","params":["agent_id","target_id","target_kind"]},{"tool":"complete_todo","params":["todo_id","agent_id"]},{"tool":"convert_area","params":["to","from","value"]},{"tool":"convert_data_storage","params":["to","from","value"]},{"tool":"convert_length","params":["to","from","value"]},{"tool":"convert_speed","params":["to","from","value"]},{"tool":"convert_temperature","params":["to","from","value"]},{"tool":"convert_volume","params":["to","from","value"]},{"tool":"convert_weight","params":["to","from","value"]},{"tool":"country_all","params":["fields"]},{"tool":"country_by_code","params":["code"]},{"tool":"country_by_currency","params":["currency"]},{"tool":"country_by_language","params":["language"]},{"tool":"country_by_name","params":["name","fullText"]},{"tool":"country_by_region","params":["region"]},{"tool":"cr_player","params":["api_key","playerTag"]},{"tool":"cr_top_players","params":["api_key","locationId"]},{"tool":"create_asana_task","params":["api_key"]},{"tool":"create_expressroom_draft","params":["supplied_code_status"]},{"tool":"create_idea","params":["agent_id"]},{"tool":"create_monday_item","params":["api_key"]},{"tool":"create_pinterest_pin","params":["title","description","access_token","board_section_id"]},{"tool":"create_todo","params":["priority"]},{"tool":"crypto_coin","params":["id"]},{"tool":"crypto_coin_history","params":["id"]},{"tool":"crypto_daily","params":["market","symbol","api_key"]},{"tool":"crypto_search","params":["query"]},{"tool":"crypto_top_coins","params":["page","per_page","vs_currency"]},{"tool":"csuite_analyze","params":["focus","context","scenario"]},{"tool":"datetime_add_to_date","params":["date","days","hours","years","months","minutes"]},{"tool":"datetime_business_days","params":["end","start"]},{"tool":"datetime_convert_timezone","params":["datetime","to_timezone","from_timezone"]},{"tool":"datetime_current_time","params":["format","timezone"]},{"tool":"datetime_date_diff","params":["date1","date2"]},{"tool":"datetime_format_date","params":["date","format","locale"]},{"tool":"datetime_week_number","params":["date"]},{"tool":"deezer_chart","params":["limit"]},{"tool":"deezer_get_album","params":["id"]},{"tool":"deezer_get_artist","params":["id"]},{"tool":"deezer_get_track","params":["id"]},{"tool":"deezer_search","params":["q","limit"]},{"tool":"deezer_search_playlist","params":["q","limit"]},{"tool":"delete_todo","params":["todo_id","agent_id"]},{"tool":"dictionary_lookup","params":["word"]},{"tool":"dictionary_lookup_language","params":["word"]},{"tool":"discogs_get_artist","params":["api_key","artist_id"]},{"tool":"discogs_get_label","params":["api_key","label_id"]},{"tool":"discogs_get_release","params":["api_key","release_id"]},{"tool":"discogs_marketplace_stats","params":["api_key","release_id"]},{"tool":"discogs_search_artists","params":["q","api_key"]},{"tool":"discogs_search_releases","params":["q","type","year","genre","artist","format","api_key"]},{"tool":"discord_channels","params":["guild_id","bot_token"]},{"tool":"discord_members","params":["limit","guild_id","bot_token"]},{"tool":"discord_react","params":["emoji","bot_token","channel_id","message_id"]},{"tool":"discord_read","params":["limit","before","bot_token","channel_id"]},{"tool":"discord_search","params":["content","guild_id","author_id","bot_token","channel_id"]},{"tool":"discord_send","params":["embeds","content","bot_token","channel_id"]},{"tool":"discord_thread","params":["name","message","bot_token","channel_id","message_id"]},{"tool":"domain_get_property","params":["api_key","listing_id"]},{"tool":"domain_search_listings","params":["state","suburb","api_key","maxPrice","minPrice","pageSize","postcode","maxBedrooms","minBedrooms"]},{"tool":"domain_suburb_stats","params":["state","suburb","api_key","postcode","propertyCategory"]},{"tool":"drop_todo","params":["todo_id","agent_id"]},{"tool":"ebay_get_categories","params":["client_id","marketplace","client_secret"]},{"tool":"ebay_get_item","params":["client_id","fieldgroups","marketplace","client_secret"]},{"tool":"ebay_get_item_by_legacy_id","params":["client_id","marketplace","client_secret","legacy_variation_id","legacy_variation_sku"]},{"tool":"ebay_search","params":["offset"]},{"tool":"ebird_notable_observations","params":["back","api_key","regionCode"]},{"tool":"ebird_recent_observations","params":["api_key","maxResults"]},{"tool":"ebird_species_info","params":["api_key","speciesCode"]},{"tool":"elevenlabs_get_history","params":["api_key","page_size","start_after_history_item_id"]},{"tool":"elevenlabs_get_models","params":["api_key"]},{"tool":"elevenlabs_get_voice","params":["api_key","voice_id"]},{"tool":"elevenlabs_list_voices","params":["api_key"]},{"tool":"elevenlabs_text_to_speech","params":["api_key","voice_id","use_speaker_boost"]},{"tool":"email_delete","params":["uid","email","folder","password"]},{"tool":"email_get","params":["uid","email","folder","password"]},{"tool":"email_mark_read","params":["uid","email","folder","password"]},{"tool":"email_read_inbox","params":["email","limit","folder","password"]},{"tool":"email_search","params":["email","limit","query","folder","password"]},{"tool":"email_send","params":["cc","to","bcc","body","email","subject","password"]},{"tool":"espn_news","params":["limit","sport"]},{"tool":"espn_team_info","params":["sport","league","team_id"]},{"tool":"esports_get_match","params":["api_key","match_id"]},{"tool":"esports_matches","params":["page","api_key","per_page"]},{"tool":"esports_players","params":["search","api_key"]},{"tool":"esports_teams","params":["game","search","api_key"]},{"tool":"esports_tournaments","params":["game","status","api_key"]},{"tool":"etsy_get_listing","params":["api_key","listing_id"]},{"tool":"etsy_get_shop","params":["api_key"]},{"tool":"etsy_get_shop_listings","params":["limit","offset","api_key","shop_id","sort_on","sort_order"]},{"tool":"etsy_search_listings","params":["offset","location","max_price","min_price","taxonomy_id"]},{"tool":"etsy_search_shops","params":["limit","offset","api_key"]},{"tool":"eventbrite_create_event","params":["api_key","venue_id"]},{"tool":"eventbrite_get_attendees","params":["api_key","event_id"]},{"tool":"eventbrite_get_event","params":["api_key","event_id"]},{"tool":"eventbrite_get_venue","params":["api_key","venue_id"]},{"tool":"eventbrite_list_categories","params":["api_key"]},{"tool":"eventbrite_search_events","params":["q","api_key","location_address","start_date_range_start"]},{"tool":"f1_car_data","params":["session_key","driver_number"]},{"tool":"f1_drivers","params":["session_key","driver_number"]},{"tool":"f1_laps","params":["lap_number","session_key","driver_number"]},{"tool":"f1_pit_stops","params":["session_key","driver_number"]},{"tool":"f1_positions","params":["session_key","driver_number"]},{"tool":"f1_sessions","params":["year","country_name","session_type"]},{"tool":"f1_team_radio","params":["session_key","driver_number"]},{"tool":"f1_weather","params":["session_key"]},{"tool":"feedly_action","params":["count","query","action","api_key","entry_ids","stream_id"]},{"tool":"figma_get_comments","params":["file_key","personal_access_token"]},{"tool":"figma_get_components","params":["file_key","personal_access_token"]},{"tool":"figma_get_file","params":["personal_access_token"]},{"tool":"figma_get_images","params":["file_key","personal_access_token"]},{"tool":"figma_get_node","params":["file_key","personal_access_token"]},{"tool":"figma_get_team_projects","params":["personal_access_token"]},{"tool":"figma_post_comment","params":["message","file_key","personal_access_token"]},{"tool":"find_nearest_toilets","params":["limit","latitude","longitude"]},{"tool":"flowpass_run","params":["journey_kind"]},{"tool":"fly_create_machine","params":["api_key","app_name"]},{"tool":"fly_get_app","params":["api_key"]},{"tool":"fly_list_machines","params":["api_key","app_name","include_deleted"]},{"tool":"fly_list_volumes","params":["api_key","app_name"]},{"tool":"food_by_category","params":["page","category"]},{"tool":"food_get_product","params":["barcode"]},{"tool":"food_search","params":["page","query","page_size"]},{"tool":"forex_convert","params":["to","from","amount","api_key"]},{"tool":"forex_currencies","params":["api_key"]},{"tool":"forex_historical","params":["base","date","api_key"]},{"tool":"forex_latest","params":["base","api_key","symbols"]},{"tool":"forex_rate","params":["api_key","to_currency","from_currency"]},{"tool":"foursquare_autocomplete","params":["ll","query","api_key"]}],"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. Showing the first 300 of 838 changed tools.","truncated":true}