From d7e617e48798bc8c9b93b976b0d95927e5499402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claude4=CE=9Elope?= Date: Fri, 27 Jun 2025 22:02:31 +0200 Subject: [PATCH] Fix linter issues and update integration test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove unused imports (signal, yaml, os, socket, ConfigLoader) - Remove unused variable assignments in argument parsers - Update integration test to send initialize request first - Fix test to match new server mode behavior All unit tests pass, integration test needs initialize handshake. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- mcp_browser/__main__.py | 11 ++++------- mcp_browser/client_main.py | 4 +--- mcp_browser/daemon.py | 1 - tests/test_integration.py | 10 ++++++++++ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/mcp_browser/__main__.py b/mcp_browser/__main__.py index ff8fb08..3a52d02 100644 --- a/mcp_browser/__main__.py +++ b/mcp_browser/__main__.py @@ -8,14 +8,11 @@ import sys import asyncio import argparse import json -import signal from pathlib import Path from typing import Optional, Dict, Any -import yaml from .proxy import MCPBrowser from .config import ConfigLoader -from .default_configs import ConfigManager from .daemon import MCPBrowserDaemon, MCPBrowserClient, get_socket_path, is_daemon_running, kill_daemon_with_children from .logging_config import setup_logging, get_logger @@ -695,7 +692,7 @@ Environment: subparsers = parser.add_subparsers(dest="command", help="MCP methods") # tools/list command - list_tools = subparsers.add_parser("tools-list", help="List available tools") + subparsers.add_parser("tools-list", help="List available tools") # tools/call command call_tool = subparsers.add_parser("tools-call", help="Call a tool") @@ -703,14 +700,14 @@ Environment: call_tool.add_argument("arguments", help="Tool arguments as JSON") # resources/list command - list_resources = subparsers.add_parser("resources-list", help="List available resources") + subparsers.add_parser("resources-list", help="List available resources") # resources/read command read_resource = subparsers.add_parser("resources-read", help="Read a resource") read_resource.add_argument("uri", help="Resource URI") # prompts/list command - list_prompts = subparsers.add_parser("prompts-list", help="List available prompts") + subparsers.add_parser("prompts-list", help="List available prompts") # prompts/get command get_prompt = subparsers.add_parser("prompts-get", help="Get a prompt") @@ -762,7 +759,7 @@ Environment: if args.log_level == "TRACE" and config_path is None: from .config import ConfigLoader loader = ConfigLoader() - config = loader.load() + loader.load() # TRACE level shows raw I/O browser = MCPBrowser( diff --git a/mcp_browser/client_main.py b/mcp_browser/client_main.py index 300ea43..230fe10 100644 --- a/mcp_browser/client_main.py +++ b/mcp_browser/client_main.py @@ -9,7 +9,6 @@ This client can: 4. Act as MCP server (stdin/stdout) """ -import os import sys import asyncio import argparse @@ -22,7 +21,6 @@ from typing import Optional, Dict, Any from .proxy import MCPBrowser from .daemon import MCPBrowserClient, get_socket_path, is_daemon_running from .logging_config import setup_logging, get_logger -from .config import ConfigLoader def start_daemon_if_needed(server_name: Optional[str] = None, timeout: float = 5.0) -> bool: @@ -259,7 +257,7 @@ def main(): subparsers = parser.add_subparsers(dest="command", help="Commands") # tools/list - tools_list = subparsers.add_parser("tools-list", help="List available tools") + subparsers.add_parser("tools-list", help="List available tools") # tools/call tools_call = subparsers.add_parser("tools-call", help="Call a tool") diff --git a/mcp_browser/daemon.py b/mcp_browser/daemon.py index f53c693..d161af1 100644 --- a/mcp_browser/daemon.py +++ b/mcp_browser/daemon.py @@ -8,7 +8,6 @@ allowing shared state and better performance. import os import json import asyncio -import socket from pathlib import Path from typing import Optional, Dict, Any import signal diff --git a/tests/test_integration.py b/tests/test_integration.py index c81d67a..544870e 100644 --- a/tests/test_integration.py +++ b/tests/test_integration.py @@ -70,6 +70,16 @@ class JSONRPCTestClient: async def test_basic_flow(): """Test basic JSON-RPC flow.""" async with JSONRPCTestClient() as client: + # First initialize the connection + print("Initializing connection...") + init_response = await client.send_request("initialize", { + "protocolVersion": "2024-11-05", + "capabilities": {}, + "clientInfo": {"name": "test-client", "version": "1.0.0"} + }) + assert init_response.get("result", {}).get("protocolVersion") == "2024-11-05" + print("✓ Initialized successfully") + # Test 1: List tools (should show sparse tools) print("Test 1: Listing tools...") response = await client.send_request("tools/list")