Skip to main content
Glama

The Revenue AI Report

Search everything

search_site
Read-onlyIdempotent

Search every public resource on The Revenue AI Report in one call: articles, research themes, frameworks, methodology, skills, prompts, playbooks, datasets, archive issues, the reversal ledger, the AI tool library, and glossary and dictionary definitions. Filters: kind (resource type), category (article or issue pillar, playbook or prompt team, skill task, tool or ledger category, case insensitive), tags with tag_match ('all' requires every tag, 'any' requires one). Paging: limit (page size, default 12, max 40) with either offset or the next_cursor returned by the previous call. Results are ranked and stable for the same query and filters. Returns ranked matches with live URL, kind, category, tags and an excerpt, plus totalMatches, countsByKind, availableFilters for discovery, and nextCursor/hasMore for paging. Examples: {"query":"forecast accuracy"} | {"query":"pipeline hygiene","kind":"Playbook","category":"revops","tags":["L3"]} | {"query":"AI SDR","tags":["L2","sales"],"tag_match":"any"} | {"query":"AI SDR","limit":10,"offset":10} | {"query":"AI SDR","limit":10,"cursor":""} Use this first when you do not know which resource type answers the question.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoRestrict results to one resource type, e.g. 'Playbook' or 'Skill'.
tagsNoTags to filter on. Tags include playbook tags, maturity levels (L1 to L6), skill roles and levels, prompt teams, and tool functions. Example: ['L3','sales'].
limitNoPage size. Default 12, max 40.
queryYesWhat the user is looking for, e.g. 'AI SDR pilot kill criteria'.
cursorNoOpaque `next_cursor` from the previous call. Fetches the following page with the same query and filters.
offsetNoHow many ranked matches to skip before this page. Default 0. Ignored when `cursor` is given.
categoryNoRestrict to one category: article/issue pillar, playbook or prompt team, skill task, tool or ledger category. Case insensitive. Example: 'revops'.
tag_matchNoHow to apply `tags`. 'all' (default) keeps items carrying every tag. 'any' keeps items carrying at least one.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYes
queryYes
offsetYes
filtersYes
hasMoreYes
resultsYes
returnedYes
nextCursorYes
nextOffsetYes
countsByKindYes
totalMatchesYes
availableFiltersYes
indexedDocumentsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "availableFilters": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "categories": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "tags": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "categories",
      +        "tags"
      +      ],
      +      "type": "object"
      +    },
      +    "countsByKind": {
      +      "additionalProperties": {
      +        "type": "number"
      +      },
      +      "propertyNames": {
      +        "type": "string"
      +      },
      +      "type": "object"
      +    },
      +    "filters": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "category": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "kind": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "tagMatch": {
      +          "type": "string"
      +        },
      +        "tags": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "category",
      +        "tags",
      +        "tagMatch"
      +      ],
      +      "type": "object"
      +    },
      +    "hasMore": {
      +      "type": "boolean"
      +    },
      +    "indexedDocuments": {
      +      "type": "number"
      +    },
      +    "limit": {
      +      "type": "number"
      +    },
      +    "nextCursor": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "nextOffset": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "offset": {
      +      "type": "number"
      +    },
      +    "query": {
      +      "type": "string"
      +    },
      +    "results": {
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "category": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "excerpt": {
      +            "type": "string"
      +          },
      +          "kind": {
      +            "type": "string"
      +          },
      +          "path": {
      +            "type": "string"
      +          },
      +          "tags": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "kind",
      +          "title",
      +          "path",
      +          "url",
      +          "category",
      +          "tags",
      +          "excerpt"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "returned": {
      +      "type": "number"
      +    },
      +    "totalMatches": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "filters",
      +    "totalMatches",
      +    "returned",
      +    "offset",
      +    "limit",
      +    "hasMore",
      +    "nextOffset",
      +    "nextCursor",
      +    "countsByKind",
      +    "results",
      +    "availableFilters",
      +    "indexedDocuments"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering safety. The description adds valuable behavioral details: results are ranked and stable for the same query and filters, pagination uses cursor or offset, and it explains the exact output shape (matches, totalMatches, countsByKind, availableFilters, nextCursor/hasMore). This goes well beyond 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 long but highly structured: it opens with the purpose and resource list, then covers filters, paging, output, examples, and a usage hint. It front-loads the core scope and is organized clearly, avoiding fluff. For a tool with 8 parameters, this level of detail is justified, though it could be slightly tightened.

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?

Given the tool's complexity, the description covers all aspects an agent needs: what it searches, how to filter, how to page, what results look like, and when to use it. The output schema is also present, but the description independently explains the returned fields. It is complete for a read-only search tool.

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 schema already documents every parameter. The description adds meaning through concrete JSON examples that illustrate filter combinations, tag_match semantics, and paging usage, which helps agents construct valid calls more accurately than the schema alone. It does not fully compensate for a coverage gap (none exists), but it enriches understanding, so a 4 is appropriate.

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?

The description states a specific action ('Search every public resource ... in one call') and enumerates all resource types it covers, distinguishing it from sibling tools like get_playbook or search_tools. It also clarifies it is a cross-resource search, so an agent can immediately tell it apart from more targeted tools.

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?

It explicitly says 'Use this first when you do not know which resource type answers the question', giving a clear directive for when to invoke this tool over alternatives. While it doesn't name specific siblings, the instruction is unambiguous and sufficient for routing.

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.

Resources