1. Conduid
  2. Data
  3. Shom Wrecks
MCP server · Data

Shom Wrecks

MCP server for querying SHOM (Service Hydrographique de la Marine) wreck database via WFS API

Unclaimed last commit 6 months ago data
51Fair

Scored 3 months ago · breakdown

About Shom Wrecks

Shom Wrecks is an MCP server published by dorian-erkens in the Data category: mCP server for querying SHOM (Service Hydrographique de la Marine) wreck database via WFS API. It has been installed 0 times through Conduid.

The repository has 1 stars and 1 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-shom-wrecks

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Shom Wrecks

Powered by Claude · Grounded in docs

I know everything about Shom Wrecks. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

MCP SHOM Wrecks — Base d'épaves SHOM pour Claude Code

English below

MCP SHOM Wrecks TypeScript

Serveur MCP qui expose la base d'épaves du SHOM (Service Hydrographique et Océanographique de la Marine) — 4 796+ épaves sur l'ensemble des eaux françaises — à des assistants IA comme Claude Code.

Conçu pour la planification de plongée, la recherche nautique et l'exploration historique.


Ce que ça fait

Interrogez la base officielle d'épaves de la Marine française en langage naturel :

"Cherche l'épave du Courbet"
"Quelles épaves sont à moins de 5 milles de Ouistreham ?"
"Liste les épaves entre 49.1°N et 49.5°N, de -1°W à 0°E"

Le serveur traduit ces requêtes en appels WFS vers l'API SHOM et renvoie les résultats formatés.

Les 4 outils

Outil Description Paramètres clés
search_wreck_by_name Chercher une épave par nom (partiel, insensible à la casse) name
get_nearby_wrecks Épaves autour d'un point GPS, triées par distance latitude, longitude, radius_nm
search_wrecks_bbox Épaves dans une zone rectangulaire min_lat, max_lat, min_lon, max_lon
get_wreck_details Fiche complète d'une épave par ID SHOM id

Détail des outils

search_wreck_by_name

Recherche par nom avec correspondance partielle insensible à la casse.

Paramètre Type Requis Description
name string oui Nom à chercher (ex. "Courbet", "LST", "Susan")

get_nearby_wrecks

Trouve les épaves proches d'une position GPS. Idéal pour la planification de plongée.

Paramètre Type Requis Description
latitude number oui Latitude de référence (ex. 49.28 pour Ouistreham)
longitude number oui Longitude de référence (ex. -0.2467)
radius_nm number oui Rayon de recherche en milles nautiques
max_results number non Limiter le nombre de résultats

search_wrecks_bbox

Recherche dans une zone rectangulaire (bounding box).

Paramètre Type Requis Description
min_lat number oui Limite sud (ex. 49.1)
max_lat number oui Limite nord (ex. 49.6)
min_lon number oui Limite ouest (négatif = ouest, ex. -1.1)
max_lon number oui Limite est (ex. 0.1)
max_results number non Limiter le nombre de résultats

get_wreck_details

Fiche complète d'une épave par son identifiant SHOM.

Paramètre Type Requis Description
id string oui ID SHOM (ex. "wrecks.42" ou "42")

Champs de données

Chaque épave de la base SHOM peut contenir :

Champ Description
nom Nom de l'épave (null si inconnu)
latitude / longitude Position GPS en degrés décimaux (WGS84)
brassiage Profondeur d'eau au-dessus de l'épave au zéro hydrographique, en mètres. Ce n'est pas la profondeur du fond — c'est la hauteur d'eau au-dessus du point le plus haut de l'épave
precis_bra Précision du brassiage
caract_bat Caractéristiques du navire (type, tonnage, etc.)
caract_obj État de l'objet sur le fond (intact, disloqué, etc.)
circ_nauf Circonstances du naufrage (torpillé, tempête, collision, etc.)
long_obj Longueur de l'objet en mètres
precis_loc Précision de la localisation en mètres
type_obj Type d'objet
inspireid Identifiant européen INSPIRE

Source de données

Toutes les données proviennent de l'API WFS ouverte du SHOM :

Endpoint https://services.data.shom.fr/INSPIRE/wfs
Couche EPAVES_BDD_WFS:wrecks
Protocole WFS 1.1.0 (standard OGC), sans authentification
Système de coordonnées EPSG:4326 (WGS84)
Couverture Eaux métropolitaines et outre-mer françaises

Plus d'infos : data.shom.fr

Prérequis

Installation

# Cloner le repo
git clone https://github.com/dorian-erkens/mcp-shom-wrecks.git
cd mcp-shom-wrecks

# Installer et compiler
npm install
npm run build

Important : le dossier dist/ n'est pas commité — il faut lancer npm run build avant de pouvoir démarrer le serveur.

Configuration dans Claude Code

Ajouter dans ~/.claude/settings.json :

{
  "mcpServers": {
    "shom-wrecks": {
      "command": "node",
      "args": ["/chemin/vers/mcp-shom-wrecks/dist/index.js"]
    }
  }
}

Puis relancer Claude Code. Les 4 outils seront disponibles automatiquement.

Lancement autonome

npm start

Le serveur communique via stdin/stdout en JSON-RPC (protocole MCP). Ce n'est pas un serveur HTTP — Claude Code (ou tout client MCP) le lance comme processus enfant.

Commandes

Commande Description
npm install Installer les dépendances (@modelcontextprotocol/sdk, zod, TypeScript)
npm run build Compiler TypeScript (src/dist/)
npm start Démarrer le serveur MCP (node dist/index.js)

Exemples de requêtes

Une fois configuré, posez vos questions en langage naturel :

"Cherche l'épave du Courbet"
  → search_wreck_by_name(name: "Courbet")

"Quelles épaves sont à moins de 5 milles de Ouistreham ?"
  → get_nearby_wrecks(lat: 49.28, lon: -0.2467, radius_nm: 5)

"Liste les épaves entre 49.1°N et 49.5°N, de -1°W à 0°E"
  → search_wrecks_bbox(min_lat: 49.1, max_lat: 49.5, min_lon: -1.0, max_lon: 0)

"Donne-moi les détails de l'épave wrecks.1234"
  → get_wreck_details(id: "wrecks.1234")

"What wrecks are near the D-Day beaches?"
  → get_nearby_wrecks with appropriate coordinates

Fonctionne en français ou en anglais — les paramètres des outils sont les mêmes.

Stack technique

  • TypeScript — mode strict
  • @modelcontextprotocol/sdk — framework serveur MCP
  • zod — validation des entrées
  • SHOM WFS API — source de données (requêtes live, pas de base locale)

Comment ça marche

  1. Le serveur MCP démarre sur stdio et enregistre 4 outils
  2. À chaque appel, il construit une requête WFS GetFeature avec les filtres appropriés (BBOX, CQL_FILTER ou FEATUREID)
  3. L'API SHOM renvoie des features GeoJSON
  4. Les résultats sont parsés, enrichis (calculs distance/relèvement pour les recherches de proximité) et formatés en markdown

Les recherches par nom utilisent des filtres CQL ILIKE côté serveur, avec un fallback côté client si le filtre n'est pas supporté. Les calculs de distance utilisent la navigation plane (suffisant pour les portées typiques de planification de plongée).

Utilisé par

  • Dive Director — Assistant DP pour Claude Code (8 agents, /plan-dive)
  • Dive Director App — Web app (FastAPI + React) avec carte des épaves, chat IA et inspector panel

Licence

MIT

Auteur

Dorian Erkens


English

mcp-shom-wrecks is an MCP (Model Context Protocol) server that exposes the SHOM (French Naval Hydrographic Service) wreck database — 4,796+ shipwrecks across all French waters — to AI assistants like Claude Code.

Designed for dive planning, nautical research, and historical exploration.

4 tools available

Tool Description
search_wreck_by_name Search wrecks by name (partial, case-insensitive)
get_nearby_wrecks Find wrecks near a GPS position, sorted by distance
search_wrecks_bbox Search wrecks in a geographic bounding box
get_wreck_details Get the full record of a wreck by SHOM ID

Quick start

git clone https://github.com/dorian-erkens/mcp-shom-wrecks.git
cd mcp-shom-wrecks
npm install && npm run build

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "shom-wrecks": {
      "command": "node",
      "args": ["/path/to/mcp-shom-wrecks/dist/index.js"]
    }
  }
}

Then restart Claude Code. The 4 tools are available automatically — just ask in natural language:

  • "Search for the Courbet wreck"search_wreck_by_name
  • "What wrecks are within 5 miles of Ouistreham?"get_nearby_wrecks
  • "What wrecks are near the D-Day beaches?"get_nearby_wrecks
  • "List wrecks between 49.1°N–49.5°N, -1°W–0°E"search_wrecks_bbox
  • "Give me details on wreck wrecks.1234"get_wreck_details

Works in French or English — the data source (SHOM) covers all French metropolitan and overseas waters.

Data source

All data comes from the SHOM open data WFS API (WFS 1.1.0, no authentication required, EPSG:4326). Live queries — no local database needed.

Used by

  • Dive Director — AI-powered Dive Director assistant for Claude Code (8 agents, /plan-dive)
  • Dive Director App — Web app (FastAPI + React) with wreck map, AI chat, and inspector panel

README mirrored from the source repository 3 months ago. The original is authoritative.

Questions

About Shom Wrecks

How do I install Shom Wrecks?

Run npx mcp-shom-wrecks, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Shom Wrecks safe to use with an AI agent?

Its trust score is 51 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Shom Wrecks still maintained?

The last commit was 6 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.