Hiking MCP Server
by Adriapt
README.md
# 🏔️ Hiking MCP Server
This is an MCP (Modular Command Processor) server that allows you to search for hiking routes on **Wikiloc**, using geographic and textual queries.
---
## 🖥️ System Requirements
- Python 3.10 or higher
- [`uv`](https://github.com/astral-sh/uv) installed
- Python MCP SDK 1.2.0 or higher (included with `mcp[cli]`)
- Claude for Desktop (Windows or macOS only)
---
## ⚙️ Set Up Your Environment
### 1. Install `uv`
On **Windows PowerShell**:
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
After installation, **restart your terminal** so the `uv` command is recognized.
---
### 2. Clone and configure the project
```bash
# Clone the GitHub repository
git clone https://github.com/Adriapt/hiking-mcp.git
cd hiking-mcp
# Set up and activate a virtual environment
uv venv
.venv\Scripts\activate # On macOS/Linux: source .venv/bin/activate
# Install required dependencies
uv add mcp[cli] httpx beautifulsoup4
```
---
## ▶️ Run the Server
To start the server, run:
```bash
uv run mcp-server.py
```
This will start the MCP server, ready to accept commands via `stdio`.
---
## 💻 Connect to Claude for Desktop
To use your MCP server with Claude for Desktop:
### 1. Ensure Claude for Desktop is installed
You can [download Claude for Desktop here](https://www.anthropic.com/index/claude-desktop).
### 2. Open or create the configuration file
- On **macOS**:
```bash
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
- On **Windows** (PowerShell):
```powershell
code "$env:APPDATA/Claude/claude_desktop_config.json"
```
### 3. Add your MCP server configuration
```json
{
"mcpServers": {
"hiking": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/hiking-mcp",
"run",
"mcp-server.py"
]
}
}
}
```
> Replace `/ABSOLUTE/PATH/TO/hiking-mcp` with the actual full path to your project directory.
>
> Use `where uv` on Windows or `which uv` on macOS/Linux to find the `uv` path if needed.
TDQS
A4.2/5.0
Scored across 1 tool
Disambiguation5/5
Only one tool exists, so there is no possibility of confusion between tools. The tool's purpose is clear and distinct.
Naming Consistency5/5
With a single tool, naming is internally consistent and follows a clear verb_noun pattern ('get_routes').
Tool Count2/5
The server contains only one tool, which feels too few for the apparent scope of a hiking server. Even if search is the core feature, users likely need additional operations like route details or filtering.
Completeness2/5
The server only offers route search, missing common operations for a hiking domain such as route detail retrieval, user favorites, or trip planning. This leaves significant gaps that will likely require workarounds.
Maintenance
ActivityInactive
ResponsivenessNo issues