IPInfo MCP Server

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.

Category
Visit Server

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_details tool 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 information
  • get_ip_details(ip?) - Legacy tool for backward compatibility
  • get_account_info() - Get API account limits and features
  • batch_lookup(ips[]) - Batch lookup multiple IPs
  • summarize_ips(ips[]) - Get summary statistics for IP list
  • map_ips(ips[]) - Create visual map of IP locations

ASN & Company

  • get_asn_info(asn) - Get Autonomous System information
  • get_company_info(ip) - Get company details for an IP
  • get_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 IP
  • get_ip_ranges(domain) - Get IP ranges for a domain

WHOIS Lookups

  • whois_lookup_by_ip(ip, page?, source?) - WHOIS by IP
  • whois_lookup_by_domain(domain, page?, source?) - WHOIS by domain
  • whois_lookup_by_asn(asn, page?, source?) - WHOIS by ASN

Single Field Tools

  • get_ip_city(ip?) - Get just the city
  • get_ip_country(ip?) - Get just the country code
  • get_ip_region(ip?) - Get just the region/state
  • get_ip_location(ip?) - Get just the coordinates
  • get_ip_postal(ip?) - Get just the postal code
  • get_ip_timezone(ip?) - Get just the timezone
  • get_ip_hostname(ip?) - Get just the hostname
  • get_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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured