You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Works with Claude Desktop, Cursor, Windsurf, VS Code, Codex, Cline, Glama, and a
16
16
| Item | Value |
17
17
|------|-------|
18
18
| Package |`ipgeolocation-io-mcp`|
19
-
| Version |`1.0.17`|
19
+
| Version |`1.0.19`|
20
20
| Transport |`stdio`|
21
21
| Node.js |`>=18`|
22
22
@@ -605,21 +605,24 @@ The text answers below show what a client might say. Exact wording depends on th
605
605
606
606
## Error Codes
607
607
608
-
All tools return structured errors instead of crashing the server.
608
+
All tools return structured errors instead of crashing the server. API errors include the upstream status/message plus a `guidance` field so MCP clients can tell the user what to check next instead of only repeating the upstream response.
609
609
610
610
| Code | Meaning |
611
611
|------|---------|
612
612
|`400`| Bad parameters, invalid date/time format, missing coordinate pair, or unsupported input |
613
613
|`401`| Missing/invalid API key, free plan calling a paid tool, or non-English `lang` on free plan |
614
614
|`404`| Resource not found (e.g., ASN does not exist) |
615
615
|`405`| Method or subscription restriction from the upstream API |
616
+
|`413`| POST body is larger than the upstream API allows |
617
+
|`415`| POST request is missing the required `application/json` content type |
616
618
|`423`| Bogon or private IP (`10.x.x.x`, `192.168.x.x`, etc.) |
|`499`| Upstream validation error or unsupported query |
620
+
|`499`| Client-side request or connection timeout was too short |
621
+
|`5xx`| Upstream API server-side error |
619
622
|`502`| Server could not reach the upstream API |
620
623
|`504`| Upstream API timed out |
621
624
622
-
Exact status codes can vary by endpoint and request mode. If an upstream endpoint returns a different error, the server passes it through with a structured message.
625
+
Exact status codes can vary by endpoint and request mode. If an upstream endpoint returns a status outside this table, the server does not guess the cause. It passes the upstream status and message through with `category: "undocumented_api_error"` and adds guidance for the MCP client to explain the response as an undocumented upstream status without inventing a cause.
623
626
624
627
## How It Works
625
628
@@ -640,6 +643,7 @@ At runtime:
640
643
Tools that return stable data (not current-time lookups) cache their responses in process memory. Repeated lookups are faster and don't use additional credits. Client retries don't generate duplicate API calls.
641
644
642
645
- Process-level cache, not client or model memory
646
+
- Cache entries are scoped by API key, so separate MCP sessions do not share cached upstream data
643
647
- Default TTL: 5 minutes (`300000` ms)
644
648
- Cache resets when the server process stops
645
649
- Cache misses on TTL expiry, changed parameters, or `force_refresh: true`
0 commit comments