truthstack-mcp
Server Quality Checklist
Latest release: v2.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose with no overlap: checking interactions, explaining them, getting compound info, retrieving evidence, and searching compounds. The descriptions specify unique use cases, making misselection unlikely.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern (e.g., check_interactions, explain_interaction, get_compound_info, get_evidence, search_compounds). This uniformity enhances readability and predictability for agents.
Tool Count5/5With 5 tools, the server is well-scoped for its supplement-medication interaction domain. Each tool serves a specific, necessary function, avoiding bloat while covering key operations like search, retrieval, and analysis.
Completeness4/5The toolset covers core workflows: searching compounds, retrieving info, checking interactions, explaining them, and citing evidence. A minor gap might be the lack of a tool for managing or updating data, but the surface is largely complete for the stated purpose.
Average 3.3/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool returns a 'raw evidence bundle' for citation, but doesn't describe the return format (e.g., structured data, text), potential limitations (e.g., data freshness, availability), or any operational constraints (e.g., rate limits, authentication needs). This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of a single sentence that directly states the tool's output and purpose. There's no unnecessary elaboration, though it could be slightly more structured (e.g., separating output from usage). Every sentence earns its place by conveying core information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of retrieving evidence data (involving multiple data types like FAERS and CYP), no annotations, and no output schema, the description is incomplete. It lacks details on the return structure, data sources, reliability, or how the evidence bundle is formatted, which are critical for effective tool use in a medical/contextual domain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters ('supplement' and 'drug') clearly documented in the schema. The description doesn't add any parameter-specific details beyond what the schema provides, such as format examples or interdependencies. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: retrieving a 'raw evidence bundle' containing specific data types (FAERS counts, CYP data, research grades, label warnings) for citation purposes. It uses a specific verb ('get') and resource ('evidence bundle'), though it doesn't explicitly distinguish itself from sibling tools like 'get_compound_info' or 'search_compounds' which might also retrieve related information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance, only stating the tool is 'for citing sources.' It doesn't specify when to use this tool versus alternatives like 'get_compound_info' or 'search_compounds,' nor does it mention prerequisites, exclusions, or contextual triggers for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool's fuzzy search capability and ability to resolve misspellings, brands, and abbreviations, which adds some behavioral context. However, it doesn't disclose important traits like whether this is a read-only operation, performance characteristics, error handling, or what the output format looks like. For a search tool with zero annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise and well-structured in a single sentence. Every element earns its place: the core function ('Fuzzy search for supplement compounds'), scale context ('584 aliases across 95 compounds'), and key capabilities ('Resolves misspellings, brands, abbreviations'). There's zero waste or redundancy, making it easy to parse and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search with fuzzy matching), no annotations, and no output schema, the description provides adequate but incomplete context. It covers what the tool does and some behavioral aspects, but lacks guidance on usage scenarios, output format, error conditions, and performance characteristics. The description is sufficient for basic understanding but leaves important operational details unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with both parameters ('query' and 'limit') having clear descriptions in the schema. The description doesn't add any meaningful parameter semantics beyond what the schema already provides. It doesn't explain query syntax, search algorithms, or result ordering. The baseline score of 3 is appropriate when the schema does the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Fuzzy search for supplement compounds' specifies both the verb (search) and resource (supplement compounds). It distinguishes itself from siblings by focusing on search functionality rather than checking interactions, explaining interactions, getting detailed info, or retrieving evidence. However, it doesn't explicitly contrast with sibling tools, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it mentions capabilities like handling misspellings, brands, and abbreviations, it doesn't indicate when to choose this search tool over sibling tools like 'get_compound_info' or 'get_evidence'. There's no mention of prerequisites, typical use cases, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions what data is returned (interactions, research findings, aliases) but doesn't disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication needs, error handling, or response format. For a tool with no annotations, this leaves significant gaps in understanding how it behaves beyond basic output content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Get detailed compound profile') and lists key content areas without unnecessary words. Every part earns its place by specifying what the tool does, making it appropriately sized and well-structured for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (1 parameter, no output schema, no annotations), the description is minimally adequate. It states the purpose and output content but lacks details on behavioral aspects, error cases, or how it integrates with siblings. Without annotations or output schema, more context on return values or operational constraints would improve completeness, but it meets basic requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the parameter 'compound_id' fully documented in the schema as 'Compound ID from search_compounds'. The description adds no additional parameter semantics beyond what the schema provides. According to rules, with high schema coverage (>80%), the baseline is 3 even with no param info in the description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('detailed compound profile') with specific content areas (interactions, research findings, aliases). It distinguishes from siblings like 'search_compounds' (search vs. get detailed profile) and 'check_interactions' (check vs. get full profile), though not explicitly named. The purpose is specific but could more directly contrast with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the parameter 'compound_id from search_compounds', suggesting this tool is used after searching to get detailed info. However, there's no explicit guidance on when to use this vs. siblings like 'get_evidence' or 'explain_interaction', nor any exclusions or prerequisites stated. The context is clear but lacks direct alternatives or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: the tool returns a human-readable explanation (not raw data), includes mechanism, severity, and evidence summary in the output. However, it lacks details on error handling, rate limits, authentication needs, or response format specifics, leaving gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: one sentence directly states the purpose and output components. Every word earns its place with zero waste, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is moderately complete. It covers the purpose and output structure (mechanism, severity, evidence summary), but lacks details on error cases, response format, or integration with sibling tools. For a tool with 2 parameters and no structured output documentation, this leaves some operational gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear parameter descriptions in the schema. The description does not add any meaning beyond the schema—it does not explain parameter relationships, formatting, or examples. Since the schema fully documents the parameters, the baseline score of 3 is appropriate, as the description provides no extra value here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs and resources: 'Human-readable explanation of WHY an interaction is risky' specifies the action (explain), target (interaction), and outcome (risk explanation). It distinguishes from sibling tools like 'check_interactions' (likely checks for interactions) and 'get_evidence' (likely retrieves raw evidence) by focusing on explanatory output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'check_interactions' or 'get_evidence', nor does it specify prerequisites, exclusions, or contextual triggers for usage. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions what the tool returns (risk level, FDA adverse event data, CYP450 conflicts), it lacks critical behavioral details such as whether this is a read-only operation, potential side effects of incorrect use, data sources, or limitations in handling misspellings. For a safety-critical tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, followed by output details and usage guidelines in just two sentences. Every sentence earns its place by providing essential information without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a safety-checking tool with no annotations and no output schema, the description is moderately complete. It covers purpose, outputs, and usage context but lacks details on behavioral traits, error handling, or response format. This is adequate for basic use but leaves gaps for reliable agent operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (supplements and medications). The description does not add any additional meaning or context beyond what the schema provides (e.g., it doesn't clarify parameter interactions or usage examples). Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Check if supplements are safe with medications' with specific outputs (risk level, FDA adverse event data, CYP450 conflicts). It uses a precise verb ('Check') and identifies the resources involved (supplements and medications), making it distinct from sibling tools like 'explain_interaction' or 'get_compound_info'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Use when user mentions supplements + meds.' This provides clear, actionable guidance for the AI agent on the appropriate context for invoking this tool versus alternatives, though it doesn't name specific sibling tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TruthStack1/truthstack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server