Skip to main content
Glama

Brapi Server Info

brapi_server_info
Read-onlyIdempotent

Return the full orientation envelope for a registered BrAPI connection — server identity, capabilities, content counts, suggested finders, and notes. Re-running refreshes the cached capability scan; pass an alias to read a non-default connection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
aliasNoConnection alias. 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.
forceRefreshNoBypass the cached capability profile and refetch from the server.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
authNoAuth summary for the active connection.
aliasNoConnection alias.
errorNoPresent when the call failed. Absent on success.
notesNoServer-specific quirks or degradation notes.
serverNoNormalized server identity block.
baseUrlNoBrAPI v2 base URL for this connection.
contentNoContent summary (crops + optional totals).
dialectNoActive dialect adapter — translates outbound filters and declares known-dead routes for this server.
fetchedAtNoISO 8601 timestamp of when this envelope was composed.
attributionNoAttribution metadata for built-in known-server connections. Absent for custom (env-only) connections.
capabilitiesNoCapability profile derived from /serverinfo.
nextToolSuggestionsNoEntry-point finders (studies, germplasm, variables, locations — in that order) whose GET or POST /search route this server exposes under the active dialect. Empty when none apply.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "not": {
      -      "required": [
      -        "error"
      -      ]
      -    },
      -    "required": [
      -      "alias",
      -      "baseUrl",
      -      "server",
      -      "auth",
      -      "capabilities",
      -      "dialect",
      -      "content",
      -      "notes",
      -      "fetchedAt"
      -    ]
      -  },
      -  {
      -    "required": [
      -      "error"
      -    ]
      -  }
      -]New value: +[
      +  {
      +    "not": {
      +      "required": [
      +        "error"
      +      ]
      +    },
      +    "required": [
      +      "alias",
      +      "baseUrl",
      +      "server",
      +      "auth",
      +      "capabilities",
      +      "dialect",
      +      "content",
      +      "nextToolSuggestions",
      +      "notes",
      +      "fetchedAt"
      +    ]
      +  },
      +  {
      +    "required": [
      +      "error"
      +    ]
      +  }
      +]
    • addedOutput schema / properties / nextToolSuggestions
      Added value: +{
      +  "description": "Entry-point finders (studies, germplasm, variables, locations — in that order) whose GET or POST /search route this server exposes under the active dialect. Empty when none apply.",
      +  "items": {
      +    "additionalProperties": false,
      +    "description": "A finder the connected server supports, with the arguments to start it.",
      +    "properties": {
      +      "args": {
      +        "additionalProperties": false,
      +        "description": "Arguments to call the tool with. Alias only — narrow further with the tool filters.",
      +        "properties": {
      +          "alias": {
      +            "description": "Connection alias to pass to the suggested tool.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "alias"
      +        ],
      +        "type": "object"
      +      },
      +      "reason": {
      +        "description": "Why this tool applies to the connected server.",
      +        "type": "string"
      +      },
      +      "toolName": {
      +        "description": "Entry-point finder tool this server can serve.",
      +        "enum": [
      +          "brapi_find_studies",
      +          "brapi_find_germplasm",
      +          "brapi_find_variables",
      +          "brapi_find_locations"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "toolName",
      +      "reason",
      +      "args"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint and idempotentHint already declared, the bar is lower, and the description adds genuine value: it discloses that re-running refreshes the cached capability scan, and that an alias reads a non-default connection. These behavioral facts (cache refresh semantics and default-alias routing) go beyond what the annotations convey. No contradiction with the annotations.

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

Conciseness4/5

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

The description is compact — two clauses front-loaded with the purpose and a component list, followed by a single sentence of invocation guidance. No wasted words. The only minor blemish is the stylized 'orientation envelope' phrasing, which adds a bit of obscurity without adding clarity, keeping this from a 5.

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?

Given the tool's low complexity (two optional params, both schema-documented), present annotations, and an existing output schema that handles return-value documentation, the description covers the essential behavior: purpose, components returned, refresh/caching semantics, and alias routing. A slightly stronger usage story separating it from sibling tools is the only gap. This is complete enough for an agent to invoke it correctly.

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

Parameters3/5

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

Schema coverage is 100% and both parameters are thoroughly documented in the schema — alias explains the default-omission behavior and forceRefresh explains cache bypass. The description reinforces the alias concept ('pass an alias to read a non-default connection') and introduces the caching concept that maps to forceRefresh, but this is marginal over the schema's explanations. The baseline of 3 is appropriate; the description does not materially deepen parameter understanding.

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

Purpose4/5

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

The description states a specific verb ('Return') and resource ('the full orientation envelope for a registered BrAPI connection') followed by the concrete components (server identity, capabilities, content counts, suggested finders, notes). This clearly differentiates it from the data-fetching and connection-establishment siblings like brapi_connect and the brapi_find_* tools, though it doesn't name a specific sibling it is not. The slightly jargon-y 'orientation envelope' is clarified by the component list that follows.

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

Usage Guidelines3/5

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

The description gives invocation guidance ('Re-running refreshes the cached capability scan; pass an alias to read a non-default connection') and the schema reinforces the alias omission/default behavior. However, it never states when to prefer this tool over alternatives — e.g., when to use it to inspect a connection versus brapi_connect to establish one or brapi_raw_get to make arbitrary calls. Usage context is implied by the read-only info nature but no explicit when/when-not/alternative routing is provided.

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.