io.github.CloudCorpRecords/geodata
Geographic data by API key: countries, states, cities, currency rates and IP geolocation.
ماذا يمكنك أن تفعل مع io.github.CloudCorpRecords/geodata؟
get_country— full country data by ISO2/ISO3code:list_countries— the paginated catalogue of all 250+search_countries— countries matching a partialqueryget_states— all states/provinces for acountrycode.get_cities— all cities for a state, addressed by itsget_currency_rate— the live USD exchange rate for ageolocate_ip— country, region, city, coordinates,global_search— onequerysearched across countries,
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
@reneturcios/geodataclaude mcp add geodata -- npx -y @reneturcios/geodata@0.1.0 mcp
{
"mcpServers": {
"geodata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/geodata@0.1.0",
"mcp"
]
}
}
}
ghcr.io/cloudcorprecords/geodata:0.1.0claude mcp add geodata -- docker run -i --rm ghcr.io/cloudcorprecords/geodata:0.1.0 mcp
{
"mcpServers": {
"geodata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/cloudcorprecords/geodata:0.1.0",
"mcp"
]
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
geodata
Country, state and city data, live currency rates and IP geolocation, behind one API key. geodata is a thin client for the ApogeoAPI REST API: you bring an API key, and eight tools cover the whole lookup surface — a single country in full detail, the paginated country catalogue, name search, the states and cities underneath a country, the current exchange rate for a country's currency, where an IP address lives, and one search box that spans all three levels.
Every successful call returns the upstream JSON exactly as the API sent it. Nothing is reshaped, renamed or summarised on the way through, so what your client sees is what the service returned.
Configuration
Two environment variables control the client:
APOGEOAPI_KEY(required) — your API key, sent on every request as theX-API-Keyheader. When it is not set, every tool fails withAPOGEOAPI_KEY is not setand no request is made.APOGEOAPI_BASE_URL(optional) — API base URL. Defaults tohttps://api.apogeoapi.com.
Tools
get_country— full country data by ISO2/ISO3code: name, capital, region, population, currency, live USD rate, timezones and phone code. An optionalbase(for exampleEUR) changes the currency base for rates.list_countries— the paginated catalogue of all 250+ countries. Optionalpage,limitandbaseare sent as query parameters when present.search_countries— countries matching a partialqueryname.get_states— all states/provinces for acountrycode.get_cities— all cities for a state, addressed by its numericstate_id.get_currency_rate— the live USD exchange rate for acountry's currency (updated every 4 hours), with an optionalbase.geolocate_ip— country, region, city, coordinates, timezone and EU membership for an IPv4/IPv6ip.global_search— onequerysearched across countries, states and cities at once.
Validation fails before any request with a specific
message: code must be a non-empty string,
country must be a non-empty string,
query must be a non-empty string,
ip must be a non-empty string, or
state_id must be a positive integer. An upstream
non-2xx reply fails with apogeoapi error: HTTP <status>
and an unreachable API with apogeoapi unreachable.
Endpoint provenance
Four request paths are pinned by the vendor site's worked examples:
GET /v1/countries/{code}(with optional?base=)GET /v1/countriesGET /v1/countries/{country}/currency-rateGET /v1/ip/{ip}
The remaining four paths are reconstructions, labelled as such: they follow the site's documented collection pattern but are not pinned by a worked example.
GET /v1/countries?search=<query>— reconstruction (used bysearch_countries)GET /v1/countries/{country}/states— reconstruction (used byget_states)GET /v1/states/{state_id}/cities— reconstruction (used byget_cities)GET /v1/search?q=<query>— reconstruction (used byglobal_search)
For list_countries, the collection endpoint and its
query style are pinned, while the page / limit /
base parameter names are a reconstruction.
CLI
Each tool is a subcommand taking one JSON argument string:
export APOGEOAPI_KEY="<your key>"
npx @reneturcios/geodata get_country '{"code":"US"}'
npx @reneturcios/geodata get_country '{"code":"FR","base":"EUR"}'
npx @reneturcios/geodata list_countries '{"page":1,"limit":50}'
npx @reneturcios/geodata search_countries '{"query":"united"}'
npx @reneturcios/geodata get_states '{"country":"US"}'
npx @reneturcios/geodata get_cities '{"state_id":42}'
npx @reneturcios/geodata get_currency_rate '{"country":"DE"}'
npx @reneturcios/geodata geolocate_ip '{"ip":"8.8.8.8"}'
npx @reneturcios/geodata global_search '{"query":"paris"}'
npx @reneturcios/geodata --version
Output is the tool's result text (the upstream JSON on
success). Exit codes: 0 on success, 1 on a runtime
error (including a validation, missing-key or upstream
failure), 2 on a usage error.
MCP server
npx -y @reneturcios/geodata mcp
MCP client config (provide the key through the client's environment):
{
"mcpServers": {
"geodata": {
"command": "npx",
"args": ["-y", "@reneturcios/geodata", "mcp"],
"env": {
"APOGEOAPI_KEY": "<your key>"
}
}
}
}
Docker
docker run -i -e APOGEOAPI_KEY="<your key>" ghcr.io/cloudcorprecords/geodata
docker run --rm -e APOGEOAPI_KEY="<your key>" ghcr.io/cloudcorprecords/geodata get_country '{"code":"US"}'
Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from source
License
MIT — Copyright (c) 2026 Rene Turcios
الأسئلة الشائعة
ما هو io.github.CloudCorpRecords/geodata؟
Geographic data by API key: countries, states, cities, currency rates and IP geolocation.
كيف أثبّت io.github.CloudCorpRecords/geodata؟
يعمل على جهازك. في Claude Code: claude mcp add geodata -- npx -y @reneturcios/geodata@0.1.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج io.github.CloudCorpRecords/geodata إلى مفتاح API؟
لا يذكر إدراجه في السجل أي مفتاح أو سر إلزامي. قد تتطلب بعض الميزات حسابًا لدى الخدمة التي يتصل بها.
هل io.github.CloudCorpRecords/geodata مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون io.github.CloudCorpRecords/geodata؟
ينشره CloudCorpRecords. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.