v0.3.1
Every tool param now describes itself
The server's param guidance lived only in SKILL.md, which .mcpbignore excludes from the .mcpb — so Desktop one-click users got a schema of bare types with no prose, and had to guess. A blind-execution test showed three agents independently guessing wrong at the same four things: searchType vs groupByThread, order direction, url-vs-threadId, and prefixes.
All 5 tools now carry .describe() on every param, so the advice arrives in tools/list itself:
keywords— AND-matched. On 0 hits, drop a term, never add one.nodes— IDs come fromlist_forums; a guessed ID silently returns 0 rows rather than erroring.includeChildNodes— requiredtruefor parent/category sections, which hold no posts of their own.searchType/groupByThread— omitsearchType(=post) plusgroupByThread: trueis the discovery default;"thread"matches titles only.order— omit for relevance,"date"for current/in-stock questions,"replies"for reputation.prefixes— skip; the numeric IDs aren't discoverable from any tool.get_thread.page— for current status readlastPage; the opening post may be months stale.get_thread_images.max— each image is one throttled request and ~4.6k tokens.
No behavior or output-size change. Same 5 tools, same params, same required fields, same return shapes — this only adds text to the schema. Callers need no changes.
Discoverability
keywords across all four manifests gain mcp, mcp-server, model-context-protocol, and claude; the previous five said nothing about what this actually is. The GitHub repo's description and topics were empty and are now set.