Skip to main content
Glama

Server Details

Search, read and cite Jan Brennenstuhl's essays on AppSec, identity and agent identity.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: retrieving a single entry, listing findings, listing topics, and performing full-text search. The overlap between search_site and get_entry is a natural discovery-vs-retrieval distinction, not ambiguity.

Naming Consistency5/5

All four tools follow a consistent verb_noun snake_case pattern: get_entry, get_findings, list_topics, search_site. This makes the surface predictable and easy to scan.

Tool Count5/5

Four tools is well-scoped for a read-only personal-site content server. Each tool covers a meaningful capability without redundancy or bloat.

Completeness4/5

The surface covers discovery via search and topics, retrieval via get_entry, and findings via get_findings. A minor gap is the lack of a direct list/catalog operation for entries, requiring search or topic counts as a workaround.

Available Tools

4 tools
get_entryRead an entryA
Read-only
Inspect

Returns the full Markdown of one entry, with front matter (dates, review status, license). Accepts a catalog id such as jb-jwks or a canonical URL.

NameRequiredDescriptionDefault
idYesCatalog id or canonical URL

TDQS

A3.9/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the bar is lower. The description still adds real value by disclosing the return shape (full Markdown plus front matter with dates, review status, license), which the annotations do not convey; it only omits what happens when the id is missing.

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?

Two sentences, zero filler: the return payload is stated first, the accepted input forms second. Every clause earns its place and nothing is repeated from annotations.

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?

For a single-parameter read tool with no output schema, the description supplies exactly what the agent needs: what comes back and what inputs are valid. Only edge-case behavior (unknown id, malformed URL) is left unstated, which is a minor gap given the simplicity.

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 a baseline of 3 applies, but the description goes beyond the terse schema text by naming a concrete example id ('jb-jwks') and reiterating that a canonical URL is acceptable. That concretely disambiguates the accepted input forms.

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?

States a specific verb ('returns') and resource ('full Markdown of one entry'), and the singular scope makes it separable from search_site, list_topics and get_findings without opening a schema. It stops short of explicitly naming which sibling to use instead, so it falls just shy of a 5.

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?

Usage is only implied: an agent can infer this is a direct single-item lookup rather than a search or listing. There is no explicit statement of when to prefer this over search_site, nor any prerequisite or failure condition for an unknown id.

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

get_findingsGet quotable findingsB
Read-only
Inspect

Lists findings with their anchor URL, source and review status. Filter by entry id or by words in the finding.

NameRequiredDescriptionDefault
limitNo
queryNo
article_idNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds value by enumerating return fields (anchor URL, source, review status) in the absence of an output schema, but says nothing about the 50-item cap, pagination, or ordering behavior.

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?

Two short sentences with no filler; the returned fields are front-loaded and the filter modes follow immediately. Nothing could be cut without losing information.

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

Completeness3/5

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

With no output schema, the field enumeration is genuinely helpful, and readOnly annotations cover safety. However, an agent still lacks the result cap (limit max 50), default behavior when no filter is given, and any disambiguation from the three sibling tools.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the parameter burden. It loosely maps 'words in the finding' to query and 'entry id' to article_id (with a confusing name mismatch), but the limit parameter and its maximum of 50 are entirely undocumented in both schema and description.

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?

States a specific verb ('Lists') and resource ('findings') and even names the fields returned (anchor URL, source, review status). It does not differentiate itself from siblings like get_entry or search_site, and the phrase 'entry id' does not match the actual parameter name article_id, which slightly muddies the resource identity.

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

Usage Guidelines2/5

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

The description explains two filtering modes ('by entry id or by words in the finding') but never says when to choose this tool over get_entry, list_topics, or search_site, nor any exclusions. An agent must infer selection from the tool name alone.

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

list_topicsList topicsB
Read-only
Inspect

The site's six topics with descriptions, URLs and entry counts.

NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds behaviorally useful detail beyond that: the result is a bounded set of six topics and each item carries descriptions, URLs, and entry counts — effectively substituting for the absent output schema and telling the agent no pagination is needed.

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?

A single short sentence with no filler, and the resource is front-loaded. It loses a point only because the fragmentary phrasing omits the action verb, which would have cost nothing to include.

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?

For a zero-parameter read tool with no output schema, the description covers the essentials: what is returned and that the result set is fixed at six. It stops short of stating the response shape precisely or any caveat about topic data being static, but nothing needed to call it 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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly avoids inventing parameters that do not exist.

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

Purpose3/5

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

The description identifies the resource ('the site's six topics') and the fields returned (descriptions, URLs, entry counts), which sets it apart from siblings like get_entry and get_findings. However, it is a bare noun phrase with no verb, so the agent must infer that this is a listing/retrieval operation rather than something else.

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

Usage Guidelines2/5

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

There is no statement of when to call this tool versus get_entry, get_findings, or search_site, and no exclusions or prerequisites. For a zero-parameter tool the invocation is obvious, but the routing decision between this and search_site is left entirely to inference.

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

search_siteSearch the siteA
Read-only
Inspect

Full-text search over essays, field-guide entries, talks, projects, the glossary and the profile page. Returns titles, canonical URLs and the best matching section.

NameRequiredDescriptionDefault
kindNoOptional content type
limitNoMaximum results, default 8
queryYesWords to search for
topicNoOptional topic id, see list_topics

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine value by disclosing the return shape ('titles, canonical URLs and the best matching section') and that ranking picks a best section, but says nothing about ranking behavior, empty-result handling, or how the section snippet is chosen.

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?

Two sentences, zero filler, front-loaded with the capability and closed with the return shape. Nothing repeats the schema or wastes tokens.

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?

With no output schema, the description carries the burden of explaining returns and does so adequately. Read-only safety is covered by annotations and all four params by the schema, so the only real gap is behavior on no matches and how results are ordered.

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 description coverage is 100%, so every parameter including the kind enum and limit bounds is already documented. The description's content-type list mirrors the kind enum and adds no new semantic detail about query syntax, topic id format, or the interaction between kind and topic, so baseline 3 applies.

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 names a specific verb (full-text search) and enumerates the exact corpus searched, including the return shape (titles, canonical URLs, best matching section). It indirectly distinguishes itself from get_entry by framing results as summaries rather than full entries, though no sibling is named.

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?

Usage is implied — an agent can infer this is the entry point for keyword queries and that get_entry fetches a single item — but the description never states when to prefer this over get_entry or how it relates to list_topics for the topic filter. No explicit exclusions or alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedget_entry
    • First observedget_findings
    • First observedlist_topics
    • First observedsearch_site

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to find, read, and cite digitized primary sources published via IIIF — searching several institutions' catalogues, resolving item pages to manifests, pulling page images or regions for vision models, and generating citations with rights and provenance. Runs read-only over stateless Streamable HTTP with no login.
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to search, retrieve, and list open-licensed documents with verifiable provenance, attaching sha256, DOI, and OpenTimestamps proof to every response.
    643 npm
    Creative Commons Zero v1.0 Universal
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources