{"ref":"artifact:oisee-odata-mcp","page":"/artifacts/oisee-odata-mcp","json":"/artifacts/oisee-odata-mcp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"oisee-odata-mcp","name":"odata_mcp","artifact_type":"mcp-server","ecosystem":"btp","serves_ecosystems":["abap"],"domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"The Python original: reads an OData v2 service's metadata and generates MCP tools from it, with the SAP-specific conversions the raw protocol leaves to you.","short":"Python bridge generating MCP tools from OData v2 metadata","what_it_solves":"Tools generated from metadata rather than hand-written, with full CRUD, the standard query parameters, and function imports. What distinguishes it is the accumulated handling of what SAP OData actually returns: `/Date(milliseconds)/` converted to ISO 8601, `Edm.Decimal` fields converted to strings so precision survives, base64 and standard GUIDs converted both ways, response size limiting with selective field retrieval, and pagination hints that suggest the next call's parameters. Basic, cookie and OAuth 2.0 authentication with CSRF handling; stdio or HTTP/SSE.","when_not_to_use":"OData v2 only, and untouched since August 2025 — the same author's [Go port](artifact:oisee-odata-mcp-go) is where v4 support and the tool-explosion work went."},"links":{"repo":"https://github.com/oisee/odata_mcp"},"identity":{"license":"MIT"},"alternative_to":["artifact:oisee-odata-mcp-go"],"provides":[{"capability":"capability:agent-systems-access","what_it_does":"Generates tools from an OData v2 service's own metadata and normalises the SAP-shaped parts of the response — legacy dates, decimal precision, GUID encoding — before an agent sees them.","sources":[{"url":"https://github.com/oisee/odata_mcp","title":"OData MCP Wrapper — README","checked":"2026-09-10","quote":"dynamically generating MCP tools based on OData metadata"}]}],"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":{"transports":{"value":["stdio","http","sse"],"sources":[{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"STDIO (default) and HTTP/SSE for web-based clients"},{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"python odata_mcp.py --transport streamable-http --service https://your-service.com/odata/"}]},"auth":{"value":["basic","oauth"],"sources":[{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"Basic auth, cookie-based auth, and OAuth 2.0 with CSRF token management"}]},"read_only":{"value":false,"source":{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"Create, Read, Update, Delete operations for entity sets"}},"guardrails":[{"source":{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"Creating read-only MCP endpoints for users"}},{"source":{"url":"https://github.com/oisee/odata_mcp","title":"odata_mcp — README","checked":"2026-09-11","quote":"The HTTP/SSE transport does not include authentication."}}]},"drafted_with_ai":true,"maintainers":["actor:oisee"],"contributors":["actor:oisee","actor:ziqbal"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"2 contributors"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-08, 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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 28 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":38,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":38,"forks":10,"open_issues":2,"archived":false,"pushed_at":"2025-08-24","license_spdx":"MIT","org_owned":false,"default_branch":"main","contributors":2,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":29024,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"readme_path":"README.md","readme_sha":"14ed0a568dd9e3879495135eb750e327138201ae","created_at":"2025-05-08T20:39:03Z","first_commit":"2025-04-05","last_commit":"2025-08-24","commits":44,"contributors_since":"2025-05-08","open_prs":1,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"source":{"kind":"repo","path":"CHANGELOG.md","ref":"main","url":"https://github.com/oisee/odata_mcp/blob/main/CHANGELOG.md"},"format":"keep-a-changelog","releases":[{"version":"2.0.0","date":"2024-01-15","date_source":"heading","heading":"[2.0.0] - 2024-01-15","url":"https://github.com/oisee/odata_mcp/blob/main/CHANGELOG.md#200---2024-01-15","sections":[{"kind":"change","heading":"Changed","items":2},{"kind":"feature","heading":"Added","items":4}],"hash":"80f0432918755cd2"},{"version":"1.0.0","date":"2023-12-01","date_source":"heading","heading":"[1.0.0] - 2023-12-01","url":"https://github.com/oisee/odata_mcp/blob/main/CHANGELOG.md#100---2023-12-01","sections":[{"kind":"feature","heading":"Added","items":8}],"hash":"48796102b8988c3a"}],"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:ziqbal","name":"Zafar Iqbal","json":"/actors/ziqbal.json"}],"explained_by":[],"alternative_to_this":[{"ref":"artifact:oisee-odata-mcp-go","name":"odata_mcp_go","json":"/artifacts/oisee-odata-mcp-go.json"}],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}