Skip to main content
Glama
koble-mcp

koble-mcp

Official
by koblesystems

ebms_get

Reads EBMS OData collections or single records by entity path, with filter, select, orderby, and paging. Pass select to avoid oversized unselected reads; use export for large result sets.

Instructions

Read from EBMS OData: a collection (path 'ARINV') or one record (path "ARINV('')"). Always pass select — an unselected read returns every field, many computed, and large ones hit the 2-minute limit. For a collection, count is on by default and the result says whether rows were truncated. For more than a few hundred rows use ebms_export instead: without top only 200 rows are shown, and never more than about 150 KB. Query syntax and the install's quirks are in the ebms-api skill.

Input Schema

NameRequiredDescriptionDefault
topNo
pathYesRequired. Entity path only, e.g. ARINV, ARINV('7XQPR42LM8W91000'), EntityMetaData('ARINV'), $metadata. No query string.
skipNo
countNoAsk for @odata.count. Default true for collections.
expandNo
filterNo$filter, unencoded.
selectNo$select, comma-separated. Include one inside expand too: Details($select=AUTOID,INVEN).
companyNoCompany, by ID or name as ebms_companies lists them. May be omitted only when one company is available.
orderbyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0-rc.1

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses the 2-minute timeout risk from unselected reads, that count defaults to true for collections, that truncation is reported, that without top only 200 rows are shown, and that responses never exceed ~150 KB. These are exactly the behavioral traits an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: what the tool reads, the mandatory select warning, the count/truncation default, the size-based alternative to ebms_export, and where to find query syntax. The critical constraints are front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter read tool with no annotations and no output schema, the description covers the operational essentials (path forms, select requirement, row/size limits, truncation signaling, alternative tool). It stops short of describing the response shape or auth/company requirements, which are partly left to the schema and the ebms-api skill.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 56%, and the description adds crucial meaning for select (must always be passed) and top (default 200 rows, 150 KB cap) that the schema alone does not convey. It leaves filter, expand, orderby, skip, and company to the schema and defers query syntax to the ebms-api skill, so it does not fully compensate for every gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Read from EBMS OData') and covers both modes (a collection or one record) with concrete path examples ('ARINV', "ARINV('<AUTOID>')"). An agent can immediately tell this apart from ebms_write (writes) and ebms_export (bulk).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative and the condition that selects it: 'For more than a few hundred rows use ebms_export instead.' It also mandates 'Always pass select' and explains the consequence of not doing so, so the when-to-use and how-to-call guidance is complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.