Skip to main content
Glama
README.md
# hills-mcp-server

[![npm version](https://img.shields.io/npm/v/%40michaelhutchinson%2Fhills-mcp-server)](https://www.npmjs.com/package/@michaelhutchinson/hills-mcp-server)
[![npm downloads](https://img.shields.io/npm/dm/%40michaelhutchinson%2Fhills-mcp-server)](https://www.npmjs.com/package/@michaelhutchinson/hills-mcp-server)
[![license](https://img.shields.io/npm/l/%40michaelhutchinson%2Fhills-mcp-server)](./LICENSE)

An MCP server for exploring British and Irish hills: Munros, Wainwrights, Corbetts, Marilyns and more. No API key needed, works offline.

## Tools

| Tool                 | Description                                                                     |
| -------------------- | ------------------------------------------------------------------------------- |
| `find_nearby_hills`  | Find hills near a lat/lon, sorted by distance, with optional classification filter |
| `search_hills`       | Search hills by name                                                            |
| `get_hill_details`   | Full detail for one hill: height, drop, grid reference, classifications, links   |
| `get_list`           | All hills in a classification (Munros, Wainwrights, etc), with optional height filter |
| `get_hill_stats`     | Database overview: hills per classification and country                         |

## Setup

No API keys needed. Just add to Claude Code:

```bash
claude mcp add hills -- npx -y @michaelhutchinson/hills-mcp-server
```

Or add to Claude Desktop's `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "hills": {
      "command": "npx",
      "args": ["-y", "@michaelhutchinson/hills-mcp-server"]
    }
  }
}
```

Restart Claude Code or Claude Desktop and you're ready.

## Example questions

- "Which Munros are within 20km of Fort William?"
- "Tell me about Helvellyn"
- "List the Wainwrights"
- "What's the highest hill in Wales?"
- "Find hills near me over 600m" (Claude will ask for your location)
- "Search for hills called Ben More"
- "How many Corbetts are there?"
- "Which country has the most Marilyns?"

## Data

Hill data comes from a bundled snapshot of the Database of British and Irish Hills (DoBIH) v18.5, which covers 21,576 hills across Britain and Ireland.

The data ships inside the package, so lookups run locally: answers are instant and there are no network calls at runtime. DoBIH is updated a few times a year, and the package is re-released to track it.

To rebuild the snapshot from a new DoBIH release:

```bash
curl -sL -o /tmp/hillcsv.zip https://www.hill-bagging.co.uk/dobih-downloads/hillcsv.zip
unzip -o /tmp/hillcsv.zip -d /tmp
npm run build-data -- /tmp/DoBIH_v18_5.csv
```

## License

MIT. The licence covers the code in this repository only.

This is an unofficial, community-built tool. It is not affiliated with or endorsed by the Database of British and Irish Hills team. Hill data © the DoBIH contributors, licensed [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/), from the [Database of British and Irish Hills](https://www.hill-bagging.co.uk/dobih).

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: location-based search, name-based search, detail lookup, database stats, and classification listing. There is no overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (find_nearby_hills, search_hills, get_hill_details, get_hill_stats, get_list). While the verbs vary (find, search, get), the pattern is uniform and predictable.

Tool Count5/5

With 5 tools, the server is tightly scoped to its purpose of querying a hills database. Each tool covers a distinct aspect of discovery and retrieval without superfluous additions.

Completeness5/5

The tool set covers the full lifecycle for a read-only reference database: discovery (find, search, list), detail viewing, and statistical overview. No obvious gaps exist for typical usage scenarios.

Maintenance

ActivitySlowing
ResponsivenessNo issues