IPInfo MCP Server
Enables comprehensive IP address intelligence and geolocation lookups through IPInfo's API. Provides 25+ tools for IP geolocation, ASN information, privacy detection, WHOIS lookups, and network analysis with strongly-typed responses.
README
MCP Server IPInfo
This is a version of the MCP Server for IPInfo that implements the complete IPInfo OpenAPI specification with strongly-typed models and comprehensive tool coverage.
Features
- Full OpenAPI Spec Implementation: Complete implementation of IPInfo's OpenAPI specification
- Strongly Typed: All API responses use Pydantic models for type safety
- HTTP Transport: Supports streamable-http transport with health endpoint
- Comprehensive Tools: 25+ MCP tools covering all IPInfo API endpoints
- Backward Compatible: Maintains the original
get_ip_detailstool for compatibility
Installation
# Using uv (recommended)
uv pip install -e .
# Or with pip
pip install -e .
Configuration
Set your IPInfo API token as an environment variable:
export IPINFO_API_TOKEN=your_token_here
Running the Server
As a standalone MCP server
# Using uv
uv run mcp-ipinfo
# Or with Python
python -m mcp_ipinfo.server
In Claude Code
Add this configuration to your Claude Code settings:
{
"mcpServers": {
"ipinfo": {
"command": "/path/to/.local/bin/uv",
"args": [
"--directory",
"/path/to/mcp-server-ipinfo",
"run",
"mcp-ipinfo"
],
"env": {
"IPINFO_API_TOKEN": "your_ipinfo_api_token_here"
}
}
}
}
Available MCP Tools
Core IP Information
get_ip_info(ip?)- Get comprehensive IP informationget_ip_details(ip?)- Legacy tool for backward compatibilityget_account_info()- Get API account limits and featuresbatch_lookup(ips[])- Batch lookup multiple IPssummarize_ips(ips[])- Get summary statistics for IP listmap_ips(ips[])- Create visual map of IP locations
ASN & Company
get_asn_info(asn)- Get Autonomous System informationget_company_info(ip)- Get company details for an IPget_carrier_info(ip)- Get mobile carrier information
Privacy & Security
get_privacy_info(ip)- Detect VPN, proxy, Tor, etc.get_abuse_contact(ip)- Get abuse contact information
Network Information
get_hosted_domains(ip, page?, limit?)- Get domains on an IPget_ip_ranges(domain)- Get IP ranges for a domain
WHOIS Lookups
whois_lookup_by_ip(ip, page?, source?)- WHOIS by IPwhois_lookup_by_domain(domain, page?, source?)- WHOIS by domainwhois_lookup_by_asn(asn, page?, source?)- WHOIS by ASN
Single Field Tools
get_ip_city(ip?)- Get just the cityget_ip_country(ip?)- Get just the country codeget_ip_region(ip?)- Get just the region/stateget_ip_location(ip?)- Get just the coordinatesget_ip_postal(ip?)- Get just the postal codeget_ip_timezone(ip?)- Get just the timezoneget_ip_hostname(ip?)- Get just the hostnameget_ip_org(ip?)- Get just the organization/ASN
Testing
Run the test client to verify the implementation:
python test_client.py
API Client Usage
You can also use the API client directly in your Python code:
import asyncio
from mcp_ipinfo.api_client import IPInfoClient
async def main():
async with IPInfoClient() as client:
# Get current IP info
info = await client.get_current_info()
print(f"Current IP: {info.ip}")
print(f"Location: {info.city}, {info.country}")
# Get specific IP info
google = await client.get_info_by_ip("8.8.8.8")
print(f"Google DNS: {google.org}")
# Privacy detection
privacy = await client.get_privacy("1.1.1.1")
print(f"VPN detected: {privacy.vpn}")
asyncio.run(main())
Type Safety
All models are strongly typed using Pydantic:
from mcp_ipinfo.api_models import (
FullResponse, # Complete IP information
AsnResponse, # ASN details
CompanyResponse, # Company information
PrivacyResponse, # Privacy detection results
# ... and many more
)
Requirements
- Python 3.13+
- aiohttp
- fastmcp
- pydantic
- mcp
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.