TexasVoice
Server Details
The Texas Voice strives to be an honest and trustworthy source of information about Texas politics and government.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4/5 across 6 of 6 tools scored.
search and search_articles both search content and may return overlapping results, while fetch and get_article both retrieve full text but differ by identifier type. Other tools like list_recent_articles and popular_content are clearly distinct.
Naming conventions vary: get_article and search_articles follow a verb_noun pattern, but search and fetch are bare verbs, and popular_content is a noun phrase. This mixed style is readable but not consistent.
With 6 tools, the count is well-scoped for a content publication server, covering search, retrieval, and listing without unnecessary bloat.
The core workflows of searching, fetching full text, and listing recent and popular articles are covered. Minor gaps include missing category or tag filtering, but the main reading experience is complete.
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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which fully cover the safety profile. The description adds the 'full text' outcome and the id-source constraint but does not disclose additional behavioral details such as return format, errors, or rate limits.
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, front-loaded sentence that conveys the action, the resource, and the required input without any redundant 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?
This is a simple tool with one parameter, rich annotations, and no output schema. The description fully covers what the tool does and how to obtain the id, making it sufficiently complete for an agent to select and invoke the tool 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 input schema provides a complete description of the `id` parameter ('Document id from search results'), achieving 100% coverage. The description merely restates this relationship, adding no extra meaning beyond the schema, so 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 uses a specific verb ('Retrieve') and resource ('full text of one document'), and distinguishes itself from sibling tools by specifying that the id must come from `search`. This makes the tool's purpose immediately clear and unique among the listed siblings.
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?
It explicitly states the id is the one returned from `search`, establishing a clear context for when to use this tool. However, it does not formally exclude other alternatives or mention when not to use it, so it is not a full 5.
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" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description adds marginal behavioral context. The phrase 'full clean text' usefully indicates the nature of the returned content, but no further traits are disclosed.
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 sentence, front-loaded with the action and resource. Every word contributes value with no redundancy or unnecessary detail.
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 one-parameter tool with strong annotations, the description is complete enough. It specifies the input format and output nature. Minor details like error handling or pagination are not needed given the scope.
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 coverage is 100%, and the description adds meaning beyond the schema by explaining that the slug is 'the last path segment of an article URL.' This helps the agent correctly construct the slug parameter.
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 clearly states the tool fetches the full clean text of one article by slug, distinguishing it from sibling tools that search or list articles. The verb 'Fetch' and specific resource 'full clean text of one article' provide unambiguous purpose.
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?
No explicit guidance on when to use this tool versus alternatives like search_articles or fetch. The slug-based identification implies use when you have a slug, but no context or exclusions are provided.
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) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the safety profile is known. The description adds the scope of 'recently published' and 'this publication,' but does not disclose ordering, pagination, or return format beyond what is implied. This is acceptable for a simple read-only list tool but adds minimal behavioral insight 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that leads with the action. It is concise with no redundant information, making it effortless for an agent to parse.
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 tool with one documented optional parameter and strong annotations, the description adequately conveys core functionality and scope. It could be slightly more complete by explicitly stating ordering or the contents of the returned list, but these are largely implied by 'most recently published' and the tool's purpose.
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 provides 100% coverage for the single 'limit' parameter, including default and max values. The description does not add any additional parameter meaning, so a 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?
Description uses a specific verb 'List' with a clear resource ('recently published articles') and scope ('from this publication'). This clearly distinguishes it from sibling tools like search_articles or 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?
No guidance is provided on when to use this tool versus alternatives such as search_articles or popular_content. The description lacks any explicit when-to-use or when-not-to-use context, leaving the agent to infer usage 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.
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) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds a key behavioral trait: the ranking is based on 'how often AI assistants have actually fetched them', which is not visible in annotations or the schema. No contradiction with annotations.
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: the first states the resource and ranking method, the second gives concrete usage examples. No fluff, front-loaded, and every part earns its place.
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 list tool with two optional parameters and strong annotations, the description covers the core function, ranking basis, and intent triggers. It does not explain return item structure, but no output schema exists and the title plus 'articles' imply a list, making this sufficient.
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 clear descriptions for 'days' and 'limit'. The tool description adds no additional parameter-level semantics beyond the ranking context, so baseline 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 clearly identifies the resource ('articles') and the specific purpose: returning the most-read/most-requested articles ranked by AI assistant fetch frequency. This distinguishes it from sibling tools like fetch, get_article, and list_recent_articles, which do not focus on popularity ranking.
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?
Provides explicit example queries: 'what is your most popular article', 'top reads', and 'to recommend what to read'. It gives clear when-to-use context but does not explicitly mention alternatives or exclusions, which would be needed for a 5.
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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety. The description adds return format (id, title, url) and indicates that full text requires a separate fetch call, which is useful behavioral context beyond the annotations. It does not mention pagination or side effects, but the annotations reduce the transparency burden.
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 two sentences, front-loaded with the action, and directly states purpose and return details. Every clause adds value, with no redundancy or filler. The structure is efficient and well-organized.
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 one-parameter read-only tool with strong annotations, the description covers the search action, return fields, and the next step (fetch). It lacks pagination/limit details and does not address the existence of 'search_articles' as a potential alternative, but overall it provides adequate context for a straightforward search tool.
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 parameter 'query' is fully described in the schema ('Search query'), and the description does not add additional meaning about query format, matching semantics, or syntax. With schema coverage at 100%, the baseline is 3, and the description adds no extra parameter-level insight.
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 clearly states the function as 'Search this site's content' and specifies the return fields (id, title, url). However, it does not differentiate from the sibling tool 'search_articles', which could imply a more specific scope. This is a clear purpose but lacks explicit sibling differentiation.
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 provides clear context: 'Search this site's content' and workflow guidance 'pass an id to fetch for the full text.' It implies a two-step process but does not explicitly mention when to use this tool over alternatives like 'search_articles' or exclude cases. No exclusions or alternative suggestions are given, so it stops short of a 5.
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 |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent, so safety is covered. The description adds meaningful context about return content ('best-matching titles, dates, canonical URLs, and short summaries') and implies relevance ranking, which goes beyond the schema and annotations.
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 states the core action and scope, the second details return values. No filler or redundancy; all information is essential.
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 search tool, the description covers purpose, return format, and is complemented by full parameter schemas and safety annotations. However, it lacks any guidance on when to use this versus the generic sibling 'search', leaving a minor completeness 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?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond 'by keyword' aligning with query; limit is already described in the schema. No additional parameter nuance is provided.
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 clearly states a specific verb and resource: 'Search this publication's articles by keyword.' It distinguishes from siblings like get_article (retrieve specific) and list_recent_articles (no keyword) by emphasizing keyword-based search.
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 the tool (keyword search on articles) but provides no explicit exclusions or mention of alternatives. The presence of a sibling 'search' tool creates potential ambiguity that is not addressed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceGTM signal intelligence suite for AI agents. Six tools: hiring signals, tech stack detection, company-to-LinkedIn resolution, ICP scoring, job board scanning, and a combined signals aggregator. Built for outbound sales workflows.117371MIT

industrylens-mcpofficial
Flicense-qualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.- Alicense-qualityCmaintenanceA Voice of Customer pipeline that cross-references feedback from calls, reviews, chat, and other sources to surface only corroborated patterns, routing actionable insights with exact customer quotes to the right people.MIT
- AlicenseAqualityAmaintenanceDetects hiring intent signals by scanning job boards for specific companies. Returns structured role data for outbound sales targeting.1761MIT