@apogeoapi/mcp 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -106
- package/package.json +3 -4
- package/smithery.yaml +21 -0
package/README.md
CHANGED
|
@@ -1,106 +1,112 @@
|
|
|
1
|
-
# @apogeoapi/mcp
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- **
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
1
|
+
# @apogeoapi/mcp
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@apogeoapi/mcp)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
[](https://modelcontextprotocol.io)
|
|
6
|
+
|
|
7
|
+
Geographic data MCP server for [ApogeoAPI](https://apogeoapi.com) — 250 countries, states, cities, live currency rates, and IP geolocation. Works with Claude Desktop, Cursor, and any MCP-compatible client.
|
|
8
|
+
|
|
9
|
+
No SDK required. Install with `npx`, configure once, done.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## What your agent can do
|
|
14
|
+
|
|
15
|
+
- **Country profiles** — ISO codes, capital, currency, timezones, population, GDP, flag, translations in 18 languages, postal code regex
|
|
16
|
+
- **States & provinces** — ISO 3166-2 codes, coordinates, timezone per state
|
|
17
|
+
- **Cities** — 150,000+ cities with coordinates
|
|
18
|
+
- **IP geolocation** — IPv4/IPv6 → country, region, city, coordinates, timezone, EU membership
|
|
19
|
+
- **Live currency rates** — USD exchange rates for 161 currencies, refreshed every 4 hours
|
|
20
|
+
- **Global search** — search across countries, states, and cities in one call
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Quickstart
|
|
25
|
+
|
|
26
|
+
### Claude Desktop
|
|
27
|
+
|
|
28
|
+
Add to `claude_desktop_config.json`:
|
|
29
|
+
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
30
|
+
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"mcpServers": {
|
|
35
|
+
"apogeoapi": {
|
|
36
|
+
"command": "npx",
|
|
37
|
+
"args": ["-y", "@apogeoapi/mcp"],
|
|
38
|
+
"env": {
|
|
39
|
+
"APOGEOAPI_KEY": "your-api-key"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Restart Claude Desktop. The ApogeoAPI tools will appear automatically.
|
|
47
|
+
|
|
48
|
+
### Cursor
|
|
49
|
+
|
|
50
|
+
Add the same block to `~/.cursor/mcp.json` under `mcpServers`.
|
|
51
|
+
|
|
52
|
+
### Get an API key
|
|
53
|
+
|
|
54
|
+
1. Create a free account at [apogeoapi.com](https://apogeoapi.com) — no credit card required
|
|
55
|
+
2. Go to **API Keys** and generate a key
|
|
56
|
+
3. Paste it as `APOGEOAPI_KEY`
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Example
|
|
61
|
+
|
|
62
|
+
**You ask Claude:**
|
|
63
|
+
> What timezone does Japan use and what does a Japanese postal code look like?
|
|
64
|
+
|
|
65
|
+
**Claude calls** `get_country({ code: "JP" })` and responds:
|
|
66
|
+
|
|
67
|
+
> Japan uses a single timezone: **JST (Japan Standard Time), UTC+09:00**. Japanese postal codes follow the format `NNN-NNNN` — three digits, a hyphen, then four digits. Example: `100-0001`.
|
|
68
|
+
|
|
69
|
+
The full response includes: capital, currency (JPY / ¥), GDP, population, flag URL, 47 states, translations in 18 languages (ja, zh-CN, ar, de, es, fr, ru...), and more.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Available tools
|
|
74
|
+
|
|
75
|
+
| Tool | Description | Plan |
|
|
76
|
+
|------|-------------|------|
|
|
77
|
+
| `get_country` | Full country profile: currency, timezones, translations (18 languages), GDP, population, postal regex, flag | Free |
|
|
78
|
+
| `list_countries` | All 250 countries, paginated — basic / standard / full detail | Free |
|
|
79
|
+
| `search_countries` | Search by partial name, paginated | Free |
|
|
80
|
+
| `get_states` | States/provinces with ISO 3166-2 codes, timezone, coordinates | Free |
|
|
81
|
+
| `get_cities` | Cities within a state (150,000+ total) | Basic |
|
|
82
|
+
| `geolocate_ip` | IPv4/IPv6 → country, region, city, coords, timezone, EU membership | Basic |
|
|
83
|
+
| `get_currency_rate` | Live exchange rate vs USD, refreshed every 4 hours | Basic |
|
|
84
|
+
| `global_search` | Unified search across countries, states, and cities | Basic |
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Plans
|
|
89
|
+
|
|
90
|
+
| Plan | Price | Requests/month | Unlocks |
|
|
91
|
+
|------|-------|---------------|---------|
|
|
92
|
+
| Free | $0 | 1,000 | get_country, list_countries, search_countries, get_states |
|
|
93
|
+
| Basic | $19/mo | 15,000 | + cities, IP geo, currency rates, global search |
|
|
94
|
+
| Starter | $29/mo | 100,000 | + webhooks |
|
|
95
|
+
| Professional | $79/mo | 500,000 | + priority support, 5 team members, 99.5% SLA |
|
|
96
|
+
|
|
97
|
+
Manage plans at [app.apogeoapi.com/dashboard/billing](https://app.apogeoapi.com/dashboard/billing).
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Environment variables
|
|
102
|
+
|
|
103
|
+
| Variable | Required | Description |
|
|
104
|
+
|----------|----------|-------------|
|
|
105
|
+
| `APOGEOAPI_KEY` | Yes | API key from the dashboard |
|
|
106
|
+
| `APOGEOAPI_BASE_URL` | No | Override base URL (default: `https://api.apogeoapi.com`) |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## License
|
|
111
|
+
|
|
112
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apogeoapi/mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "MCP server for ApogeoAPI — geographic data, live exchange rates & IP geolocation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -28,13 +28,12 @@
|
|
|
28
28
|
"@types/node": "^20.0.0",
|
|
29
29
|
"tsx": "^4.0.0"
|
|
30
30
|
},
|
|
31
|
-
"files": ["dist"],
|
|
31
|
+
"files": ["dist", "smithery.yaml"],
|
|
32
32
|
"keywords": ["mcp", "geolocation", "geography", "currency", "ip-geo", "apogeoapi"],
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"repository": {
|
|
35
35
|
"type": "git",
|
|
36
|
-
"url": "https://github.com/
|
|
37
|
-
"directory": "mcp-server"
|
|
36
|
+
"url": "https://github.com/APOGEOAPI/apogeoapi-mcp.git"
|
|
38
37
|
},
|
|
39
38
|
"homepage": "https://apogeoapi.com"
|
|
40
39
|
}
|
package/smithery.yaml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Smithery configuration for ApogeoAPI MCP Server
|
|
2
|
+
# https://smithery.ai/docs/build/publish
|
|
3
|
+
|
|
4
|
+
startCommand:
|
|
5
|
+
type: stdio
|
|
6
|
+
configSchema:
|
|
7
|
+
type: object
|
|
8
|
+
required:
|
|
9
|
+
- apiKey
|
|
10
|
+
properties:
|
|
11
|
+
apiKey:
|
|
12
|
+
type: string
|
|
13
|
+
description: "Your ApogeoAPI key. Get one free at apogeoapi.com"
|
|
14
|
+
commandFunction: |-
|
|
15
|
+
(config) => ({
|
|
16
|
+
command: "npx",
|
|
17
|
+
args: ["-y", "@apogeoapi/mcp"],
|
|
18
|
+
env: {
|
|
19
|
+
APOGEOAPI_KEY: config.apiKey
|
|
20
|
+
}
|
|
21
|
+
})
|