{"ref":"artifact:oisee-odata-mcp-go","page":"/artifacts/oisee-odata-mcp-go","json":"/artifacts/oisee-odata-mcp-go.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"oisee-odata-mcp-go","name":"odata_mcp_go","artifact_type":"mcp-server","ecosystem":"btp","serves_ecosystems":["abap"],"domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"A Go binary that bridges any OData v2 or v4 service to MCP — and can collapse the whole service into one tool when the generated tool list is too large to be usable.","short":"Go binary bridging any OData v2 or v4 service to MCP","what_it_solves":"Generating a tool per entity is the obvious design and it breaks on real SAP services: the README measures an SAP Business Partner service at 485 tools and roughly 37,000 tokens, at which point the assistant reports no API is available at all. Universal Tool Mode replaces the lot with a single `odata` tool taking `action`, `target` and `params` — 900 tokens, a 97.6% reduction — and it is opt-in precisely because it changes how you interact: standard mode gives you `filter_Products` and `get_Orders`, universal mode gives you one door and a parameter. A Go port of the same author's Python bridge, chosen for cross-platform deployment and speed.","when_not_to_use":"Universal mode trades discoverability for size: one generic tool is harder for a model to pick correctly than a named one, which is why it is not the default. On a small service, standard mode is the better answer."},"links":{"repo":"https://github.com/oisee/odata_mcp_go"},"identity":{"license":"MIT"},"alternative_to":["artifact:oisee-odata-mcp"],"provides":[{"capability":"capability:agent-systems-access","what_it_does":"Bridges OData v2 and v4 to MCP as a single binary, and answers the tool-explosion problem a large SAP service creates by collapsing every entity behind one parameterised tool.","sources":[{"url":"https://github.com/oisee/odata_mcp_go","title":"OData MCP Bridge (Go) — README","checked":"2026-09-10","quote":"Before: 485 tools, ~37,000 tokens, Claude says \"no API available\""}]}],"lineage":[{"target":"artifact:oisee-odata-mcp","kind":"port","source":{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"This is a Go port of the Python OData-MCP bridge implementation"}}],"provenance":{"discovered_via":[{"source":"source:sap-ai-mcp-servers"}],"first_seen":"2026-09-10"},"history":[{"date":"2026-09-10","field":"entry","from":null,"to":"created","reason":"Triaged out of data/crawled/mcp-candidates.json, the sap-ai-mcp-servers sweep. Written from the repository's own README; the catalogue is credited as where it was found and its words are not reused."},{"date":"2026-10-09","field":"provides","from":"capability:mcp-servers","to":"capability:agent-systems-access","reason":"The concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged."}],"type_properties":{"runs":{"value":["central-server","local-process"],"sources":[{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"different users with different tokens"},{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"Claude Desktop uses the stdio transport by default."}]},"transports":{"value":["stdio","http","sse"],"sources":[{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"Support for stdio (default), HTTP/SSE, and Streamable HTTP"}]},"auth":{"value":["basic"],"sources":[{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"Basic auth, cookie auth, and anonymous access"}]},"read_only":{"value":false,"source":{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"Generated tools for create, read, update, delete operations"}},"guardrails":[{"source":{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"Restrict operations with `--read-only` or `--read-only-but-functions`"}},{"source":{"url":"https://github.com/oisee/odata_mcp_go","title":"odata_mcp_go — README","checked":"2026-09-11","quote":"**Non-localhost**: Token + TLS required, no exceptions"}}]},"drafted_with_ai":true,"maintainers":["actor:oisee"],"contributors":["actor:hakonharnes","actor:lpperras","actor:oisee"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"3 contributors"},{"label":"Repository","tier":"fair","evidence":"pushed 2026-02, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"poor","evidence":"Security Scan failure, 2026-02-10"}],"practice":[{"label":"Tests","tier":"good","evidence":"14 test files"},{"label":"Docs","tier":"good","evidence":"docs/ with 7 pages, README 32 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":145,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","npm":"not published under this name","stars":145,"forks":38,"open_issues":11,"archived":false,"pushed_at":"2026-02-19","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":3,"tree_truncated":false,"test_files":14,"workflows":4,"other_ci":false,"readme_bytes":32573,"docs_files":7,"changelog":true,"license_file":true,"dts_files":0,"ci_status":"failure","ci_run_at":"2026-02-10","ci_workflow":"Security Scan","ci_event":"push","readme_path":"README.md","readme_sha":"6e87fae556d4fac46f9a04f6527cb0c165cb297f","created_at":"2025-06-12T08:14:02Z","open_prs":5,"first_commit":"2025-06-12","last_commit":"2026-02-10","commits":73,"repo_read":"2026-10-25"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/oisee/odata_mcp_go/blob/main/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"0.1.0","date":"2024-06-30","date_source":"heading","heading":"[0.1.0] - 2024-06-30","url":"https://github.com/oisee/odata_mcp_go/blob/main/CHANGELOG.md#010---2024-06-30","sections":[{"kind":"feature","heading":"Added","items":9},{"kind":"other","heading":"Notes","items":2}],"hash":"e08e72abddc3f06e"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:oisee","name":"Alice V.","json":"/actors/oisee.json"}],"contributors":[{"ref":"actor:oisee","name":"Alice V.","json":"/actors/oisee.json"},{"ref":"actor:hakonharnes","name":"Håkon Harnes","json":"/actors/hakonharnes.json"},{"ref":"actor:lpperras","name":"Louis-Philippe Perras","json":"/actors/lpperras.json"}],"explained_by":[],"alternative_to_this":[{"ref":"artifact:oisee-odata-mcp","name":"odata_mcp","json":"/artifacts/oisee-odata-mcp.json"}],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}