Geonames MCP Server
by cyanheadsio.github.cyanheads/geonames-mcp-serverv0.1.2
Search GeoNames places, walk admin hierarchies, reverse geocode, get postal codes and country info.
context tax
queued
security
queued
cold start
queued
freshness
Active8d ago
Install Geonames MCP server
Install in Claude Code
claude mcp add geonames -e GEONAMES_USERNAME='<geonames-username>' -- npx -y @cyanheads/geonames-mcp-server run start:stdioInstall in Cursor
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server",
"run",
"start:stdio"
],
"env": {
"GEONAMES_USERNAME": "<geonames-username>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server",
"run",
"start:stdio"
],
"env": {
"GEONAMES_USERNAME": "<geonames-username>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"geonames": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server",
"run",
"start:stdio"
],
"env": {
"GEONAMES_USERNAME": "<geonames-username>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"geonames": {
"command": "npx",
"args": [
"-y",
"@cyanheads/geonames-mcp-server",
"run",
"start:stdio"
],
"env": {
"GEONAMES_USERNAME": "<geonames-username>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| GEONAMES_USERNAME | — | yes | GeoNames account used when a call passes no geonamesUsername. Free accounts must enable free web services on their geonames.org account page. |
| MCP_LOG_LEVEL | — | — | Sets the minimum log level for output (e.g., 'debug', 'info', 'warn'). |
| MCP_HTTP_HOST | — | — | The hostname for the HTTP server. |
| MCP_HTTP_PORT | — | — | The port to run the HTTP server on. |
| MCP_HTTP_ENDPOINT_PATH | — | — | The endpoint path for the MCP server. |
| MCP_AUTH_MODE | — | — | Authentication mode to use: 'none', 'jwt', or 'oauth'. |
Remote endpoints
- streamable-http
https://geonames.caseyjhand.com/mcp
Freshness
Active — last maintenance signal 8d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-02 · 8d ago · GitHub
Latest release
2026-10-02 · 8d ago · GitHub · v0.1.2
Package published
no data · npm/PyPI
Registry entry updated
2026-10-02 · 8d ago · official registry · v0.1.2
FAQ
›How do I install the Geonames MCP server in Claude Code?
Run: claude mcp add geonames -e GEONAMES_USERNAME='<geonames-username>' -- npx -y @cyanheads/geonames-mcp-server run start:stdio. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Geonames require an API key?
Yes. It expects GEONAMES_USERNAME, of which 1 is a secret.
›Can I use Geonames as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is Geonames in the official MCP registry?
Yes, as io.github.cyanheads/geonames-mcp-server.