Skip to content

v0.2.0

Choose a tag to compare

@vinodismyname vinodismyname released this 21 May 18:05
· 3 commits to main since this release
78ba14d

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-config option.
      • 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.
    • Configuration: Added ENV_SMITHERY_API_KEY and SMITHERY_API_BASE_URL to config.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.json Generation (ConfigGenerator):
      • The generate_mcp_config method 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.
    • CLAUDE.md Enhancement:
      • The claude_md.j2 prompt and DocGenerator are updated to include a section in the generated CLAUDE.md that lists available MCP tools configured via Smithery, making Claude Code aware of these capabilities.
    • Smithery Client (smithery_client.py):
      • The existing client is now leveraged more centrally in the MCP configuration workflow.
  • 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.j2 template has been removed.
    • This change aims to improve efficiency and consistency in custom command generation.
  • Other Changes:

    • Updated .gitignore to include tests/ and test_plan.md.
    • Bumped project version in uv.lock.

Benefits:

  • Standardized MCP Configuration: Leverages a dedicated registry (Smithery) for more reliable and consistent MCP server setup.
  • Enhanced Context for Claude: CLAUDE.md and 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.