
oisee/odata_mcp_go
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
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
Мы сделали это по согласию, потому что:
- Обратная совместимость — существующие конфигурации и рабочие процессы продолжают работать
Эта страница переведена автоматически. Технические детали смотрите в оригинале.
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
odatatool withaction,target, andparams
We made it opt-in because:
- Backward compatibility — existing configs and workflows continue working
- Discoverability — per-entity tools are self-documenting; LLMs can see exactly what’s available
- Simplicity for small services — if you have 20 tools, per-entity mode works great
- 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 |
Установка
docker run --rm -it odata-mcp --helpКонфигурация
{
"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"
]
}
}
}