SNCF MCP for AI Agents

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with SNCF MCP or direct API to find train journeys, look up stations, check schedules, monitor service status, and discover transport networks through natural language.

SNCF logoSNCF
Api Key

SNCF is France's national railway service for passenger train journeys, stations, schedules, and live travel information. It gives developers reliable rail data for route planning, station lookup, and service-status checks.

9 Tools

Try SNCF now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
SNCF
Try asking
TOOLS

Supported Tools

Every SNCF action and event your agent gets out of the box.

Find Nearby Places

Find SNCF stations, stops, or points of interest near a geographic coordinate.

Get Service Status

Get SNCF network service disruptions and affected lines, stations, or vehicle journeys for a time window.

Get Station Board

Get upcoming departures or arrivals for an SNCF station, including scheduled and realtime times and disruption context.

Get Transport Object

Get details for one SNCF network, line, route, station, stop, mode, company, or vehicle journey by canonical ID.

Get SNCF Coverage

Get the SNCF transport-data coverage region and its current production horizon.

List Transport Objects

Browse one supported SNCF transport-object collection, such as lines, networks, routes, stations, or vehicle journeys.

Plan Journey

Plan SNCF train journeys between two station/place IDs or coordinates for a requested departure or arrival time.

Search Places

Find SNCF stations, addresses, administrative areas, or points of interest by name and return IDs usable for journeys and station boards.

Search Transport Objects

Search SNCF networks, modes, lines, routes, stations, or stop points by name and return canonical transport-object IDs.

SETUP GUIDE

Connect SNCF MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/mcp @ai-sdk/openai
Install the Composio SDK and your agent framework
2

Create a session with MCP enabled

typescript
import { Composio } from "@composio/core";

const composio = new Composio();
const { mcp } = await composio.create("your-user-id", {
  toolkits: ["sncf"],
  mcp: true,
});
Create a session scoped to SNCF and read its MCP URL and headers
3

Connect your agent to the MCP server

typescript
import { createMCPClient } from "@ai-sdk/mcp";
import { openai } from "@ai-sdk/openai";
import { generateText, stepCountIs } from "ai";

const client = await createMCPClient({
  transport: { type: "http", url: mcp.url, headers: mcp.headers },
});

const { text } = await generateText({
  model: openai("gpt-5.6-sol"),
  tools: await client.tools(),
  prompt: "Find the next Paris to Lyon train journeys and include departure times and stations.",
  stopWhen: stepCountIs(10),
});

console.log(text);
await client.close();
Pass the session's MCP URL and headers to your agent and run a SNCF request
SETUP GUIDE

Connect SNCF API Tool with your Agent

1

Install Composio

typescript
npm install @composio/core @composio/openai openai
Install the Composio SDK, the OpenAI provider, and the OpenAI SDK
2

Create a Composio session

typescript
import OpenAI from "openai";
import { Composio } from "@composio/core";
import { OpenAIResponsesProvider } from "@composio/openai";

const composio = new Composio({ provider: new OpenAIResponsesProvider() });
const client = new OpenAI();

const session = await composio.create("your-user-id", { toolkits: ["sncf"] });
const tools = await session.tools();
Initialize Composio with the OpenAI Responses provider and create a session scoped to SNCF
3

Run SNCF tools with your agent

typescript
let response = await client.responses.create({
  model: "gpt-5.6-sol",
  tools,
  input: [{ role: "user", content: "Find the next Paris to Lyon train journeys and include departure times and stations." }],
});

while (response.output.some((o) => o.type === "function_call")) {
  const outputs = await composio.provider.handleToolCalls(session, response.output);
  response = await client.responses.create({
    model: "gpt-5.6-sol",
    tools,
    previous_response_id: response.id,
    input: outputs,
  });
}

console.log(response.output_text);
Send a request, execute the SNCF tool calls through the session, and print the final answer

Why Use Composio?

AI Native SNCF Integration

  • Supports both SNCF MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable train, station, and schedule queries
  • Rich coverage for reading, querying, and discovering SNCF passenger-information data

Managed Auth

  • Secure API key handling, so your SNCF credentials don't end up hard-coded in prompts or apps
  • Central place to manage, scope, and revoke SNCF access
  • Per user and per environment credentials for cleaner production setups

Agent Optimized Design

  • Tools are tuned for language models, so agents can ask for train times, station data, and disruptions without brittle glue code
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access SNCF
  • Scoped, least privilege access to SNCF journey, station, schedule, and network resources
  • Full audit trail of agent actions to support review and compliance
FAQ

Frequently asked questions

Yes, SNCF requires you to configure your own API key. Once set up, Composio handles secure credential storage and API request handling for you.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. Learn more.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

Start with SNCF.It takes 30 seconds.

Managed auth, hosted MCP servers, and every SNCF tool your agent needs.Free to start.

Start building