whereami-mcp
3
WhereAmI MCP Server is a lightweight and efficient server that provides precise geolocation information based on the user's IP address. It features dynamic resource fetching, detailed location reporting, and robust error handling, leveraging minimal dependencies.
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
mcp
andhttpx
.
Installation
Prerequisites
- Python 3.10+
pip
Setup
- Clone the repository:
git clone https://github.com/kukapay/whereami-mcp.git cd whereami-mcp
- Install dependencies:
pip install mcp httpx
- (Optional) Install as an MCP service:
mcp install whereami_mcp.py --name "WhereAmI"
Usage
Running the Server
- Direct execution:
python whereami_mcp.py
- Development mode:
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:
mcp install whereami_mcp.py --name "WhereAmI"
- Query data:
- "My IP is
@location://ip
" - "I’m in
@location://city
,@location://country
"
- "My IP is
- Get full report:
- "Where am I?"
get_location()
License
MIT License. See for details.