OO

oisee/odata_mcp_go

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

146 stars 38 forks 품질 72 트렌드 16MIT

oisee/odata_mcp_go는 [[T0]에서 가져온 MCP 서버 후보입니다.

개요

oisee/odata_mcp_go는 [[T0]에서 가져온 MCP 서버 후보입니다.

개요(AI 번역)

OData to Model Context Protocol(MCP) 브리지의 Go 구현으로, MCP 도구를 통해 OData 서비스에 보편적으로 접근할 수 있습니다.

이 기능은 Python OData-MCP 브리지 구현의 Go 이식으로, 다양한 운영체제에서 더 쉽게 실행되고 성능이 우수하며 배포가 더 간단하도록 설계되었습니다. OData v2와 v4 서비스 모두를 지원합니다.

🆕 새로운 소식 (v1.6.0)

범용 도구 모드 — 모든 것을 지배하는 하나의 도구

가장 큰 추가 기능은 Universal Tool Mode(--universal)로, 대규모 OData 서비스에 혁신적인 기능입니다:

미터법 표준 모드 범용 모드 환원
도구 (노스윈드) 157 1 99.4%
도구 (SAP BP) 485 1 99.8%
토큰 사용 ~37,000 ~900 97.6%

왜 선택적으로 참여해야 하나요? 유니버설 모드는 OData와의 상호작용 방식을 바꿉니다:

  • 표준 모드: 각 엔터티는 전용 도구(filter_Products, get_Orders 등)를 제공합니다.
  • 범용 모드: odata 도구 하나, action, target, params]

우리가 선택적으로 선택한 이유는 다음과 같습니다:

  1. 하위 호환성 — 기존 설정과 워크플로우가 계속 작동함

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요.

README

원문 README의 일부입니다. 원문 보기.

OData MCP Bridge (Go)

A Go implementation of the OData to Model Context Protocol (MCP) bridge, providing universal access to OData services through MCP tools.

This is a Go port of the Python OData-MCP bridge implementation, designed to be easier to run on different operating systems with better performance and simpler deployment. It supports both OData v2 and v4 services.

🆕 What’s New (v1.6.0)

Universal Tool Mode — One Tool to Rule Them All

The biggest addition is Universal Tool Mode (--universal), a game-changer for large OData services:

# Before: 485 tools, ~37,000 tokens, Claude says "no API available"
./odata-mcp https://large-sap-service.com/odata/

# After: 1 tool, ~900 tokens, works perfectly
./odata-mcp --universal https://large-sap-service.com/odata/
Metric Standard Mode Universal Mode Reduction
Tools (Northwind) 157 1 99.4%
Tools (SAP BP) 485 1 99.8%
Token usage ~37,000 ~900 97.6%

Why is it opt-in? Universal mode changes how you interact with OData:

  • Standard mode: Each entity gets dedicated tools (filter_Products, get_Orders, etc.)
  • Universal mode: One odata tool with action, target, and params

We made it opt-in because:

  1. Backward compatibility — existing configs and workflows continue working
  2. Discoverability — per-entity tools are self-documenting; LLMs can see exactly what’s available
  3. Simplicity for small services — if you have 20 tools, per-entity mode works great
  4. Explicit choice — users should consciously choose the trade-off

When to use --universal:

  • Service has 50+ entity sets
  • Running multiple OData services simultaneously
  • Experiencing “no API available” or tool selection failures
  • Want minimal token footprint

See Universal Tool Architecture for the full story.

MCP Header Forwarding

New --forward-mcp-headers flag enables passing HTTP headers from MCP clients to OData services:

./odata-mcp --transport streamable-http --forward-mcp-headers https://secured-service.com/odata/

This enables:

  • Dynamic authentication — pass credentials per-request instead of at startup
  • Multi-tenant scenarios — different users with different tokens
  • Custom headers — X-* headers flow through to OData

Issue Fixes Bonanza

This release fixes 10 open issues:

Issue Problem Fix
#12 SAP OData shows no tools Fixed XML namespace parsing (sap:creatable etc.)
#13 --max-items 99999 crashes Added validation (max 10,000)
#14 Multiple services = Claude stuck Universal tool mode
#16 GUID formatting wrong Auto-detect SAP, add guid'...' prefix
#17 Timeout instead of error Immediate error response
#18 Wildcard search fails Parse SearchRestrictions annotation
GitHub에서 전체 README 보기

설치

docker run --rm -it odata-mcp --help
MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "northwind-v2": { "command": "C:/bin/odata-mcp.exe", "args": [ "--service", "https://services.odata.org/V2/Northwind/Northwind.svc/", "--tool-shrink" ] }, "northwind-v4": { "command": "C:/bin/odata-mcp.exe", "args": [ "--service", "https://services.odata.org/V4/Northwind/Northwind.svc/", "--tool-shrink" ] } } }