fuel-map-mcp
Finds the cheapest gas stations along a travel route in Korea using Kakao Navigation and Opinet APIs.
README
fuel-map-mcp
국내 여행 경로 상에서 가장 저렴한 주유소를 찾아주는 MCP 서버입니다.
아이디어: "서울에서 부산까지 가는 길에 기름이 떨어져가는데, 어디서 주유하는 게 가장 쌀까?"
카카오 내비게이션 API로 경로를 받아오고, 오피넷 API를 실시간으로 조회하여 경로상에서 가장 저렴한 주유소 5곳을 찾아줍니다.
주요 기능
- 경로 조회: 출발지와 목적지를 입력하면 Kakao Mobility API로 최적 경로 계산
- 최저가 주유소 검색: 경로를 2km 간격으로 샘플링하여 각 지점에서 1km 반경 내 주유소를 검색하고 최저가 5곳 반환
- 좌표계 변환: WGS84 ↔ KATEC 자동 변환으로 정확한 위치 검색
- 다양한 유종 지원: 휘발유, 경유, 등유, LPG
아키텍처
[사용자: "강남역→판교역 최저가 주유소"]
│
▼
┌─────────────────────────────┐
│ 카카오 Local API │
│ 주소/장소명 → WGS84 좌표 변환 │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ 카카오 Mobility API │
│ 경로 조회 (거리, 시간, 좌표) │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ 경로 샘플링 │
│ 2km 간격으로 좌표 추출 │
│ (Haversine 거리 계산) │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ Opinet API (실시간) │
│ │
│ 각 샘플링 지점마다: │
│ • WGS84 → KATEC 변환 │
│ • 1km 반경 내 주유소 검색 │
│ • 가격순 정렬 │
│ • 중복 제거 │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ 응답 (MCP Tool) │
│ │
│ • 경로 정보 (거리, 시간) │
│ • 최저가 주유소 5곳: │
│ - 주유소명 / 브랜드 │
│ - 가격 (원) │
│ - 경로 지점으로부터 거리 (m) │
│ - 좌표 (WGS84) │
└─────────────────────────────┘
설치 및 실행
환경 변수 설정
.env 파일에 API 키를 설정합니다:
KAKAO_REST_API_KEY=your_kakao_api_key
OPINET_API_KEY=your_opinet_api_key
로컬 실행
# 의존성 설치
uv sync
# MCP 서버 실행
python main.py
Docker 실행
# 이미지 빌드
docker build -t fuel-map-mcp .
# 컨테이너 실행
docker run -p 8000:8000 --env-file .env fuel-map-mcp
MCP Tools
1. get_route
출발지와 목적지를 입력받아 경로 정보를 반환합니다.
Parameters:
origin(str): 출발지 주소 또는 장소명destination(str): 목적지 주소 또는 장소명priority(str, optional): 경로 우선순위 (RECOMMEND, TIME, DISTANCE)
Returns:
- 거리 (km)
- 소요시간 (분)
- 통행료, 택시 요금
- 출발지/목적지 좌표
- 경로 좌표 목록
2. find_cheapest_gas_stations_nearby
특정 위치 근처의 최저가 주유소 5곳을 찾습니다.
Parameters:
location(str): 위치 주소 또는 장소명 (예: "강남역", "서울시 강남구 테헤란로 212")fuel_type(str, optional): 유종 코드B027: 휘발유 (기본값)D047: 경유K015: 등유C004: LPG
radius(int, optional): 검색 반경 (미터, 최대 5000, 기본: 1000)
Returns:
- 검색 위치 정보 (이름, 좌표)
- 최저가 주유소 5곳 (이름, 브랜드, 가격, 거리, 좌표)
- 발견된 총 주유소 수
3. find_cheapest_gas_stations_on_route
경로상의 최저가 주유소 5곳을 찾습니다.
Parameters:
origin(str): 출발지 주소 또는 장소명destination(str): 목적지 주소 또는 장소명fuel_type(str, optional): 유종 코드B027: 휘발유 (기본값)D047: 경유K015: 등유C004: LPG
priority(str, optional): 경로 우선순위
Returns:
- 경로 정보 (거리, 시간, 출발/도착지)
- 최저가 주유소 5곳 (이름, 브랜드, 가격, 거리, 좌표)
- 샘플링된 지점 수
- 발견된 총 주유소 수
기술 스택
- Python 3.13+
- FastMCP: MCP 서버 프레임워크
- httpx: 비동기 HTTP 클라이언트
- pyproj: 좌표계 변환 (WGS84 ↔ KATEC)
- python-dotenv: 환경 변수 관리
API 출처
License
This project is proprietary software.
Copyright (c) 2026 서지운 and 정보성
All rights reserved.
Unauthorized copying, modification, distribution, or use of this software, via any medium, is strictly prohibited without the express written permission of the copyright holders.
For licensing inquiries, please contact the copyright holders.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。