SNCF API MCP Server

This project provides a modular Python wrapper for the SNCF API, with an MCP server interface that integrates seamlessly with Claude Desktop for

Local serverstdioPython

What is the SNCF API MCP server?

This project provides a modular Python wrapper for the SNCF API, with an MCP server interface that integrates seamlessly with Claude Desktop for intelligent journey planning and train information retrieval across France. That is what the sncf api mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.

The short version

The SNCF MCP Server provides a comprehensive interface to the French National Railway's (SNCF) API services, allowing you to:

  • Intelligent Journey Planning — Plan trips between any cities in France with automatic station selection
  • Comprehensive Station Details — Get detailed information about stations including:
  • Available transport types (trains, buses, trams)
  • Nearby places and points of interest
  • Coordinates and accessibility information
  • Real-time Schedules — Access up-to-date departure and arrival information

The tools it exposes

The server publishes 5 tools. What each one is for:

  • Prerequisites — The Prerequisites tool exposed by this server
  • plan_journey_by_city_names — The plan_journey_by_city_names tool exposed by this server
  • get_station_details — The get_station_details tool exposed by this server
  • get_station_schedule — The get_station_schedule tool exposed by this server
  • check_disruptions — Check for current disruptions in the SNCF transport network

What it needs from you

  • Python 3.6+ - pip (Python package manager)

Getting it running

requests on PyPI is all you need. Most clients run it directly, so configuration is a few lines and a restart.

How it compares

This sits in the monitoring and observability group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. SNCF API's toolset — Prerequisites, plan_journey_by_city_names, get_station_details and 2 more — is a fair guide to whether it matches your workflow. It is maintained by Kryzo; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
PrerequisitesThe Prerequisites tool exposed by this server.
plan_journey_by_city_namesThe plan_journey_by_city_names tool exposed by this server.
get_station_detailsThe get_station_details tool exposed by this server.
get_station_scheduleThe get_station_schedule tool exposed by this server.
check_disruptionsCheck for current disruptions in the SNCF transport network.

How to install the SNCF API MCP server

{
  "mcpServers": {
    "sncf": {
      "command": "uvx",
      "args": ["requests"]
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  • Python 3.6+ - pip (Python package manager)

Example prompts to try

  • Use SNCF API to Prerequisites.
  • Use SNCF API to plan journey by city names.
  • Use SNCF API to get station details.

Frequently asked questions

You need an SNCF API key obtained from the Navitta service on the SNCF API Portal. The key is a UUID string.