opinet-mcp
opinet-mcp
Это MCP-сервер, который позволяет использовать бесплатный API информации о ценах на топливо Opinet от Корейской нефтяной корпорации в MCP-клиентах, таких как Claude / Claude Code.
Язык: TypeScript (ESM)
SDK:
@modelcontextprotocol/sdkТранспорт: stdio
Лимит вызовов: 1500 вызовов/день (политика Opinet)
Предварительные требования
Получите API-ключ на сайте Opinet Free API
Node.js версии 18 или выше (используется глобальный
fetch)
Related MCP server: fuel-map-mcp
Установка и запуск — 3 способа
Способ 1. Мгновенный запуск через npx (рекомендуется, установка не требуется)
Доступно после публикации в реестре npm. Информацию о публикации см. в разделе "Развертывание" ниже.
OPINET_API_KEY=발급키 npx -y opinet-mcpСпособ 2. Глобальная установка
npm install -g opinet-mcp
OPINET_API_KEY=발급키 opinet-mcpСпособ 3. Клонирование исходного кода (для разработки / частного использования)
git clone https://github.com/KimJintak/opinet-mcp.git
cd opinet-mcp
npm install
npm run build
OPINET_API_KEY=발급키 node dist/index.jsРегистрация в MCP-клиенте
Claude Desktop / Claude Code
Расположение файла конфигурации:
ОС | Путь |
macOS |
|
Windows |
|
Linux |
|
A. Способ через npx (самый простой — после публикации)
{
"mcpServers": {
"opinet": {
"command": "npx",
"args": ["-y", "opinet-mcp"],
"env": {
"OPINET_API_KEY": "발급받은_키"
}
}
}
}B. Способ через глобальную установку
{
"mcpServers": {
"opinet": {
"command": "opinet-mcp",
"env": {
"OPINET_API_KEY": "발급받은_키"
}
}
}
}C. Способ локальной сборки (если клонировали исходный код)
{
"mcpServers": {
"opinet": {
"command": "node",
"args": ["/절대/경로/opinet-mcp/dist/index.js"],
"env": {
"OPINET_API_KEY": "발급받은_키"
}
}
}
}⚠️ Claude Desktop имеет ограниченное наследование PATH. Если при запуске через
command: "node"или"npx"возникают ошибки, укажите абсолютный путь (например,/opt/homebrew/bin/node,/usr/local/bin/npxи т.д.). Проверьте путь с помощьюwhich node/which npxв терминале.
После настройки полностью закройте Claude Desktop (Cmd+Q) → перезапустите, и вы увидите 6 инструментов в иконке инструментов.
Другие MCP-клиенты (Cursor, Cline, Continue и др.)
Вы можете добавить конфигурацию в файл настроек MCP-сервера вашего клиента, используя ту же структуру JSON.
Доступные инструменты (6 типов)
Имя инструмента | Эндпоинт Opinet | Описание |
|
| Средняя цена на АЗС по стране (текущая) |
|
| Средняя цена на АЗС по регионам (текущая) |
|
| Среднесуточная цена по стране за последние 7 дней (тренд) |
|
| ТОП-20 АЗС с самыми низкими ценами по стране/региону |
|
| Поиск АЗС в радиусе по координатам KATEC |
|
| Получение подробной информации по ID АЗС (UNI_ID) |
Общие коды
Код продукта (prodcd)
Код | Продукт |
| Обычный бензин |
| Дизельное топливо |
| Премиальный бензин |
| Керосин |
| Автомобильный бутан |
Код региона (sido / area, 2 цифры)
Код | Регион | Код | Регион |
01 | Сеул | 10 | Пусан |
02 | Кёнги | 11 | Чеджу |
03 | Канвон | 12 | Тэгу |
04 | Чхунбук | 13 | Инчхон |
05 | Чхуннам | 14 | Кванджу |
06 | Чонбук | 15 | Тэджон |
07 | Чоннам | 16 | Ульсан |
08 | Кёнбук | 17 | Седжон |
09 | Кённам |
Уровень городов/районов (сигунгу) использует 4-значный код (например,
0207= Кёнги, Кванмён). Можно запросить отдельно через эндпоинт OpinetareaCode.do.
Примечание по системе координат
Входные координаты (x, y) для search_stations_around и все значения GIS_X_COOR / GIS_Y_COOR в ответах используют систему координат KATEC. Она отличается от WGS84 (широта/долгота), поэтому, если вы принимаете широту/долготу на входе, преобразуйте их в KATEC перед вызовом.
Примеры использования (естественный язык)
"Покажи среднюю цену на бензин по стране сегодня" →
get_national_average_price"Средняя цена на дизель в Сеуле" →
get_sido_average_price(sido=01,prodcd=D047)"Тренд цен на бензин за последние 7 дней" →
get_recent_7days_price(prodcd=B027)"5 самых дешевых АЗС с бензином в Кванмёне" →
get_lowest_price_top20(prodcd=B027,area=0207,cnt=5)"Подробная информация об АЗС с ID A0008322" →
get_station_detail
Проверка работоспособности (Smoke Test)
Запуск без API-ключа → если выводится инструкция по переменным окружения и завершается, сборка OK:
node dist/index.jsПри наличии API-ключа, прямой вызов через stdio:
export OPINET_API_KEY=발급키
# 등록된 툴 목록 확인
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/index.js
# 전국 평균가격 호출
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_national_average_price","arguments":{}}}' | node dist/index.jsРазработка
npm install
npm run dev # tsc --watch
npm run build # 한 번 빌드
npm start # dist/index.js 실행
npm run clean # dist 삭제Структура проекта:
opinet-mcp/
├── src/
│ └── index.ts # MCP 서버 본체
├── dist/ # 빌드 결과물 (배포 대상)
├── package.json
├── tsconfig.json
├── README.md
└── LICENSEРазвертывание (npm publish)
При первой публикации:
# 1) npm 로그인
npm login
# 2) package.json의 author / repository / name 확인 (필요하면 scoped: @yourname/opinet-mcp)
# 3) 빌드 + publish (prepublishOnly에서 자동 빌드됨)
npm publish
# scoped 패키지면
npm publish --access publicПоследующие обновления версии:
npm version patch # 0.1.0 -> 0.1.1
npm publishПосле публикации любой желающий может сразу использовать команду npx -y opinet-mcp.
Благодаря скрипту
prepareсборка происходит автоматически приnpm install. Это означает, что установка напрямую из GitHub (npm i github:KimJintak/opinet-mcp) также будет работать.
Лицензия
MIT.
Источник данных — Opinet Корейской нефтяной корпорации. При использовании данных соблюдайте Условия использования Opinet.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool targets a distinct data view (cheapest stations, national average, historical trends, regional averages, single station details). While all relate to fuel prices, the scope filters (top20, 7-day history, sido codes) create clear boundaries.
All tools use consistent snake_case with a 'get_' verb prefix followed by descriptive noun phrases (lowest_price_top20, national_average_price, etc.). The pattern is predictable throughout.
Five tools cover the essential read-only queries for a fuel price information service without bloat. The scope is well-contained, though an additional search-by-radius or brand filter could round it out.
Core price discovery workflows are covered: finding cheap stations, checking averages at national/regional levels, viewing trends, and drilling into station details. Minor gaps include no brand-specific queries or historical data beyond 7 days.
Maintenance
Related MCP Connectors
Korean local-currency (지역화폐) discounts: fuel rates, effective prices, merchant search, deep links.
Real-time fuel prices, alerts, and cheapest gas stations across 38+ countries.
Korean company facts in English for AI agents: ~830 KOSPI-listed companies (DART profiles, KRW financials, recent filings) and ~110,000 corporate public procurement suppliers (12-month KONEPS contract awards), plus live National Tax Service business status checks. 4 tools, keyless, read-only.
US gas and diesel prices by station, ZIP or city. Paid, on Apify's hosted MCP.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables natural language querying of Korean statistical data from KOSIS, including population, employment, GDP, housing prices, and more, with support for regional and trend analysis.813 npm17MIT
- FlicenseAqualityDmaintenanceFinds the cheapest gas stations along a travel route in Korea using Kakao Navigation and Opinet APIs.3-
- AlicenseNot gradedqualityCmaintenanceEnables Claude to query AirKorea's air pollution statistics, including real-time averages by province and city/county, as well as daily and monthly averages by monitoring station.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to look up real-time fuel prices at over 14,000 German gas stations, find the cheapest E5, E10, or diesel near a place or GPS coordinates, and return only open stations sorted by price.MIT