geonames-mcp-server
io.github.cyanheads/geonames-mcp-server
MCP Bill of Materials
A machine-readable inventory of what this server exposes and depends on: tools with their effects, transports, packages, findings and provenance (schema version 1.0). Third-party text in it is escaped. Also available from the REST API at /api/v1/servers/fed92935-962d-465e-974c-dffc0c0046cc/mcbom.
MCP Bill of Materials
root{21}
schema_version: "1.0"
bom_format: "squatch-mcbom"
generator{3}
name: "squatch-mcp"
classifier_version: "rules_v1@2026-10-11.1"
unicode_version: "18.0.0"
server{7}
name: "io.github.cyanheads/geonames-mcp-server"
title: "geonames-mcp-server"
description: "Search GeoNames places, walk admin hierarchies, reverse geocode, get postal codes and country info."
version: "0.2.0"
homepage_url: null
source: "official_registry"
upstream_status: "active"
publisher{4}
namespace: "io.github.cyanheads"
display_name: "io.github.cyanheads"
type: "registry_namespace"
status: "unclaimed"
organization: null
repository{5}
url: "https://github.com/cyanheads/geonames-mcp-server"
provider: "github"
owner: "cyanheads"
name: "geonames-mcp-server"
verified: false
packages[2]
0{4}
registry_type: "npm"
identifier: "@cyanheads/geonames-mcp-server"
version: "0.2.0"
transport: "stdio"
1{4}
registry_type: "npm"
identifier: "@cyanheads/geonames-mcp-server"
version: "0.2.0"
transport: "streamable-http"
transports[3]
0{5}
kind: "package"
type: "stdio"
endpoint_url: null
endpoint_host: null
auth_type: "unknown"
1{5}
kind: "package"
type: "streamable-http"
endpoint_url: null
endpoint_host: null
auth_type: "unknown"
2{5}
kind: "remote"
type: "streamable-http"
endpoint_url: "https://geonames.caseyjhand.com/mcp"
endpoint_host: "geonames.caseyjhand.com"
auth_type: "none"
auth{3}
type: "none"
authorization_servers[0]
scopes[0]
protocol{4}
era: "modern"
negotiated_version: "2026-07-28"
supported_versions[0]
transport_type: "streamable-http"
tools[8]
0{9}
name: "geonames_find_postal_codes"
title: "Find GeoNames postal codes"
effect: "READ"
effect_confidence: 0.905
capabilities[2]
0{2}
capability: "LOCATION"
confidence: 0.99
1{2}
capability: "PERSONAL_DATA"
confidence: 0.667
risk_severity: "LOW"
fingerprint: "8d57269bc29dc95ff0e3661a678c1ea1e0b516cf193c42c33d867ef0ecc2d4b9"
input_schema_fingerprint: "6b9e76d06af93a7d32a26eb7979ae9d269675bf618d354c820871b65500be5aa"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
1{9}
name: "geonames_get_children"
title: "List GeoNames children"
effect: "READ"
effect_confidence: 0.888
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.92
risk_severity: "LOW"
fingerprint: "2a3cdb84747c101f6bdc962ee4533c143ab5e830e5f8fca137e5b490d4f623de"
input_schema_fingerprint: "007db9a8b4ab7bccb873cc474f5d7af5f2ffb776d589fdc6c8930edec31eb70c"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
2{9}
name: "geonames_get_countries"
title: "GeoNames country facts"
effect: "READ"
effect_confidence: 0.813
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.856
risk_severity: "LOW"
fingerprint: "0205344b5df626c3d7a37d518d091d1846f840fdad41eb135572c3d22def8a44"
input_schema_fingerprint: "52e8ffa04aa879ba4d01a4158f2797ff4b95e9c9583ab65355dad92a8473185d"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
3{9}
name: "geonames_get_hierarchy"
title: "Get a GeoNames hierarchy"
effect: "READ"
effect_confidence: 0.888
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.934
risk_severity: "LOW"
fingerprint: "6c8ff2fd2c47b93df7cf979d6b2a3e131ccfcdf4886c37f1f253fcc6c60df4f2"
input_schema_fingerprint: "8815a620ddc5afd8490d1fefc223f442ac2c49040aef85f7e3becf671f74d676"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
4{9}
name: "geonames_get_place"
title: "Get a GeoNames place"
effect: "WRITE"
effect_confidence: 0.639
capabilities[2]
0{2}
capability: "EXTERNAL_COMMUNICATION"
confidence: 0.567
1{2}
capability: "LOCATION"
confidence: 0.985
risk_severity: "MEDIUM"
fingerprint: "e8e2cadce839aa8acd3bb05037b30edce5304d1a244dba02256195000e0bac19"
input_schema_fingerprint: "4edb3dd71334c20ef6e29c613f10d00adce645d1a295c96b23fb1bb8baa18bf3"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
5{9}
name: "geonames_list_reference"
title: "GeoNames reference vocabulary"
effect: "READ"
effect_confidence: 0.78
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.76
risk_severity: "LOW"
fingerprint: "62d128f1ac9afa9b4d0cb225b8cef8d112fca468fe3fad4b599f536a8fe2c6af"
input_schema_fingerprint: "811a5ed537a8805fed780b04989329efdc994380cc23cbc5cc2c24cf16c17750"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
6{9}
name: "geonames_reverse_geocode"
title: "Reverse geocode with GeoNames"
effect: "READ"
effect_confidence: 0.841
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.99
risk_severity: "LOW"
fingerprint: "9df6cb093773743e1ede168d3ce1af4e1a1e88dacf9d580af0b5a805391a244c"
input_schema_fingerprint: "8d02344b091edc9e401314c0961416782a33fc7ff5abd85ff75e856e930c5f50"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
7{9}
name: "geonames_search_places"
title: "Search GeoNames places"
effect: "WRITE"
effect_confidence: 0.5
capabilities[1]
0{2}
capability: "LOCATION"
confidence: 0.99
risk_severity: "LOW"
fingerprint: "7454c45fb6a2cae6a81a0277942031c955bd71d25e051bf3e5cd907ed86fd5d9"
input_schema_fingerprint: "ce15561285cd5783b8e1e986e54a449e6ad9474e1f7701f8bc90306e50abadbe"
annotations{5}
title: null
readOnlyHint: true
destructiveHint: null
idempotentHint: true
openWorldHint: true
resources[2]
0{4}
key: "skill://geonames-guide/SKILL.md"
kind: "resource"
mime_type: "text/markdown"
fingerprint: "b3eddf8ecadd2593a69accb6c0ced60f30a0fa215d164eeb6680d58ae2fa9180"
1{4}
key: "skill://{+path}"
kind: "template"
mime_type: null
fingerprint: "9777dc7f1cf468158c157032a0ccebf9b50270f4e8753af9ccaf2fe99890ccf0"
prompts[0]
extensions[1]
0: "io.modelcontextprotocol/skills"
data{6}
privacy_completeness: "not_provided"
data_categories[0]
ai_training: null
retention_policy: null
processing_regions[0]
subprocessors[0]
external_integrations[1]
0{3}
host: "geonames.caseyjhand.com"
registrable_domain: "caseyjhand.com"
source: "transport"
findings[11]
0{6}
check_id: "SQ-SERVER-AUTH-NONE-WRITE"
category: "authentication"
severity: "MEDIUM"
title: "State-changing tools available without authentication"
subject_type: "server"
subject_name: null
1{6}
check_id: "SQ-TOOL-ANNOTATION-UNDERCLAIM"
category: "annotations"
severity: "LOW"
title: "Annotations understate what the tool does"
subject_type: "tool"
subject_name: "geonames_get_place"
2{6}
check_id: "SQ-TOOL-ANNOTATION-UNDERCLAIM"
category: "annotations"
severity: "LOW"
title: "Annotations understate what the tool does"
subject_type: "tool"
subject_name: "geonames_search_places"
3{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_find_postal_codes"
4{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_get_children"
5{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_get_countries"
6{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_get_hierarchy"
7{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_get_place"
8{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_list_reference"
9{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_reverse_geocode"
10{6}
check_id: "SQ-TOOL-CROSS-TOOL-REFERENCE"
category: "prompt_injection"
severity: "MEDIUM"
title: "Gives instructions about other tools"
subject_type: "tool"
subject_name: "geonames_search_places"
trust{9}
registry_namespace: "verified_upstream"
publisher_identity: "unverified"
organization: "unverified"
domain: "unverified"
repository: "unverified"
source_provenance: "partial"
security_scan: "no_critical_findings"
privacy_transparency: "not_provided"
monitoring: "active"
provenance{4}
registry_name: "io.github.cyanheads/geonames-mcp-server"
registry_content_sha256: "7efe1653fda3369eefa50788578b595ac853f52e6fc1e6261fd135b9f8b9a50f"
scan_snapshot_fingerprint: "3b56be788032b572cb8f4d21b492ea87546ae6800e25ca50f9535d72eb289833"
scanner_version: "1.0.0"
timestamps{4}
generated_at: "2026-11-15T02:14:08.835Z"
observed_at: "2026-11-08T16:29:19.669+00:00"
registry_published_at: "2026-10-29T17:13:17.883252+00:00"
registry_updated_at: null