Skip to content

docs(mcp): describe every MCP tool and parameter - #37

Merged
AusafMo merged 1 commit into
mainfrom
docs/mcp-tool-descriptions
Aug 2, 2026
Merged

docs(mcp): describe every MCP tool and parameter#37
AusafMo merged 1 commit into
mainfrom
docs/mcp-tool-descriptions

Conversation

@AusafMo

@AusafMo AusafMo commented Aug 2, 2026

Copy link
Copy Markdown
Owner

MCP clients (and one-click deeplink tooltips) showed 'No description' for most tools and for every parameter — 20/30 tools had no docstring, and none documented their params (see the reported screenshots for cfg_branch_diff / cfg_pr_merge).

Fix

FastMCP derives the tool description from the docstring and each parameter description only from Annotated[type, Field(description=...)] (a Google-style Args: section does not work — verified). So:

  • Wrapped every parameter across all 30 tools in Annotated[..., Field(description=...)].
  • Added a concise one-line docstring to the 20 tools that lacked one; preserved existing docstrings verbatim.
  • Common params (config_file/env/author/record/message/dry_run/allow_secret) use consistent shared descriptions.

Verification (e2e)

  • Loaded the live FastMCP server: 30/30 tools have a description, 0 parameters missing one.
  • No behavior change: an AST diff vs main confirms every _call action name and every default value is unchanged. Tools still execute correctly through the MCP dispatcher (cfg_status → 50 rows/5 drift, cfg_whoami → dev/mongo).
  • Full suite 158 passed; ruff clean.

Authored with parallel Sonnet agents (6 groups of ~5 tools), reconciled and verified centrally.

MCP clients showed 'No description' for most tools and for every parameter: 20/30
tools had no docstring, and none documented their params. FastMCP derives the tool
description from the docstring and each PARAMETER description from
Annotated[type, Field(description=...)] (a Google-style Args: section does not
work), so wrap every parameter accordingly and give the 20 undocumented tools a
one-line docstring.

Verified via the live FastMCP server: 30/30 tools now have a description and 0
parameters are missing one; every _call action name and default value is
unchanged from before (confirmed by an AST diff), and tools still execute
correctly through the MCP dispatcher (cfg_status/cfg_whoami). Full suite 158 passed.
@AusafMo
AusafMo merged commit 880aeb8 into main Aug 2, 2026
2 checks passed
@AusafMo
AusafMo deleted the docs/mcp-tool-descriptions branch August 2, 2026 11:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant