{"id":32590447,"url":"https://github.com/dadepo/whois-mcp","last_synced_at":"2026-04-16T02:32:05.187Z","repository":{"id":313512886,"uuid":"1051626642","full_name":"dadepo/whois-mcp","owner":"dadepo","description":"A Model Context Protocol (MCP) server that provides LLMs with network information lookup tools through WHOIS and RIR Database queries.","archived":false,"fork":false,"pushed_at":"2025-10-15T06:13:37.000Z","size":182,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-30T01:49:26.371Z","etag":null,"topics":["afrinic","apnic","arin","lacnic","mcp","ripe","rir","whois"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dadepo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-06T11:50:13.000Z","updated_at":"2025-10-29T22:14:25.000Z","dependencies_parsed_at":"2025-09-06T16:14:03.494Z","dependency_job_id":"e4d9c14a-0202-4881-957d-a2c8592a7ca3","html_url":"https://github.com/dadepo/whois-mcp","commit_stats":null,"previous_names":["dadepo/whois-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dadepo/whois-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadepo%2Fwhois-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadepo%2Fwhois-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadepo%2Fwhois-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadepo%2Fwhois-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dadepo","download_url":"https://codeload.github.com/dadepo/whois-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadepo%2Fwhois-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31868494,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["afrinic","apnic","arin","lacnic","mcp","ripe","rir","whois"],"created_at":"2025-10-30T01:49:22.405Z","updated_at":"2026-04-16T02:32:05.165Z","avatar_url":"https://github.com/dadepo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# whois-mcp\n\nA **Model Context Protocol (MCP) server** that provides LLMs with network information lookup tools through WHOIS and RIPE Database queries.\n\n## Features\n\n### Available Tools\n- **`whois_query`** - Query WHOIS servers for domains, IPs, and ASNs\n- **`expand_as_set`** - Recursively expand AS-SETs into concrete ASN lists\n- **`validate_route_object`** - Check IRR route/route6 object existence\n- **`contact_card`** - Fetch abuse, admin, and technical contacts\n\n### Regional Internet Registry (RIR) Support\n\nThis MCP server supports all five Regional Internet Registries (RIRs) with varying tool availability:\n\n| Tool | RIPE NCC | ARIN | APNIC | AfriNIC | LACNIC |\n|------|:--------:|:----:|:-----:|:-------:|:------:|\n| **WHOIS Query** | ✅ | ✅ | ✅ | ✅ | ✅ |\n| **AS-SET Expansion** | ✅ | ✅ | ➖ | ➖ | ➖ |\n| **Route Validation** | ✅ | ✅ | ➖ | ➖ | ➖ |\n| **Contact Card** | ✅ | ✅ | ✅ | ✅ | ✅ |\n\n**Legend:**\n- ✅ Fully supported via REST/RDAP APIs\n- ➖ Not available (no public API; use `{rir}_whois_query` and parse output instead)\n\n**RIR Coverage:**\n- **RIPE NCC** : Europe, Middle East, Central Asia\n- **ARIN** : North America\n- **APNIC** : Asia-Pacific\n- **AfriNIC** : Africa\n- **LACNIC** : Latin America \u0026 Caribbean\n\n## Usage\n\nThis MCP server supports two transport modes:\n- **Stdio mode** (recommended for Claude Desktop and Claude Code CLI)\n- **HTTP server mode** (for web-based clients and remote access)\n\n### With Claude Desktop\n\nAdd to your Claude Desktop configuration file:\n\n**Location:**\n- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- Windows: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- Linux: `~/.config/Claude/claude_desktop_config.json`\n\n**Configuration:**\n```json\n{\n  \"mcpServers\": {\n    \"whois-mcp\": {\n      \"command\": \"/path/to/bin/uvx\",\n      \"args\": [\"--from\", \"git+https://github.com/dadepo/whois-mcp.git\", \"whois-mcp\"]\n    }\n  }\n}\n```\n\n### With Claude Code CLI\n\nAdd the MCP server using the CLI:\n```bash\n\nclaude mcp add --transport stdio whois-mcp -- uvx --from git+https://github.com/dadepo/whois-mcp.git whois-mcp\n\n# Verify it was added\nclaude mcp list\n\n# Start Claude Code\nclaude\n```\n\n### HTTP Server Mode\n\nFor web-based MCP clients or remote access:\n\n**Start the server:**\n```bash\n\nuvx --from git+https://github.com/dadepo/whois-mcp.git whois-mcp-server\n\n# With custom host/port\nHTTP_HOST=0.0.0.0 HTTP_PORT=9000 uvx --from git+https://github.com/dadepo/whois-mcp.git whois-mcp-server\n```\n\nThe server will be available at `http://127.0.0.1:8000/mcp` by default.\n\n**Add to Claude Code (HTTP):**\n```bash\nclaude mcp add --transport http whois-mcp-http http://127.0.0.1:8000/mcp\n```\n\n**Add to Claude Desktop (HTTP):**\n```json\n{\n  \"mcpServers\": {\n    \"whois-mcp-http\": {\n      \"url\": \"http://127.0.0.1:8000/mcp\"\n    }\n  }\n}\n```\n\n## Tool Usage Examples\n\n### Query Network Information\n```\n\"What organization owns 8.8.8.8?\"\n→ Uses whois_query to retrieve registration details\n```\n\n### Expand AS-SETs\n```\n\"What ASNs are in AS-HETZNER?\"\n→ Uses expand_as_set to list member ASNs\n```\n\n### Validate Route Objects\n```\n\"Is there a route object for 185.1.1.0/24 originated by AS61417?\"\n→ Uses validate_route_object to check IRR databases\n```\n\n### Get Contact Information\n```\n\"Who should I contact about abuse from AS15169?\"\n→ Uses contact_card to retrieve contact details\n```\n\n## Configuration\n\nEnvironment variables (optional):\n```bash\n# Enable/disable RIR support (all default to true)\nSUPPORT_RIPE=true      # RIPE NCC (Europe/Middle East/Central Asia)\nSUPPORT_ARIN=true      # ARIN (North America)\nSUPPORT_APNIC=true     # APNIC (Asia-Pacific)\nSUPPORT_AFRINIC=true   # AfriNIC (Africa)\nSUPPORT_LACNIC=true    # LACNIC (Latin America \u0026 Caribbean)\n\n# General Configuration\nHTTP_TIMEOUT_SECONDS=10\nWHOIS_CONNECT_TIMEOUT_SECONDS=5\nWHOIS_READ_TIMEOUT_SECONDS=5\nCACHE_TTL_SECONDS=60\nCACHE_MAX_ITEMS=512\n\n# Custom User-Agent string\nUSER_AGENT=\"whois-mcp/1.0\"\n\n# HTTP Server Configuration (only used by whois-mcp-server command)\nHTTP_HOST=127.0.0.1\nHTTP_PORT=8000\n```\n\n### RIR Support Control\n\nEach RIR can be individually enabled or disabled using environment variables. All RIR endpoints are hardcoded for reliability:\n\n- **RIPE NCC**: `whois.ripe.net`, `https://rest.db.ripe.net`\n- **ARIN**: `whois.arin.net`, `https://whois.arin.net/rest`\n- **APNIC**: `whois.apnic.net`, `https://rdap.apnic.net`\n- **AfriNIC**: `whois.afrinic.net`, `https://rdap.afrinic.net/rdap`\n- **LACNIC**: `whois.lacnic.net`, `https://rdap.lacnic.net/rdap`\n\nSet any `SUPPORT_{RIR}=false` to disable specific RIRs. Tools are prefixed with the RIR name (e.g., `ripe_whois_query`, `arin_whois_query`, `apnic_contact_card`).\n\n## Development\n\n### Local Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/dadepo/whois-mcp.git\ncd whois-mcp\n\n# Install dependencies\nuv sync\n\n# Run in stdio mode\nuv run whois-mcp\n\n# Run HTTP server mode\nuv run whois-mcp-server\n\n# Run tests\nuv run pytest\n```\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadepo%2Fwhois-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadepo%2Fwhois-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadepo%2Fwhois-mcp/lists"}