Generic SAP OData v2/v4 to MCP bridge: introspect service metadata and query any entity set.
Strong foundation with clear verb-based naming (list_, get_, query_, create_, update_, delete_, count_) and comprehensive parameter descriptions. All 8 tools have explicit schemas with Zod validation and detailed descriptions (avg ~150 chars). Key strengths: proper input validation, clear OData semantics, security-conscious write-operation gating. Gaps: output schemas not formally documented in code; no error recovery guidance; missing tool annotations (readOnlyHint/destructiveHint); composite key handling via union types lacks clarity for LLMs.
Return the number of entities in a set using the /$count endpoint, with an optional $filter to narrow the count.
Create a new entity in an entity set (HTTP POST). Requires LOGALI_MCP_ALLOW_WRITE=true. A SAP CSRF token is fetched and applied automatically.
Delete an entity by key (HTTP DELETE). Requires LOGALI_MCP_ALLOW_WRITE=true. A SAP CSRF token is fetched and applied automatically.
Read a single entity by key. The key may be a scalar for single-key entities or an object mapping key property names to values for composite keys. String keys are quoted automatically based on the entity type metadata.
Return a compact summary of entity types with their properties (name, type, nullable) and navigation properties. Filter to one entity type with entityType, or set raw=true to return the raw $metadata XML.
Output schemas not formally documented. Tools return structured JSON but no schema definitions visible in code. LLMs cannot predict response fields for planning downstream calls.
Composite key handling via union type (scalar | object) lacks clarity. LLMs cannot infer when to pass 'ABC' vs {ID: 'ABC', Type: 'X'}. Needs explicit examples in description.
No error recovery guidance. Tools return errors (e.g. 'Unknown entity set') but do not guide LLM on next steps. Missing pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Introspect the OData service $metadata and list every entity set with its backing entity type and key property names.
Query an entity set with optional OData system query options. Handles v2 (d.results) and v4 (value) response shapes and returns normalized rows.
Update an existing entity by key using PATCH (partial) or PUT (full replace). Requires LOGALI_MCP_ALLOW_WRITE=true. A SAP CSRF token is fetched and applied automatically.
Tool annotations missing. create_entity, update_entity, delete_entity lack destructiveHint/idempotentHint. LLMs cannot determine retry safety or confirmation requirements.
LOGALI_MCP_ALLOW_WRITE environment variable gating is server-side but not exposed as tool-level permission metadata. No audit trail or scope declaration visible.