Ip Geo Location Skill

v0.1.3

IP geolocation lookup via MCP. Use when users ask IP location, IP geolocation, where an IP is from, IP lookup, ASN, IP to country/city, IP 地理位置查询, IP 归属地, 批量...

0· 288·1 current·1 all-time
byMarc Chen@marc-chen

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for marc-chen/ip-geo-location-skill.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Ip Geo Location Skill" (marc-chen/ip-geo-location-skill) from ClawHub.
Skill page: https://clawhub.ai/marc-chen/ip-geo-location-skill
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required binaries: node
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install marc-chen/ip-geo-location-skill

ClawHub CLI

Package manager switcher

npx clawhub@latest install ip-geo-location-skill
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the implementation: the skill implements domain resolution and IP geolocation via a fixed MCP endpoint. The only runtime dependency is node, which is reasonable for the provided JS scripts.
Instruction Scope
SKILL.md limits scope to resolving domains, validating IPs, blocking private/reserved ranges, and calling the MCP. The scripts implement this flow. Note: domain resolution happens locally (dns.resolve4/6) and resolved IPs are then sent to the external MCP (subject to the private-IP block) — this is expected but worth noting for privacy.
Install Mechanism
Instruction-only skill with no install spec and only Node scripts included. No downloads or extract/install steps that would write arbitrary code to disk at install time.
Credentials
No environment variables, credentials, or config paths are requested. The absence of credentials is coherent with the fixed public MCP endpoint usage.
Persistence & Privilege
The skill does not request permanent presence or special privileges (always is false). It does not modify other skills or system settings; scripts only write to stdout.
Assessment
This skill appears to do exactly what it claims: resolve domains (locally), validate IPs, block private/reserved addresses, and send public IPs to the fixed MCP endpoint https://ip.api4claw.com/mcp. Before installing, consider: (1) privacy — any IPs you query will be sent to a third-party service (no credentials required), so avoid submitting sensitive internal addresses (the code blocks common private ranges but you should still be cautious); (2) review/trust the external endpoint (ip.api4claw.com) and its privacy policy; (3) runtime compatibility — the scripts assume a modern Node runtime (fetch, AbortController, etc.) and use a net.BlockList API that may not exist in all Node versions, so test in a sandbox first; (4) if you need to avoid network calls, do not install or run the skill. If you want higher assurance, verify the MCP service's operator and run the scripts in a restricted environment with non-sensitive test queries.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsnode
latestvk974c9ezfba96r42jrwde8658582per8
288downloads
0stars
4versions
Updated 1mo ago
v0.1.3
MIT-0

IP Geolocation Skill

Use this skill to query geographic and ASN information from IP addresses through the mcp-geoip-server MCP service.

This skill is designed for:

  • Single IP lookup
  • Multi-IP batch lookup
  • Domain-to-IP then geolocation workflow
  • Structured result output for quick user reading

MCP Server

  • Name: mcp-geoip-server
  • URL: https://ip.api4claw.com/mcp
  • Transport: Streamable HTTP

VS Code MCP Configuration

Add to .vscode/mcp.json (workspace) or user MCP settings:

{
  "servers": {
    "mcp-geoip-server": {
      "type": "http",
      "url": "https://ip.api4claw.com/mcp"
    }
  }
}

Tools

get_ip_geolocation

Look up geolocation information for one IP.

Input:

NameTypeRequiredDescription
ip_addressstringYesIPv4 or IPv6 address to look up (e.g. 8.8.8.8 or 2001:4860:4860::8888)

Output fields:

FieldDescription
ipThe queried IP address
countryCountry name
country_codeISO country code (e.g. US, CN)
provinceProvince or state
cityCity name
asnAutonomous System Number
asn_orgASN organization name

Detailed tool schema and protocol notes: API reference

Execution Workflow

  1. Extract query targets from user input.
  2. Classify each target as IPv4, IPv6, or domain.
  3. If target is a domain, resolve to IP first using resolve script.
  4. Call get_ip_geolocation for each IP.
  5. Return concise and structured results.
  6. If multiple IPs are provided, present results in a table for easy comparison.

Input Handling Rules

  • Trim whitespace and punctuation around candidate IPs.
  • Keep duplicates out during batch lookup.
  • Support both IPv4 and IPv6.
  • If input is neither valid IP nor resolvable domain, return a clear validation error.
  • For script-based calls, only valid IP literals are sent to remote MCP (invalid inputs are rejected locally).
  • Private/reserved IP ranges (for example 127.0.0.1, 10.x.x.x, 192.168.x.x, fc00::/7) must not be sent to external MCP.

Security and Privacy

  • This skill sends queried IP addresses to an external MCP service (ip.api4claw.com).
  • The default endpoint uses HTTPS transport to encrypt traffic in transit.
  • The script implementation is restricted to a fixed HTTPS endpoint (https://ip.api4claw.com/mcp) to reduce misuse risk.
  • Private/internal IPs are blocked in the script implementation to reduce privacy leakage risk.

Output Format

Use this format by default:

IPCountryProvince/StateCityCountry CodeASNASN Org
8.8.8.8United States--US15169Google LLC

If a field is empty, display -.

Error Handling

  • MCP unavailable/timeout: explain temporary service issue and suggest retry.
  • Invalid IP format: ask user to confirm/correct the IP.
  • Private or reserved IP: explain that local/private addresses are intentionally blocked from external lookup.
  • Empty/unknown location fields: keep response transparent and do not fabricate values.
  • Encoding anomalies (for example garbled country text): include country_code and raw value.
  • Session timeout/invalid session ID: re-run MCP initialize to get a new Mcp-Session-Id, then retry the failed tool call once.

Domain-to-IP Flow

When user asks for a domain location (for example example.com):

  1. Resolve A/AAAA records with resolve script.
  2. Query each resolved IP using get_ip_geolocation.
  3. Summarize domain-level findings and list per-IP differences.

Implementation Scripts

  • invoke MCP lookup: includes initialize before calls and auto re-initialize on session expiration.
  • resolve domain: resolves domain to unique A/AAAA addresses.

Example: Single IP

User: 8.8.8.8 在哪里?

Call:

get_ip_geolocation({ "ip_address": "8.8.8.8" })

Response (example):

{
  "ip": "8.8.8.8",
  "country": "美国",
  "country_code": "US",
  "province": "",
  "city": "",
  "asn": 15169,
  "asn_org": "Google LLC"
}

Example: Batch IPs

User: 帮我查 8.8.8.8 和 1.1.1.1 的地理位置

Execution:

  1. Call get_ip_geolocation with 8.8.8.8
  2. Call get_ip_geolocation with 1.1.1.1
  3. Return merged table with both records

Success Criteria

  • Every valid input IP returns one result row.
  • Invalid targets are explicitly marked with reason.
  • No inferred or fabricated geographic values.
  • Response is readable for both Chinese and English users.

Comments

Loading comments...