heremaps-mcp-server
LLM MCP server using HereMaps API
Documentation
HERE Maps MCP Server
This project provides a Model Context Protocol (MCP) compliant server that exposes functionalities from the HERE Maps Platform APIs as tools for Language Models.
Goal
The aim is to allow LLMs to interact with HERE Maps services like Geocoding, Reverse Geocoding, Places Search, Routing, Traffic and Rendering through the standardized MCP interface.
HERE Maps Tools
The following HERE Maps services are implemented as MCP tools:
1. Geocoding:
2. Reverse Geocoding:
3. Places Search (Points of Interest):
4. Routing (Directions):
5. Traffic Information:
6. Display Map:
Getting Started
Since the npm package is not yet published, currently one can only clone the repository and run the MCP server locally.
1. Clone the repository
git clone https://github.com/limingchina/here-maps-mcp-server.git2. Install Node.js and npm
Follow the instructions on Node.js website to install the latest version of Node.js and npm.
3. Install dependencies
cd here-maps-mcp-server/src/node
npm install4. Obtain your HERE Maps API Key by checking Authentication Guide (API Key)
5. Run the MCP server
HERE_MAPS_API_KEY= npx .This will automatically invoke the "npm run build" command, which builds the MCP server project, and then start the server. It should print the following message:
HERE Maps MCP Server running on stdioThis means the MCP server is running and ready to accept MCP requests. One can use "Ctrl-C" to stop the server. Normally, we configure the MCP server in a client application, such as Claude. The client will start the server automatically after proper configuration.
MCP configuration
1. Add the MCP server configuration to the MCP client, for example, Claude.
"Settings"->"Developer"->"Edit Config"
{
"mcpServers": {
"here-maps": {
"command": "npx",
"args": [
"-y",
"//src/node"
],
"env": {
"HERE_MAPS_API_KEY": ""
}
}
}
}2. Some MCP clients such as Claude require restart the app so that the new settings take effect.
Example usage:
1. Find some French restaurants in Central Berlin.
This should trigger the geocode tool call to find out the geo coordinates of central Berlin. Then the place search tool call will be triggered. This is the sample output. The search result output is abbreviated.
I'd be happy to help you find some French restaurants in central Berlin. Let me search for places that should suit your needs.
maps_geocode
Request{
`address`: `Central Berlin, Germany`
}
Response{
"location": {
"lat": 52.52427,
"lng": 13.4026
},
"address": "Central, Rosenthaler Straße 39, 10178 Berlin, Deutschland",
"id": "here:pds:place:276u33db-602fbe3989e243d38221c312af23a0e1"
}
Now I'll search for French restaurants in this area
maps_search_places
Request{
`query`: `French restaurant`,
`latitude`: 52.52427,
`longitude`: 13.4026
}
Response[
{
"name": "Oxymoron",
"address": "Oxymoron, Rosenthaler Straße 40, 10178 Berlin, Deutschland",
"position": {
"lat": 52.52401,
"lng": 13.40249
},
"category": "Restaurant"
},
{
"name": "Barist",
"address": "Barist, Am Zwirngraben 13, 10178 Berlin, Deutschland",
"position": {
"lat": 52.5229,
"lng": 13.4024
},
"category": "Bar oder Pub"
}
......
]
Here are some excellent French restaurants in central Berlin:
L'Ami Fritz - Located on Max-Beer-Straße 29, this authentic French restaurant is right in the heart of central Berlin.
Sucre Et Sel - Found on Torstraße 132, offering French cuisine with a name that means "Sugar and Salt" in French.
Ratatouille Berlin - Located on Ackerstraße 2, named after the famous French dish and likely offering traditional French fare.
Bandol sur Mer - A more upscale French restaurant on Torstraße 167, named after a coastal town in southern France known for its wines.
Cafe Fleury - On Weinbergsweg 20, a French-style café that likely offers classic French breakfast and lunch options.
Brasserie Torbar - Found on Torstraße 183, a brasserie-style restaurant offering French cuisine.
Les Pâtisseries de Sébastien - While primarily a patisserie on Invalidenstraße 157, this is perfect if you're looking for authentic French pastries and desserts.
All these establishments are located within central Berlin and are within relatively close proximity to one another. Would you like more specific information about any of these restaurants?RetryClaude can make mistakes. Please double-check responses.You are out of free messages until 2:00 AMUpgrade plan5 3.7 SonnetChat controls 3.7 SonnetOur most intelligent model yet Learn more2. Can you calculate a route from Reinickendorf to Mitte?
This should trigger two geocode tool calls to find out the geo coordinates of Reinickendorf and Mitte( Two districts in Berlin). Then the routing(directions) tool call will be triggered. You can explore the output in Claude.
3. How is the traffic in center Paris?
This should trigger two geocode tool calls to find out the geo coordinates of central Paris. Then the traffic incident tool call will be triggered. You can explore the output in Claude.
4. Can you display a map for central Paris?
This should trigger geocode tool call to find out the geo coordinates of central Paris. Then the display tool call will be triggered.
In Claude, the map will be displayed in the chat window as an image inside the tool call result. Please note that it also returns a URL to the image. You can copy the URL and paste it in a browser to view the image as well. The URL contains the API key, so it's not recommended to share such chat history.

Development
For easier debugging, it is recommended to use the MCP inspector tool. It starts a local webserver. One can easily check if each tool call returns the expected result given the input parameters. For this project, one can run the following command to start the MCP inspector tool:
cd src/node
npm run build && npx @modelcontextprotocol/inspector -e HERE_MAPS_API_KEY= node dist/index.jsOther mapping-service MCP servers
Contributing
Feel free to fork this repository and adapt it to your needs. Contributions are welcome if you wish to refine the tool definitions or implementation details.
Frequently asked questions
What is heremaps-mcp-server?
heremaps-mcp-server is LLM MCP server using HereMaps API
How do I install heremaps-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is heremaps-mcp-server open source?
Yes — it is hosted on GitHub at https://github.com/limingchina/heremaps-mcp-server and has 7 stars.
Related MCP tools
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. Built for the Model Context Protocol to enhance AI capabiliti
Fay是一个帮助数字人(2.5d、3d、移动、pc、网页)或大语言模型(openai兼容、deepseek)连通业务系统的mcp框架。 JavaScript-based implementation. Trusted by 12000+ developers.
CTTF: MCP integration between Cursor and Figma, allowing Cursor Agentic AI to communicate with Figma for reading designs and modifying them programmatically.
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients. JavaScript-based implementation.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing capabilities JavaScript-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP