whereami-mcp
Retrieve precise geolocation information based on the current IP address with detailed reports and error handling capabilities. Supports dynamic queries for specific data types such as IP, country, and city.
Author

kukapay
Quick Info
Actions
Tags
WhereAmI MCP Server
A lightweight mcp server that tells you exactly where you are based on your current IP, powered by ipapi.co.
Features
- Dynamic Resources: Fetch specific data (e.g., IP, country, city) via
location://{type}. - Detailed Tool: Generate a comprehensive location report with
get_location(). - Natural Language Prompt: Ask "Where am I?" to get detailed results.
- Robust Error Handling: Gracefully manages API and network issues.
- Minimal Dependencies: Requires only
mcpandhttpx.
Installation
Prerequisites
- Python 3.10+
pip
Setup
- Clone the repository:
bash git clone https://github.com/kukapay/whereami-mcp.git cd whereami-mcp - Install dependencies:
bash pip install mcp httpx - (Optional) Install as an MCP service:
bash mcp install whereami_mcp.py --name "WhereAmI"
Usage
Running the Server
- Direct execution:
bash python whereami_mcp.py - Development mode:
bash mcp dev whereami_mcp.py
Components
Resource: location://{type}
Returns a specific location detail based on {type}.
- Supported Types: ip, country, country_code, region, city, latitude, longitude, timezone, isp, asn
- Examples:
- @location://ip → "8.8.8.8"
- @location://city → "Mountain View"
- @location://country → "United States"
Tool: get_location()
Generates a detailed Markdown table of geolocation data.
- Fields:
- IP
- Country
- Country Code
- Region
- City
- Latitude
- Longitude
- Timezone
- ISP
- ASN
- Sample Output:
| Field | Value |
|----------------|-------------------|
| IP | 8.8.8.8 |
| Country | United States |
| Country Code | US |
| Region | California |
| City | Mountain View |
| Latitude | 37.4223 |
| Longitude | -122.0848 |
| Timezone | America/Los_Angeles |
| ISP | GOOGLE |
| ASN | AS15169 |
Prompt: where_am_i_prompt
Predefined query: "Please tell me where I am based on my current IP address." Triggers get_location().
Examples in Claude Desktop
- Install the server:
bash mcp install whereami_mcp.py --name "WhereAmI" - Query data:
- "My IP is
@location://ip" - "I’m in
@location://city,@location://country" - Get full report:
- "Where am I?"
get_location()
License
MIT License. See LICENSE for details.
