Skip to main content
Glama
KimJintak

opinet-mcp

by KimJintak

opinet-mcp

Este es un servidor MCP que permite utilizar la API gratuita de información de precios de combustible Opinet de la Korea Petroleum Corporation en clientes MCP como Claude / Claude Code.

  • Lenguaje: TypeScript (ESM)

  • SDK: @modelcontextprotocol/sdk

  • Transporte: stdio

  • Límite de llamadas: 1,500 llamadas/día (política de Opinet)


Preparación

  1. Obtenga una clave API en Opinet Free API

  2. Node.js 18 o superior (utiliza fetch global)


Related MCP server: realestate-mcp

Instalación y ejecución — 3 métodos

Método 1. Ejecución inmediata con npx (recomendado · no requiere instalación)

Disponible tras publicar en el registro npm. Consulte la sección "Distribución" a continuación.

OPINET_API_KEY=발급키 npx -y opinet-mcp

Método 2. Instalación global

npm install -g opinet-mcp
OPINET_API_KEY=발급키 opinet-mcp

Método 3. Clonar el código fuente (para desarrollo / uso privado)

git clone https://github.com/KimJintak/opinet-mcp.git
cd opinet-mcp
npm install
npm run build
OPINET_API_KEY=발급키 node dist/index.js

Registro en el cliente MCP

Claude Desktop / Claude Code

Ubicación del archivo de configuración:

SO

Ruta

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

Windows

%APPDATA%\Claude\claude_desktop_config.json

Linux

~/.config/Claude/claude_desktop_config.json

A. Método npx (el más sencillo — usar tras publicar)

{
  "mcpServers": {
    "opinet": {
      "command": "npx",
      "args": ["-y", "opinet-mcp"],
      "env": {
        "OPINET_API_KEY": "발급받은_키"
      }
    }
  }
}

B. Método de instalación global

{
  "mcpServers": {
    "opinet": {
      "command": "opinet-mcp",
      "env": {
        "OPINET_API_KEY": "발급받은_키"
      }
    }
  }
}

C. Método de compilación local (si clonó el código fuente)

{
  "mcpServers": {
    "opinet": {
      "command": "node",
      "args": ["/절대/경로/opinet-mcp/dist/index.js"],
      "env": {
        "OPINET_API_KEY": "발급받은_키"
      }
    }
  }
}

⚠️ Claude Desktop hereda el PATH de forma limitada. Si no encuentra el comando al usar command: "node" o "npx", especifique la ruta absoluta (/opt/homebrew/bin/node, /usr/local/bin/npx, etc.). Verifique con which node / which npx en la terminal.

Tras configurar, cierre completamente Claude Desktop (Cmd+Q) y reinícielo para ver las 6 herramientas en el icono de herramientas.

Otros clientes MCP (Cursor, Cline, Continue, etc.)

Puede añadir la configuración siguiendo la misma estructura JSON en el archivo de configuración del servidor MCP de cada cliente.


Herramientas disponibles (6 tipos)

Nombre de la herramienta

Endpoint de Opinet

Descripción

get_national_average_price

avgAllPrice.do

Precio promedio nacional de gasolineras (actual)

get_sido_average_price

avgSidoPrice.do

Precio promedio por provincia (actual)

get_recent_7days_price

avgRecentPrice.do

Promedio diario nacional de los últimos 7 días (tendencia)

get_lowest_price_top20

lowTop10.do

TOP 20 gasolineras más baratas a nivel nacional/regional

search_stations_around

aroundAll.do

Búsqueda de gasolineras en un radio basado en coordenadas KATEC

get_station_detail

detailById.do

Consulta de detalles por ID de gasolinera (UNI_ID)

Códigos comunes

Código de producto (prodcd)

Código

Producto

B027

Gasolina normal

D047

Diésel

B034

Gasolina premium

C004

Queroseno

K015

GLP

Código de provincia (sido / area 2 dígitos)

Código

Región

Código

Región

01

Seúl

10

Busan

02

Gyeonggi

11

Jeju

03

Gangwon

12

Daegu

04

Chungbuk

13

Incheon

05

Chungnam

14

Gwangju

06

Jeonbuk

15

Daejeon

07

Jeonnam

16

Ulsan

08

Gyeongbuk

17

Sejong

09

Gyeongnam

La unidad de ciudad/distrito utiliza un código de 4 dígitos (ej: 0207 = Gyeonggi Gwangmyeong-si). Se puede consultar por separado mediante el endpoint areaCode.do de Opinet.

Notas sobre el sistema de coordenadas

Las coordenadas de entrada (x, y) para search_stations_around y los valores GIS_X_COOR / GIS_Y_COOR de todas las respuestas están en el sistema de coordenadas KATEC. Como es diferente de WGS84 (latitud/longitud), si desea recibir latitud/longitud como entrada, conviértalas a KATEC en el cliente antes de realizar la llamada.


Ejemplos de uso (lenguaje natural)

  • "Dime el precio promedio nacional de la gasolina hoy" → get_national_average_price

  • "Precio promedio del diésel en Seúl" → get_sido_average_price (sido=01, prodcd=D047)

  • "Tendencia de la gasolina en los últimos 7 días" → get_recent_7days_price (prodcd=B027)

  • "Las 5 gasolineras con la gasolina más barata en Gwangmyeong-si" → get_lowest_price_top20 (prodcd=B027, area=0207, cnt=5)

  • "Detalles de la gasolinera con ID A0008322" → get_station_detail


Verificación de funcionamiento (prueba de humo)

Ejecutar sin clave API → Si muestra la guía de variables de entorno y termina, la compilación es correcta:

node dist/index.js

Si tiene una clave API, llame directamente a través de 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

Desarrollo

npm install
npm run dev      # tsc --watch
npm run build    # 한 번 빌드
npm start        # dist/index.js 실행
npm run clean    # dist 삭제

Estructura del proyecto:

opinet-mcp/
├── src/
│   └── index.ts          # MCP 서버 본체
├── dist/                 # 빌드 결과물 (배포 대상)
├── package.json
├── tsconfig.json
├── README.md
└── LICENSE

Distribución (npm publish)

Al publicar por primera vez:

# 1) npm 로그인
npm login

# 2) package.json의 author / repository / name 확인 (필요하면 scoped: @yourname/opinet-mcp)

# 3) 빌드 + publish (prepublishOnly에서 자동 빌드됨)
npm publish

# scoped 패키지면
npm publish --access public

Actualizaciones de versión:

npm version patch   # 0.1.0 -> 0.1.1
npm publish

Tras la publicación, cualquiera puede usarlo inmediatamente con npx -y opinet-mcp.

Incluye un script prepare, por lo que se compila automáticamente al ejecutar npm install. Es decir, también funciona instalándolo directamente desde GitHub (npm i github:KimJintak/opinet-mcp).


Licencia

MIT.

La fuente de los datos es Opinet de la Korea Petroleum Corporation; al utilizar los datos, por favor cumpla con los Términos de servicio de Opinet.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedget_lowest_price_top20
    • First observedget_national_average_price
    • First observedget_recent_7days_price
    • First observedget_sido_average_price
    • First observedget_station_detail

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables natural language querying of Korean statistical data from KOSIS, including population, employment, GDP, housing prices, and more, with support for regional and trend analysis.
    8
    61
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying Korean apartment sales and rental transaction data from the public data portal through natural language, with tools for searching transactions and computing price statistics.
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI to query real-time Korean public data including weather, real estate prices, air quality, economic indicators, and business registration via natural language.
    1
    MIT

Appeared in Searches