Skip to main content
Glama

Inspect Providers

infobroker_inspect_providers
Read-onlyIdempotent

Inspect configured search providers to list state, run live health checks, or report build/spec identity when searches return empty or slow; diagnose provider status, quota, latency, and trust.

Instructions

Inspect configured search providers: list their state, run a live health check, or report build and spec identity. Use when searches return empty or slow results and you want provider status, quota, or latency, or when choosing which backend to trust. Do NOT use to search (use infobroker_search_web) or to read a page (use infobroker_fetch_page). Read-only: it never modifies configuration, providers, or stored data. list snapshots provider state (including each provider's derived privacy posture) and status filters it; health runs a live outbound probe against provider (required for the health action; subject to that provider's rate limits, so it can be slow; for a generic_http provider with no health_endpoint the probe is a real search query and may consume provider quota or credits); spec reports build and spec identity plus local state health (config drift, backend capabilities, update status) and session counters. Returns an [OK] or [ERROR] JSON envelope with status, provider, and results.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "infobroker_inspect_providers"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYesOperation to perform
statusNoFilter for list action
providerNoProvider slug (required for health)

Output Schema

NameRequiredDescriptionDefault
metaNo
errorNo
statusYes
noticesNo
resultsNo
providerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2026.10.30
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "error": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "remediation": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "additionalProperties": {},
      +      "properties": {},
      +      "type": "object"
      +    },
      +    "notices": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {},
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "status": {
      +      "enum": [
      +        "ok",
      +        "error"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "provider"
      +  ],
      +  "type": "object"
      +}
  2. Addedv0.1.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, and the description is consistent with them, adding value the annotations cannot: the health probe is a live outbound call subject to the provider's rate limits that can be slow, and for a generic_http provider without a health_endpoint the probe becomes a real search query that may consume quota or credits. It also confirms read-only semantics in prose and names the response envelope shape.

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?

Front-loaded with purpose, then exclusions, then per-action behavior – a sensible ordering with no filler sentences. The per-action clause is a long semicolon-chained run-on that takes effort to parse, which is the main structural cost.

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?

Covers all three parameters, the health-probe side effects, rate-limit/quota risk, privacy posture in list output, and even the response envelope. An output schema exists, so the brief return-value note is sufficient rather than redundant. Nothing an agent needs to call this correctly is missing.

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, but the description goes further: it explains that `provider` is required specifically for the `health` action, that `status` filters the `list` snapshot, and it characterizes what each action returns. The only gap is that it doesn't spell out the allowed enum values for `status`/`action`, leaving that to the schema.

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 ('Inspect configured search providers') and enumerates the three things it can do: list state, run a health check, report build/spec identity. It explicitly distinguishes itself from the two siblings an agent might confuse it with (infobroker_search_web, infobroker_fetch_page), so the boundary is unambiguous.

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?

Gives a concrete trigger condition ('when searches return empty or slow results and you want provider status, quota, or latency') plus a secondary use case ('choosing which backend to trust'). It also states explicit exclusions and names the correct alternative tool for each, which is the strongest form of routing guidance.

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