diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..93b49ed --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile +FROM python:3.11-slim + +# Set working directory +WORKDIR /app + +# Install dependencies +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Copy application code +COPY . . + +# Expose no ports; communicate via stdio + +# Default command +CMD ["python", "run_server.py"] diff --git a/README.md b/README.md index d0e552e..e1214b6 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Python MCP Server for Code Graph Extraction +[![smithery badge](https://smithery.ai/badge/@hesiod-au/python-mcp)](https://smithery.ai/server/@hesiod-au/python-mcp) This MCP (Model Context Protocol) server provides tools for extracting and analyzing Python code structures, focusing on import/export relationships between files. This is a lightweight implementation that doesn't require an agent system, making it easy to integrate into any Python application. @@ -23,6 +24,15 @@ The server exposes a powerful code extraction tool that: ## Installation +### Installing via Smithery + +To install Python Code Explorer for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@hesiod-au/python-mcp): + +```bash +npx -y @smithery/cli install @hesiod-au/python-mcp --client claude +``` + +### Manual Installation ```bash # Clone the repository git clone https://github.com/yourusername/python-mcp-new.git diff --git a/smithery.yaml b/smithery.yaml new file mode 100644 index 0000000..98795c3 --- /dev/null +++ b/smithery.yaml @@ -0,0 +1,13 @@ +# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml + +startCommand: + type: stdio + configSchema: + # JSON Schema defining the configuration options for the MCP. + type: object + description: Empty configuration + commandFunction: + # A JS function that produces the CLI command based on the given config to start the MCP on stdio. + |- + (config) => ({ command: 'python', args: ['run_server.py'] }) + exampleConfig: {}