Repository navigation
v0.2.0
Title: Integrate Smithery for MCP Server Configuration and Refactor Command Generation
Description:
This pull request introduces a major enhancement to cc-bootstrap by integrating with the Smithery Registry (registry.smithery.ai) for discovering and configuring MCP (Model Context Protocol) servers. This provides a more robust and standardized way to define available tools for Claude Code. Additionally, the generation of custom commands has been refactored for efficiency.
Key Modifications:
-
Smithery Integration for MCP Configuration:
- CLI Changes:
- Removed the
--mcp-tools-configoption. - Added
--smithery-mcp-servers: Allows users to specify Smithery server qualified names or search terms (e.g., "owner/repo", "web search tool"). - Added
--smithery-api-key: For authenticating with the Smithery API. - Interactive mode (
-i) has been updated to prompt for these new Smithery-related options.
- Removed the
- Configuration: Added
ENV_SMITHERY_API_KEYandSMITHERY_API_BASE_URLtoconfig.py. - Workflow (
DynamicWorkflow):- A new step fetches server configurations from the Smithery Registry based on user input.
- This fetched data (including connection details, descriptions, and tool schemas) is added to the context for other generation steps.
.mcp.jsonGeneration (ConfigGenerator):- The
generate_mcp_configmethod now primarily uses the data fetched from Smithery to populate.mcp.json. It supports configuring servers with HTTP and stdio connection types as defined in Smithery. The LLM is no longer prompted to suggest MCP server configurations.
- The
CLAUDE.mdEnhancement:- The
claude_md.j2prompt andDocGeneratorare updated to include a section in the generatedCLAUDE.mdthat lists available MCP tools configured via Smithery, making Claude Code aware of these capabilities.
- The
- Smithery Client (
smithery_client.py):- The existing client is now leveraged more centrally in the MCP configuration workflow.
- CLI Changes:
-
Refactored Custom Command Generation:
CommandGenerator:- Now uses a single LLM call with a new, comprehensive prompt (
prompts/all_custom_commands.j2) to generate the content for all custom commands at once. - The new prompt is designed to leverage project context, including information about Smithery-configured MCP tools, to create more relevant and powerful custom commands.
- The previous
prompts/custom_command.j2template has been removed.
- Now uses a single LLM call with a new, comprehensive prompt (
- This change aims to improve efficiency and consistency in custom command generation.
-
Other Changes:
- Updated
.gitignoreto includetests/andtest_plan.md. - Bumped project version in
uv.lock.
- Updated
Benefits:
- Standardized MCP Configuration: Leverages a dedicated registry (Smithery) for more reliable and consistent MCP server setup.
- Enhanced Context for Claude:
CLAUDE.mdand custom commands can now be more aware of specific, configured MCP tools. - Improved Efficiency: Custom command generation is streamlined into a single LLM call.
- Clearer CLI: Dedicated options for Smithery integration make MCP setup more explicit.
This update significantly improves how cc-bootstrap handles external tool integration for Claude Code, making it more powerful and easier to configure with complex MCP setups.