remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
SNCF API MCP 서버
이 프로젝트는 프랑스 전역에서 지능형 여행 계획 및 열차 정보 검색을 위해 Claude Desktop과 완벽하게 통합되는 MCP 서버 인터페이스를 갖춘 SNCF API용 모듈식 Python 래퍼를 제공합니다.
목차
개요
SNCF MCP 서버는 프랑스 국영 철도(SNCF)의 API 서비스에 대한 포괄적인 인터페이스를 제공하여 다음을 수행할 수 있습니다.
- 프랑스 도시 간 기차 여행 계획
- 기차역에 대한 자세한 정보를 얻으세요
- 출발 및 도착 일정을 확인하세요
- 서비스 중단 모니터링
- 근처 장소와 교통 수단을 찾아보세요
구조는 다음과 같이 구성됩니다.
sncf_api/
- SNCF API 상호 작용을 위한 주요 패키지__init__.py
- 패키지 초기화config.py
- 구성 설정client.py
- 기본 API 클라이언트api.py
- 모든 모듈을 결합한 주요 API 인터페이스search.py
- 검색 관련 엔드포인트journey.py
- 여행 계획 종료점stations.py
- 역 관련 종점networks.py
- 네트워크 및 전송 모드 엔드포인트disruptions.py
- 중단 관련 엔드포인트station_finder.py
- 좌표로 효율적인 역 검색csv_station_finder.py
- CSV 데이터베이스를 사용한 역 조회vehicle_journey.py
- 자세한 기차 여행 정보
sncf_server.py
- 모든 도구 엔드포인트를 갖춘 MCP 서버 구현train_stations_europe.csv
- 좌표가 포함된 유럽 기차역 데이터베이스
특징
- 지능형 여행 계획 : 자동 역 선택을 통해 프랑스 내 모든 도시 간 여행을 계획하세요
- 종합적인 역 정보 : 다음을 포함한 역에 대한 자세한 정보를 확인하세요.
- 이용 가능한 교통 수단(기차, 버스, 트램)
- 주변 장소 및 관심 지점
- 좌표 및 접근성 정보
- 실시간 일정 : 최신 출발 및 도착 정보에 액세스하세요
- 서비스 중단 모니터링 : 서비스 중단에 대한 정보를 받아보세요
- 스마트 역 찾기 : 도시 이름, 역 이름 또는 좌표로 역 찾기
- 대체 메커니즘 : 주요 도시의 하드코딩된 좌표는 API 검색이 실패하더라도 안정성을 보장합니다.
- 상세 로깅 : 디버깅 및 모니터링을 위한 포괄적인 로깅
설치
필수 조건
- 파이썬 3.6 이상
- pip(Python 패키지 관리자)
1단계: 저장소 복제
지엑스피1
2단계: 종속성 설치
requirements.txt 파일이 없으면 다음 패키지를 설치하세요: requests mcp
API 키 받기
이 서버를 사용하려면 SNCF에서 API 키를 받아야 합니다.
- SNCF API 포털을 방문하세요
- 계정을 생성하거나 로그인하세요
- "Navitia" API 서비스 구독
- 등록 과정을 완료하세요
- 승인되면 계정 대시보드에서 API 키를 받게 됩니다.
API 키는 UUID 문자열(예: 01293485-3NS3-3242-23AZ-3241324512
)처럼 보입니다.
구성
Claude Desktop 설정
SNCF MCP 도구를 Claude Desktop과 통합하려면:
- 아직 Claude Desktop을 설치하지 않았다면 설치하세요 .
- Claude Desktop 구성 열기 :
- Claude Desktop 설정으로 이동합니다.
- 구성 파일을 엽니다(일반적으로
%APPDATA%\Claude\claude_desktop_config.json
에 있음)
path/to/sncf-mcp-new
설치 디렉토리의 실제 경로로 바꾸세요.
- 구성 파일을 저장 하고 Claude Desktop을 다시 시작하세요.
사용 가능한 MCP 도구
구성이 완료되면 Claude Desktop에서 다음 도구를 사용할 수 있습니다.
여행 계획
plan_journey_by_city_names
프랑스의 두 도시 간 여행을 계획해보세요.
매개변수:
from_city
: 출발 도시 이름(예: "파리")to_city
: 목적지 도시 이름(예: "마르세유")datetime
: 선택적인 출발 또는 도착 시간(형식: YYYYMMDDTHHMMSS)datetime_represents
: "출발" 또는 "도착"(기본값: "출발")include_station_details
: 자세한 역 정보를 포함할지 여부
클로드에 대한 예시 프롬프트:
역 정보
get_station_details
도시의 기차역에 대한 포괄적인 세부 정보를 얻으세요.
매개변수:
city_name
: 역을 검색할 도시 이름station_name
: 선택적인 특정 역 이름station_id
: 선택적인 직접 스테이션 IDinclude_transport_types
: 전송 유형 분석을 포함할지 여부include_nearby_places
: 주변 장소 정보를 포함할지 여부nearby_distance
: 근처 장소의 검색 반경(미터)nearby_count
: 반환할 근처 장소의 최대 개수
클로드에 대한 예시 프롬프트:
get_station_schedule
역의 출발 및 도착 일정을 알아보세요.
매개변수:
city_name
: 역을 검색할 도시 이름station_name
: 선택적인 특정 역 이름station_id
: 선택적인 직접 스테이션 IDcount
: 복귀 출발/도착 횟수datetime
: 시작할 선택적 날짜/시간duration
: 선택적인 지속 시간(초)data_freshness
: 데이터 신선도 수준(실시간 또는 base_schedule)
클로드에 대한 예시 프롬프트:
중단 모니터링
check_disruptions
SNCF 교통망에서 현재 발생한 중단 상황을 확인하세요.
매개변수:
coverage
: 적용 범위(기본값: "sncf")count
: 반환할 최대 중단 횟수station_id
: 특정 역에 대한 선택적 필터line_id
: 특정 라인에 대한 선택적 필터since
: 이 날짜 이후에만 유효한 중단until
: 이 날짜 이전에 유효한 중단만 해당됩니다.fetch_train_details
: 영향을 받는 열차에 대한 추가 세부 정보를 가져올지 여부
클로드에 대한 예시 프롬프트:
사용 예
여행 계획
클로드에게 프랑스의 두 도시 간 여행을 계획해 달라고 요청할 수 있습니다.
Claude는 plan_journey_by_city_names
도구를 사용하여 다음을 수행합니다.
- 두 도시의 주요 역을 찾아보세요
- 그들 사이의 최적의 여행을 계획하세요
- 출발/도착 시간, 소요 시간 및 연결 정보를 제공합니다.
스테이션 정보 얻기
방송국에 대한 자세한 정보를 얻으려면:
Claude는 get_station_details
도구를 사용하여 다음을 제공합니다.
- 기본 스테이션 정보(이름, ID, 좌표)
- 이용 가능한 교통 수단(기차, 버스, 트램)
- 주변 장소 및 관심 지점
기차 시간표 확인
예정된 출발 또는 도착을 확인하려면:
Claude는 get_station_schedule
도구를 사용하여 다음을 표시합니다.
- 보르도 출발 예정 항공편
- 목적지 정보
- 플랫폼 세부정보는 사용 가능할 때 제공됩니다.
- 실시간 상태 업데이트
모니터링 중단
서비스 중단 여부를 확인하려면:
Claude는 check_disruptions
도구를 사용하여 다음을 수행합니다.
- 관련 중단 사항 찾기
- 서비스에 미치는 영향을 설명하세요
- 영향을 받은 열차에 대한 추가 세부 정보 제공
문제 해결
일반적인 문제
"API 키가 제공되지 않았습니다"
- Claude Desktop 구성에 SNCF API 키를 추가했는지 확인하세요.
- MCP 서버 구성에서 환경 변수가 올바르게 참조되는지 확인하세요.
"도시에 대한 방송국을 찾을 수 없습니다"
- 좀 더 구체적인 도시 이름을 사용해 보세요
- 작은 도시의 경우 근처의 더 큰 도시의 이름을 사용해 보세요.
- 이 시스템에는 안정적으로 작동해야 하는 주요 프랑스 도시의 좌표가 하드코딩되어 있습니다.
"SNCF API에 연결하지 못했습니다"
- 인터넷 연결을 확인하세요
- API 키가 유효하고 만료되지 않았는지 확인하세요.
- SNCF API가 다운타임을 겪고 있을 수 있습니다. 나중에 다시 시도하세요.
"CSV 스테이션 찾기 초기화 오류"
- train_stations_europe.csv 파일이 올바른 위치에 있는지 확인하세요.
- 파일 권한을 확인하여 파일을 읽을 수 있는지 확인하세요.
고급 기능
하드코딩된 좌표
이 시스템에는 API 검색에 실패하더라도 안정성을 보장하기 위해 주요 프랑스 도시의 하드코딩된 좌표가 포함되어 있습니다.
- 파리(48.853, 2.348)
- 마르세유(43.303, 5.380)
- 리옹(45.760, 4.860)
- 툴루즈(43.611, 1.454)
- 니스(43.704, 7.262)
- 낭트(47.217, -1.542)
- 스트라스부르(48.585, 7.735)
- 보르도(44.826, -0.556)
- 릴(50.638, 3.072)
- 렌(48.103, -1.672)
- 그르노블(45.192, 5.716)
운송 유형 분석
get_station_details
도구는 역에서 이용 가능한 교통 수단을 분석하고 분류할 수 있습니다.
- 장거리 열차(TGV, Intercités)
- 지역 열차(TER)
- 지역 교통(버스, 트램, 지하철)
- 기타 서비스(택시, 자전거 공유)
주변 장소 검색
역 세부 정보 도구를 사용하면 역 근처의 관심 지점을 찾을 수 있습니다.
- 기타 교통 정류장
- 공공시설
- 관심 지점
- 주소 지점
이 기능은 역에서 다음 여행을 계획하는 여행객에게 특히 유용합니다.
기여하다
SNCF MCP 서버 개선을 위한 여러분의 참여를 환영합니다! 버그 및 기능 요청은 풀 리퀘스트를 제출하거나 이슈를 개설해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
감사의 말
- API를 제공하는 SNCF
- 포괄적인 대중교통 API를 제공하는 Navitia 팀
- 지능형 통합 기능을 위한 Claude AI
Christian delage( dr.christian.delage@gmail.com )가 생성했습니다.
This server cannot be installed
Claude Desktop과 통합된 SNCF API를 위한 모듈식 Python 래퍼로, 프랑스 철도 네트워크 전반에서 지능적인 여행 계획과 열차 정보 검색을 가능하게 합니다.