Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Geographic data by API key: countries, states, cities, currency rates and IP geolocation.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"geodata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/geodata",
"mcp"
]
}
}
}Run this in your terminal
claude mcp add geodata -- npx -y @reneturcios/geodata mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"geodata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/geodata",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"geodata": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reneturcios/geodata",
"mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account CloudCorpRecords, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 3 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, yontu
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Türkçe yazı denetimi: TDK kuralları, yapay zekâ izleri, metin türüne göre üslup.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
Two environment variables control the client:
APOGEOAPI_KEY (required) — your API key, sent on every request as the X-API-Key header. When it is not set, every tool fails with APOGEOAPI_KEY is not set and no request is made.APOGEOAPI_BASE_URL (optional) — API base URL. Defaults to https://api.apogeoapi.com.get_country — full country data by ISO2/ISO3 code: name, capital, region, population, currency, live USD rate, timezones and phone code. An optional base (for example EUR) changes the currency base for rates.list_countries — the paginated catalogue of all 250+ countries. Optional page, limit and base are sent as query parameters when present.search_countries — countries matching a partial query name.get_states — all states/provinces for a country code.get_cities — all cities for a state, addressed by its numeric state_id.get_currency_rate — the live USD exchange rate for a country's currency (updated every 4 hours), with an optional base.geolocate_ip — country, region, city, coordinates, timezone and EU membership for an IPv4/IPv6 ip.global_search — one query searched 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 and an unreachable API with apogeoapi unreachable.
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= — reconstruction (used by search_countries)GET /v1/countries/{country}/states — reconstruction (used by get_states)GET /v1/states/{state_id}/cities — reconstruction (used by get_cities)GET /v1/search?q= — reconstruction (used by global_search)For list_countries, the collection endpoint and its query style are pinned, while the page / limit / base parameter names are a reconstruction.
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.
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": " " } } } }
docker run -i -e APOGEOAPI_KEY="<your key>" ghcr.io/cloudcorprecords/geodata
docker run --rm -e APOGEOAPI_KEY=" " ghcr.io/cloudcorprecords/geodata get_country '{"code":"US"}'
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
MIT — Copyright (c) 2026 Rene Turcios