Skip to main content
Glama

search_blog

Read-onlyIdempotent
Search the Sovereign AI Blog for articles matching a natural language query,
optionally filtered by tag and sorted by relevance or date.

Behaviour matrix:
  - query='', sort=*           -> list newest-first, optionally tag-filtered
  - query!='', sort=relevance  -> TF-IDF ranked, optionally tag-filtered
  - query!='', sort=date_desc  -> TF-IDF filtered (score > 0.001), then sorted by date

Pure read-only, deterministic for a given KB snapshot.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nNoMaximum number of results to return
tagNoOptional tag filter (e.g. 'setup', 'fixes', 'strategy'). Only articles with this tag are considered. Use list_tags to discover available tags.
sortNoResult ordering. 'relevance' uses TF-IDF score (default for non-empty query). 'date_desc' sorts newest first (default behaviour when query is empty). When query is empty, 'relevance' is treated as 'date_desc'.relevance
queryNoNatural language search query (e.g. 'flashinfer OOM on GB10'). Multi-word queries are tokenized and TF-IDF ranked. Pass empty string to list articles without ranking by relevance.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial value beyond the annotations by stating 'Pure read-only, deterministic for a given KB snapshot' and detailing the exact ranking/filtering behavior, including the TF-IDF threshold of 0.001. This transparently discloses algorithm behavior and side-effect-free nature, complementing the readOnlyHint and idempotentHint annotations without contradiction.

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?

The description is compact yet information-dense, using a clear behavior matrix to communicate complex conditional behavior in a highly scannable format. Every sentence and bullet adds value, with no redundant filler or repetition of annotation details.

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 moderate tool complexity, the presence of a full input schema, output schema, and annotations, the description is sufficiently complete. The behavior matrix fully defines the query/sort/tag interaction space, so an agent can correctly select and invoke the tool without additional clarification.

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?

With 100% schema description coverage, baseline is 3. The description goes further by explaining how query and sort interact through the behavior matrix, clarifying that an empty query forces date ordering and that non-empty queries use TF-IDF scoring. This adds contextual semantics beyond the individual parameter descriptions.

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 opens with a specific verb and resource: 'Search the Sovereign AI Blog for articles', and clearly states the query, tag filtering, and sorting capabilities. This makes the tool's purpose immediately clear and distinguishes it from sibling tools like get_article and list_tags, which are not search-oriented.

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 behavior matrix gives explicit conditional guidance for when to use different sort modes (e.g., empty query lists newest-first, non-empty query uses TF-IDF ranking). It also references list_tags in the schema for tag discovery, but the description itself does not mention when to prefer alternatives like get_article, so exclusions are not fully explicit.

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.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct function: SGLang config diagnosis versus blog article browsing (search, list tags, get article). No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern: diagnose_sglang, get_article, list_tags, search_blog.

Tool Count4/5

With 4 tools, the count is within the well-scoped range (3-15). However, the server mixes two separate domains, making the scope slightly thin.

Completeness3/5

The blog tools cover reading needs (search, list tags, get article), but the SGLang diagnostic tool is a single operation with no update or management tools. For a 'self-hosted-ai' server, broader AI operations are missing.