diff --git a/mcp/transilience-vuln/README.md b/mcp/transilience-vuln/README.md index d0067eb..8d4ed0d 100644 --- a/mcp/transilience-vuln/README.md +++ b/mcp/transilience-vuln/README.md @@ -60,7 +60,7 @@ two `/ABSOLUTE/PATH/TO/...` placeholders and your API key: "mcpServers": { "transilience-vuln": { "command": "/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/.venv/bin/python", - "args": ["/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/server.py"], + "args": ["/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/transilience_vuln_mcp/server.py"], "env": { "TRANSILIENCE_API_KEY": "your-actual-key-here", "TRANSILIENCE_RATE_LIMIT": "18" @@ -72,7 +72,8 @@ two `/ABSOLUTE/PATH/TO/...` placeholders and your API key: Use absolute paths for both `command` and `args` — Claude Desktop does not honor your shell's `PATH`. On Windows the Python binary is -`...\.venv\Scripts\python.exe`. +`...\.venv\Scripts\python.exe` and the server module is +`...\transilience_vuln_mcp\server.py`. Quit Claude Desktop completely (not just close the window) and relaunch. @@ -92,7 +93,7 @@ The most common failure is a wrong path to Python or to `server.py`. ## Smoke test from the command line ```bash -TRANSILIENCE_API_KEY=your-key python server.py +TRANSILIENCE_API_KEY=your-key python -m transilience_vuln_mcp.server ``` The server will sit on stdio waiting for JSON-RPC. You should see diff --git a/mcp/transilience-vuln/claude_desktop_config.snippet.json b/mcp/transilience-vuln/claude_desktop_config.snippet.json index c7e2227..3bf8532 100644 --- a/mcp/transilience-vuln/claude_desktop_config.snippet.json +++ b/mcp/transilience-vuln/claude_desktop_config.snippet.json @@ -2,7 +2,7 @@ "mcpServers": { "transilience-vuln": { "command": "/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/.venv/bin/python", - "args": ["/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/server.py"], + "args": ["/ABSOLUTE/PATH/TO/communitytools/mcp/transilience-vuln/transilience_vuln_mcp/server.py"], "env": { "TRANSILIENCE_API_KEY": "PUT-YOUR-KEY-HERE", "TRANSILIENCE_RATE_LIMIT": "18" diff --git a/mcp/transilience-vuln/pyproject.toml b/mcp/transilience-vuln/pyproject.toml index ac85b78..8cf5caa 100644 --- a/mcp/transilience-vuln/pyproject.toml +++ b/mcp/transilience-vuln/pyproject.toml @@ -28,11 +28,11 @@ Issues = "https://github.com/transilienceai/communitytools/issues" API = "https://transilienceapi.com" [project.scripts] -transilience-vuln-mcp = "server:cli" +transilience-vuln-mcp = "transilience_vuln_mcp:cli" [build-system] requires = ["setuptools>=61"] build-backend = "setuptools.build_meta" [tool.setuptools] -py-modules = ["server"] +packages = ["transilience_vuln_mcp"] diff --git a/mcp/transilience-vuln/transilience_vuln_mcp/__init__.py b/mcp/transilience-vuln/transilience_vuln_mcp/__init__.py new file mode 100644 index 0000000..3769218 --- /dev/null +++ b/mcp/transilience-vuln/transilience_vuln_mcp/__init__.py @@ -0,0 +1,10 @@ +"""Transilience Vulnerability MCP server package. + +Re-exports the console-script entry point (`cli`) and the underlying +`main` coroutine / `server` instance so they are importable from the +package root, e.g. `from transilience_vuln_mcp import cli`. +""" + +from .server import cli, main, server + +__all__ = ["cli", "main", "server"] diff --git a/mcp/transilience-vuln/server.py b/mcp/transilience-vuln/transilience_vuln_mcp/server.py similarity index 100% rename from mcp/transilience-vuln/server.py rename to mcp/transilience-vuln/transilience_vuln_mcp/server.py