Skip to main content
Glama

Brapi Raw Get

brapi_raw_get
Read-only

Passthrough to any BrAPI GET /{path} endpoint. Returns the raw upstream envelope without enrichment or foreign-key resolution. Emits a suggestion field when a curated tool exists for the same data. Spills to a canvas dataframe when the upstream advertises more rows than loadLimit AND the result is a list shape (result array or result.data envelope); inline result is unchanged. Skips spillover when the caller drives paging via params.page / params.pageSize.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYesEndpoint path — e.g. "/samples", "/methods". Leading "/" is optional.
aliasNoConnection alias registered via brapi_connect. Omit to read the connection registered under alias `default` — i.e. a prior brapi_connect call that did not specify an alias. Calls that used a non-default alias must pass that same alias here.
paramsNoQuery parameters to append. Arrays are repeated per BrAPI convention.
loadLimitNoCap on rows returned inline. Omit for the deployment default. Rows beyond the cap land in a dataframe; query with brapi_dataframe_query (SQL) instead of paging row-by-row.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoFully resolved URL that was fetched (baseUrl + path + query string).
pathNoNormalized path (leading `/` preserved) that was appended to the baseUrl.
aliasNoAlias of the registered BrAPI connection the call used.
errorNoPresent when the call failed. Absent on success.
resultNoRaw BrAPI `result` value — whatever shape the endpoint returns.
metadataNoBrAPI envelope metadata (pagination and any additional upstream fields).
dataframeNoPresent when the upstream advertised more rows than `loadLimit` AND the result is a list shape. The inline `result` is unchanged; the dataframe carries the full union of pages — query with brapi_dataframe_query.
suggestionNoEmitted when a curated goal-shaped tool covers this endpoint.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Well beyond the readOnlyHint/openWorldHint annotations, the description discloses the no-enrichment guarantee, `suggestion` field emission, and the precise spillover contract: spill happens only when rows exceed `loadLimit` AND the result is a list shape (`result` array or `result.data` envelope), inline results are unchanged, and caller-driven paging via `params.page`/`params.pageSize` skips spillover. This is unusually rich behavioral disclosure.

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?

Four sentences, all information-dense, with the core purpose front-loaded in the first sentence. Each subsequent sentence covers a distinct behavior — return fidelity, suggestion signal, spillover rules, and the paging exception. For a generic passthrough with dynamic behavior, this length is fully earned with no filler.

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

Completeness5/5

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

Despite the tool's complexity (arbitrary endpoint, dynamic spill behavior), the description covers purpose, transformations, the spillover edge cases, and alternatives. An output schema exists so return-value details are covered elsewhere, and the description handles exactly the non-obvious behaviors an agent needs to predict the tool's output shape.

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 100%, so the baseline is 3. The description adds genuine cross-parameter meaning the schema lacks: the interaction between `loadLimit` and `params.page`/`params.pageSize` (paging skips spillover), and the list-shape condition that activates `loadLimit`'s dataframe behavior. This goes beyond any single parameter's schema description.

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?

"Passthrough to any BrAPI GET /{path} endpoint" names a specific verb, resource, and scope. "Returns the raw upstream envelope without enrichment or foreign-key resolution" precisely defines what it does and does not do, and the `suggestion` field mechanism clearly separates it from the curated brapi_find_*/brapi_get_* siblings.

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

Usage Guidelines4/5

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

The description gives actionable routing guidance: the `suggestion` field tells the caller when a curated tool exists, and the spillover clause directs the agent to "query with brapi_dataframe_query (SQL) instead of paging row-by-row." It does not explicitly state when to prefer brapi_raw_search over brapi_raw_get or enumerate exclusions, but the context is clear enough for correct selection.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.