Skip to content

feat(mcp): improve tool descriptions for standalone LLM use#472

Merged
peteski22 merged 3 commits into
mainfrom
feature/improve-mcp-tool-descriptions
Jun 25, 2026
Merged

feat(mcp): improve tool descriptions for standalone LLM use#472
peteski22 merged 3 commits into
mainfrom
feature/improve-mcp-tool-descriptions

Conversation

@peteski22

@peteski22 peteski22 commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rewrite MCP tool descriptions to convey when and why to call each tool, so LLMs can
    self-direct without the cq skill/plugin installed.
  • Fix webpack incorrectly categorized as a domain instead of a framework in SKILL.md
    examples (scenario table and example 2), propagated via make sync-prompts.

Test plan

  • make lint-cli passes
  • make test-cli passes

Summary by CodeRabbit

  • Documentation
    • Refined MCP tool descriptions and parameter guidance for query, propose, confirm, flag, and status actions.
    • Improved wording for search/tag guidance, including how result limits are interpreted and what status reporting covers.
    • Updated skill and SDK prompt examples so webpack is listed under frameworks (not domains), keeping domain/framework tagging consistent.

webpack is a framework, not a subject-area domain.
The scenario table and example 2 both incorrectly placed it in domains.
The MCP tool descriptions were written for humans who already understand
cq, but LLMs see them cold without the skill protocol.
Rewrite descriptions to convey when and why to call each tool, not just
what it does, so LLMs can self-direct without the cq skill/plugin.
@peteski22 peteski22 added mcp-server CRAIC MCP server component sdk skill Issues and PRs related to the actual skill (cq protocol) wording, format etc. cli sdk-go For issues or PRs related to the Go SDK sdk-python For issues or PRs related to the Python SDK labels Jun 25, 2026
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d6b5c917-908b-4339-a042-f6230890733a

📥 Commits

Reviewing files that changed from the base of the PR and between f5ef9d2 and 723656a.

📒 Files selected for processing (1)
  • cli/mcpserver/status.go

Walkthrough

The MCP tool descriptions for confirm, flag, query, status, and propose were rewritten with expanded parameter text. The cq skill prompts were updated so the webpack example tags place webpack under frameworks rather than domains.

Changes

MCP tool descriptions and tag guidance

Layer / File(s) Summary
Tool description text
cli/mcpserver/confirm.go, cli/mcpserver/flag.go, cli/mcpserver/query.go, cli/mcpserver/status.go
Expanded the confirm, flag, query, and status tool descriptions and parameter text without changing argument names, required fields, or validation.
Propose tool definition
cli/mcpserver/propose.go
Rewrote the propose tool definition with the builder-style mcp.NewTool call and updated the tool and parameter descriptions while preserving requiredness.
Tag guidance examples
plugins/cq/skills/cq/SKILL.md, sdk/go/prompts/SKILL.md, sdk/python/src/cq/prompts/SKILL.md
Adjusted the webpack examples so webpack moves from domains to frameworks in the guidance table and in the query/propose examples.

Possibly related PRs

  • mozilla-ai/cq#414: Adds /cq:status prompt and CLI wiring for the same status tool whose description text changed here.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: improving MCP tool descriptions for standalone LLM use.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/improve-mcp-tool-descriptions

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the MCP tool descriptions in the CLI MCP server so standalone LLM clients can better self-direct when to call query, propose, confirm, flag, and status. It also fixes SKILL.md examples to categorize webpack as a framework (not a domain), propagated across the synced prompt copies.

Changes:

  • Expanded/clarified MCP tool descriptions for query, propose, confirm, flag, and status to guide correct call timing and intent.
  • Updated SKILL.md scenario table + webpack example to move "webpack" from domains into frameworks.
  • Minor schema description improvements for tool arguments (domains, languages, frameworks, pattern, limit).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
sdk/python/src/cq/prompts/SKILL.md Fixes webpack classification in domains/frameworks examples.
sdk/go/prompts/SKILL.md Same SKILL.md example updates for Go prompt copy.
plugins/cq/skills/cq/SKILL.md Same SKILL.md example updates for plugin prompt copy.
cli/mcpserver/status.go Updates status tool description (note: needs a small accuracy tweak).
cli/mcpserver/query.go Rewrites query tool description + improves parameter descriptions.
cli/mcpserver/propose.go Rewrites propose tool description + improves parameter descriptions.
cli/mcpserver/flag.go Rewrites flag tool description + improves parameter descriptions.
cli/mcpserver/confirm.go Rewrites confirm tool description + improves parameter descriptions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread cli/mcpserver/status.go Outdated
The rewritten status tool description dropped the qualifier that
confidence distribution excludes the public commons.
Restore it so standalone LLM consumers understand what the stats cover.
@peteski22 peteski22 merged commit 02ffad6 into main Jun 25, 2026
14 checks passed
@peteski22 peteski22 deleted the feature/improve-mcp-tool-descriptions branch June 25, 2026 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli mcp-server CRAIC MCP server component sdk sdk-go For issues or PRs related to the Go SDK sdk-python For issues or PRs related to the Python SDK skill Issues and PRs related to the actual skill (cq protocol) wording, format etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants