# Serveur MCP de Géocodage BAN
Ce serveur MCP permet de géocoder des adresses françaises via l'API de la Base Adresse Nationale (BAN).
## Installation rapide
```bash
# Installer pyenv et UV
brew install pyenv uv # macOS
# ou curl https://pyenv.run | bash && curl -LsSf https://astral.sh/uv/install.sh | sh
# Créer le projet
mkdir geocode-ban-mcp && cd geocode-ban-mcp
pyenv install 3.12.7 && pyenv local 3.12.7
uv init
# Installer les dépendances
uv add mcp requests
```
## Installation avec docker
```bash
# Construire l'image
docker build -t geocode-ban-mcp .
# Lancer le conteneur
docker run -i geocode-ban-mcp
# Ou avec Docker pour Claude Desktop
# Dans claude_desktop_config.json :
```
## Structure du projet
```
geocode-ban-mcp/
├── geocode_ban_mcp/
│ ├── __init__.py
│ └── server.py # Code du serveur MCP
├── test_geocode.py # Tests
├── pyproject.toml # Configuration
└── README.md
```
## Configuration Claude Desktop
Éditez `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) :
### Configuration avec avec uv
```json
{
"mcpServers": {
"geocode-ban": {
"command": "uvx",
"args": [
"--directory",
"/chemin/absolu/vers/geocode-ban-mcp",
"geocode-ban-mcp"
]
}
}
}
```
### Configuration avec Docker
```json
{
"mcpServers": {
"geocode-ban": {
"command": "docker",
"args": ["run", "-i", "geocode-ban-mcp"]
}
}
}
```
Redémarrez Claude Desktop. (nécessaire!!)
## Tester
```bash
# Lancer les tests
uv run python test_geocode.py
```
## Lancer le serveur en local
```bash
# Lancer les tests
uv run python -m geocode_ban_mcp.server
```
## Utilisation dans Claude
### Prompt
```
Géocode l'adresse 26 avenue André Morizet, Boulogne-Billancourt
```
### Résultats
Je vais géocoder cette adresse pour vous.Voici les résultats du géocodage pour **26 avenue André Morizet, Boulogne-Billancourt** :
**📍 Adresse standardisée :** 26 Avenue André Morizet 92100 Boulogne-Billancourt
**📌 Coordonnées GPS :**
- **Latitude :** 48.8357
- **Longitude :** 2.240435
**🗺️ Liens de visualisation :**
- [Google Maps](https://www.google.com/maps?q=48.8357,2.240435)
- [OpenStreetMap](https://www.openstreetmap.org/?mlat=48.8357&mlon=2.240435&zoom=17)
## 🔗 Ressources
- [API BAN](https://adresse.data.gouv.fr/api-doc/adresse)
- [Documentation MCP](https://modelcontextprotocol.io)
- [Documentation UV](https://docs.astral.sh/uv/)