generated from personal-projects/leo-claude-mktplace
This commit implements a flexible tool filtering system for Claude Desktop compatibility. Features: - Whitelist mode: Only enable specified tools - Blacklist mode: Disable specified tools (default enables all) - Passthrough mode: No filtering (default if no lists provided) - Validation: Prevents conflicting enabled/disabled lists Implementation: - ToolFilter class with three filtering modes - should_include_tool() for individual tool checks - filter_tools_list() for filtering tool definition lists - filter_tools_response() for filtering MCP list_tools responses - get_filter_stats() for observability and debugging This module integrates with the configuration loader (#11) and will be used by the HTTP MCP server (#14) to ensure only compatible tools are exposed to Claude Desktop. Closes #12 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>