Huffines for Comptroller AI Gateway
Server Details
MCP gateway for donhuffines.com: articles, search and full text. Read-only, no auth.
Verification
Glama connects to this endpoint on a schedule and records what it finds.
Last verified
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 6 tools
`search` and `search_articles` both perform keyword search and overlap for article content, while `fetch` and `get_article` both retrieve full text via different identifiers. `list_recent_articles` and `popular_content` are more distinct, but the overall surface has several boundary cases that could mislead an agent.
Names mix bare verbs (`fetch`, `search`), verb-noun forms (`get_article`, `list_recent_articles`, `search_articles`), and a noun phrase (`popular_content`). There is no consistent convention across the set, though the verbs used are generally understandable.
Six tools is within a reasonable range for a content gateway, and each area—search, retrieval, recent, popular—is represented. However, the duplicate search and fetch functionality means the set could be trimmed to four tools without losing much capability.
The server covers the main content-consumption workflow: discover via search/recent/popular, then retrieve full text. There are minor gaps (e.g., no explicit article-by-ID endpoint other than `fetch`, no listing beyond recent/popular), but agents can usually work around them.
Available Tools
6 toolsfetchFetch documentARead-onlyIdempotentInspect
Retrieve the full text of one document by the id returned from search.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Document id from search results |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the useful detail that it returns full text, but does not describe pagination, errors, or any other runtime behavior. This is adequate given the simple read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single well-structured sentence that states the action, the resource, and the origin of the parameter without any wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only tool with a rich annotation set and an output schema, this description is complete. It tells the agent exactly what to retrieve and where the id comes from; nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the single `id` parameter fully, so the description adds little beyond reinforcing that the id comes from search results. With 100% schema coverage, the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('Retrieve') and resource ('full text of one document'), and explicitly ties the id parameter to search results. It is clear enough to invoke correctly, though it does not explicitly distinguish itself from sibling tools like get_article or get_product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: use this tool with an id returned from `search`. It implies the intended workflow without explicitly naming alternatives or exclusion criteria, so it stops just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_articleGet articleARead-onlyIdempotentInspect
Fetch the full clean text of one article by its slug (the last path segment of an article URL).
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Article slug, e.g. "my-article-title" |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| date | No | |
| slug | Yes | |
| text | No | |
| title | Yes | |
| summary | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds the 'full clean text' detail and the slug derivation, but does not disclose potential errors, availability, or output shape beyond what annotations and output schema already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no filler. The core action, target resource, and key identifier detail are all front-loaded and immediately usable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple one-parameter retrieval tool with full annotation coverage and an output schema. The description provides all necessary context for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the slug parameter and gives an example. The description adds extra meaning by defining slug as 'the last path segment of an article URL,' which helps an agent construct the correct value without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch'), a precise resource ('full clean text of one article'), and the exact identifier ('slug'). It clearly distinguishes this from sibling search/list tools by focusing on a single article retrieval by slug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied: call this when you already have an article slug and need the article's text. However, it does not explicitly mention when not to use it or point to alternatives such as search_articles or list_recent_articles.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recent_articlesRecent articlesARead-onlyIdempotentInspect
List the most recently published articles from this publication.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 5, max 20) |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| articles | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, and non-destructive behavior. The description adds useful context about recency ordering and publication scope, but does not disclose details like pagination behavior or whether the list is sorted by publish date ascending/descending.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It states the verb, object, and scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with one optional parameter, an output schema, and rich annotations, the description is nearly complete. It covers the core action and scope; only explicit alternative guidance is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the only parameter (limit), so the schema already explains parameter semantics. The description adds no parameter-level detail, matching the baseline of 3 when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('most recently published articles') plus a scope qualifier ('from this publication'). This clearly distinguishes it from siblings like get_article, search_articles, and popular_content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when recently published articles are wanted), but it gives no explicit guidance on alternatives or when not to use it. Sibling tools like popular_content and search_articles could overlap, so some exclusion would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
popular_contentPopular articlesARead-onlyIdempotentInspect
The most-read / most-requested articles, ranked by how often AI assistants have actually fetched them. Use for "what is your most popular article", "top reads", or to recommend what to read.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Look-back window in days (default 30, max 365) | |
| limit | No | How many to return (default 10, max 25) |
Output Schema
| Name | Required | Description |
|---|---|---|
| articles | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral context by clarifying that 'popular' is based on actual AI assistant fetches, not generic page views or sales. This helps the agent interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first defines the tool's output and ranking basis, the second gives practical invocation examples. Every sentence earns its place and the definition is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two optional parameters, full schema coverage, an output schema, and annotations covering safety. The description fully explains what the tool returns and when to use it, so nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters (days and limit) fully documented in the schema. The tool description adds no parameter-specific detail beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('articles') and a specific ranking criterion ('ranked by how often AI assistants have actually fetched them'), which clearly distinguishes it from siblings like best_sellers or list_recent_articles. The verb and scope are clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: 'what is your most popular article', 'top reads', or recommending what to read. It provides clear context for when to invoke the tool, though it does not explicitly exclude alternatives like best_sellers for product popularity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch contentARead-onlyIdempotentInspect
Search this site's content. Returns matching documents (id, title, url); pass an id to fetch for the full text.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool readOnlyHint and idempotentHint, so the description doesn't need to restate safety. It adds useful behavior beyond annotations by specifying the result fields (id, title, url) and that full text requires a subsequent fetch call. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that front-load the action and result, then add the fetch pointer. Every clause earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity tool with one parameter, an output schema, and read-only/idempotent annotations, the description covers the essentials: what it searches, what it returns, and the next step. It could be more explicit about routing to the specialized search siblings, but that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, query, is already fully described in the schema as 'Search query' (100% coverage), so the description adds little new semantic detail. It does connect the query to searching 'this site's content,' but that is mostly redundant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Search' and resource 'this site's content' make the action and scope clear, and the return shape (id, title, url) tells an agent what kind of results to expect. It does not explicitly contrast with the sibling tools search_articles and search_products, so the differentiation is only by implied breadth.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use it to search the site's content, and after getting an id, pass it to fetch for full text. It does not name alternative search tools or state when not to use it, but the generic 'site's content' scope offers adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_articlesSearch articlesARead-onlyIdempotentInspect
Search this publication's articles by keyword. Returns the best-matching titles, dates, canonical URLs, and short summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results (default 5, max 20) | |
| query | Yes | Search keywords |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | No | |
| articles | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior; the description adds useful context beyond that by defining search semantics: keyword-based, scoped to 'this publication', and relevance-ranked ('best-matching'). It also reveals the response shape (titles, dates, URLs, summaries), which is useful even though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The operation is front-loaded, and the return summary is compact but informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter read-only search tool with a full output schema, rich annotations, and clear sibling differentiation, the description covers everything an agent needs for correct invocation. No missing prerequisites or side effects need disclosure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains both parameters ('query' and 'limit'). The description confirms keywords in prose but adds no new meaning for limit or formatting, so it stays at the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search'), a specific resource ('this publication's articles'), and a search method ('by keyword'), and enumerates the returned fields. In a group with sibling tools like search_products and get_article, this distinguishes itself as the article keyword-search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended use context clear: find articles matching keywords and get brief metadata. It does not explicitly name alternatives or exclusion conditions, but the target resource ('articles') and return fields make it obvious when not to use product-search or single-article siblings.
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.
6 tool updates
- First observed
fetch - First observed
get_article - First observed
list_recent_articles - First observed
popular_content - First observed
search - First observed
search_articles
Related MCP Connectors
MCP gateway for manoforstaterep.com: articles, search and full text. Read-only, no auth.
MCP gateway for thetexasvoice.com: articles, search and full text. Read-only, no auth.
MCP gateway for raconteur.com: articles, search and full text. Read-only, no auth.
MCP gateway for getbotlens.com: articles, search and full text. Read-only, no auth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server exposing the catalog of articles from moncompte.org. Enables AI agents to search and retrieve article content via tools.MIT
- AlicenseNot gradedqualityBmaintenanceRead-only MCP server for NEURA's AI news platform, enabling clients to list, search, and retrieve published articles in English and Italian.35 npmMIT
- FlicenseNot gradedqualityBmaintenanceRead-only MCP server that extracts the main content (article text, stripped of navigation and ads) from a given URL using trafilatura. Supports markdown or plain text output.-
- AlicenseAqualityBmaintenanceEnables MCP clients to search, read, create, preview, and edit Smartipedia encyclopedia articles with no API key or signup.770 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.