Content
# XiaozhiMCP-MapNAVI | MCP Map Navigation Tool
A powerful MCP tool that integrates with Amap API services, allowing AI to access geographic information, weather data, and route planning.
A powerful MCP tool that integrates with Amap API services, allowing AI to access geographic information, weather data, and route planning.


## Overview | Overview
MCP-MapNAVI is based on the Model Context Protocol (MCP), which allows AI language models to interact with external map services. Through this tool, AI can geocode addresses, check weather information, and plan driving routes - extending its capabilities beyond text generation.
MCP-MapNAVI is based on the Model Context Protocol (MCP), which allows AI language models to interact with external map services. Through this tool, AI can geocode addresses, check weather information, and plan driving routes - extending its capabilities beyond text generation.
## Features | Features
- 🗺️ **Geocoding** - Convert addresses into latitude and longitude coordinates
- 🌤️ **Weather Query** - Obtain weather information for specific cities or regions
- 🚗 **Driving Route Planning** - Plan driving routes between two points
- 🔄 **Automatic Reconnection** - WebSocket connection recovery mechanism with exponential backoff
- 🔒 **Secure Communication** - Secure data transmission via WebSocket
## Quick Start | Quick Start
1. Install dependencies:
```bash
pip install -r requirements.txt
```
2. Set up environment variables:
```bash
export MCP_ENDPOINT=<your_mcp_endpoint>
```
3. Run the map_navi example:
```bash
python mcp_pipe.py map.py
```
## Project Structure | Project Structure
- `mcp_pipe.py`: Main communication pipe that handles WebSocket connections and process management
- `calculator.py`: Example MCP tool implementation for mathematical calculations
- `requirements.txt`: Project dependencies
## Creating Your Own MCP Tools | Creating Your Own MCP Tools
Here's a simple example of creating an MCP tool:
```python
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("YourToolName")
@mcp.tool()
def your_tool(parameter: str) -> dict:
"""Tool description here"""
# Your implementation
return {"success": True, "result": result}
if __name__ == "__main__":
mcp.run(transport="stdio")
```
## Use Cases | Use Cases
- Mathematical calculations
- Email operations
- Knowledge base search
- Remote device control
- Data processing
- Custom tool integration
## Requirements | Requirements
- Python 3.7+
- websockets>=11.0.3
- python-dotenv>=1.0.0
- mcp>=1.8.1
- pydantic>=2.11.4
## Contributing | Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Contributions are welcome! Please feel free to submit a Pull Request.
## License | License
This project is licensed under the MIT License - see the LICENSE file for details.
This project is licensed under the MIT License - see the LICENSE file for details.
## Acknowledgments | Acknowledgments
- Thanks to all contributors who have helped shape this project
- Inspired by the need for extensible AI capabilities
You Might Also Like
OpenWebUI
Open WebUI is an extensible web interface for customizable applications.

NextChat
NextChat is a light and fast AI assistant supporting Claude, DeepSeek, GPT4...

cherry-studio
Cherry Studio is a multilingual project for creative collaboration.
asyncmcp
asyncmcp provides async transport layers for MCP servers using queues.
agent
Stakpak Agent: A secure DevOps tool with mTLS, dynamic secret management,...
skynet-agent
AI platform with dual-layer memory for conscious memory control and MCP access.