OO

oisee/odata_mcp_go

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

146 stars 38 forks Качество 72 Тренд 16MIT

oisee/odata_mcp_go — это кандидат-сервер MCP, импортированный из https://github.com/oisee/odata_mcp_go.

Обзор

oisee/odata_mcp_go — это кандидат-сервер MCP, импортированный из https://github.com/oisee/odata_mcp_go.

Обзор (машинный перевод)

Реализация моста OData to Model Context Protocol (MCP) в Go с универсальным доступом к сервисам OData через инструменты MCP.

Это порт моста на 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. Обратная совместимость — существующие конфигурации и рабочие процессы продолжают работать

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

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
Открыть полный README на GitHub

Установка

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" ] } } }