athena-tools
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a unique, well-defined purpose in the athenahealth integration domain. No two tools have overlapping functionality; even closely related tools like athena_explain_view and athena_search_kb are clearly differentiated by scope and use case.
Naming Consistency5/5All tools follow a consistent 'athena_verb_noun' pattern (e.g., athena_list_candidates, athena_explain_view). No mixing of naming conventions, making tool selection predictable for both agents and humans.
Tool Count5/5With 12 tools, the collection is appropriately scoped for the domain. Each tool provides a distinct, necessary function without redundancy or unnecessary breadth, balancing coverage with simplicity.
Completeness5/5The tool set covers the full lifecycle of athenahealth knowledge and error handling: discovery (list_candidates, search_kb), explanation (explain_view, explain_join, explain_workflow), diagnosis (diagnose_error), suggestions (suggest_workflow), feedback (submit_feedback, review_candidate), reporting (report_safety_flag, report_outcome), and session management (command_start). No critical gaps are apparent.
Average 4.1/5 across 12 of 12 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 12 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
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.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
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
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the tool's diagnostic nature, the types of errors handled, and the output (causes, fixes, KB links). It implies a read-only operation with no side effects, which is transparent. However, it does not mention any limitations or edge cases.
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?
Three sentences, each contributing unique value: first sentence states the main function, second describes the output, third lists supported error categories. No redundancy or unnecessary details. Front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the tool's purpose, input, output, and error scope. No output schema exists, but the description mentions what is returned. It does not specify whether all error types are covered or mention related sibling tools for context, but overall it is sufficient for understanding the tool's functionality.
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 both parameters described. The description adds no additional information about parameter usage beyond what the schema provides (errorMessage and context). Baseline 3 is appropriate.
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 diagnoses athenahealth API or Snowflake DataView errors. It specifies the verb 'diagnose' and the resource 'error', and lists the types of errors handled (HTTP status codes, error strings, OAuth/scope, SQL errors). This distinguishes it from sibling tools like athena_search_kb, which is a general knowledge base search.
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?
No explicit guidance on when to use this tool versus alternatives. The description implies it is for error diagnosis, but does not mention when not to use it or provide comparisons to siblings like athena_explain_view or athena_search_kb.
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 that the tool lists candidates and mentions the need for human approval, but does not specify permissions, rate limits, or behavior when the queue is empty. For a read-only listing tool, this is adequate but could be more transparent.
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 two sentences that efficiently convey the core function and context. No unnecessary words, and the structure is front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no nested objects, no output schema), the description is sufficient. It explains the purpose and the nature of returned items. However, it could optionally mention the default sort order or that the list is from the review queue.
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 parameters limit and status already well documented (defaults, enums, ranges). The description does not add new meaning beyond what the schema provides, 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists pending knowledge base update candidates from the review queue. It explains what these candidates are (high-impact discoveries) and that they need human approval, distinguishing it from siblings like athena_review_candidate.
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?
The description implies usage for listing pending items needing approval but does not explicitly state when to use this tool versus alternatives (e.g., athena_review_candidate) or when not to use it. No exclusions or context provide guidelines.
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 provided, so description carries full burden. It mentions result structure (confidence score, source tier) but does not disclose behavioral traits like rate limits, authentication, or destructive potential. Adequate but not rich.
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?
Two sentences with no wasted words. First sentence defines purpose, second adds key result features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters, no output schema, and no annotations, description covers purpose, result types, and result attributes. Could elaborate on search behavior, but sufficient for a search tool.
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 already describes all 3 parameters with 100% coverage. Description adds no extra meaning beyond what schema provides, so baseline 3.
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?
Description clearly states 'Search the Athena Tools knowledge base' and lists specific return types (views, columns, API endpoints, etc.). Distinguishes from sibling tools which are more specific (explain, diagnose, etc.).
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?
Implied usage as a general knowledge search, but no explicit guidance on when to use this vs. sibling tools like athena_explain_view or athena_diagnose_error.
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?
With no annotations, the description carries the burden. It mentions non-blocking and one-call limits, but does not describe what the tool does besides reporting (e.g., no side effects, idempotency, or error handling). Basic but not comprehensive.
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?
Three sentences, front-loaded with purpose, no wasted words. Every sentence adds value.
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 output schema and 7 parameters (all described in schema), the description lacks information about what the tool returns or confirms (e.g., success indicator). Adequate but could be more complete.
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 coverage is 100% with clear descriptions. The description adds context about measuring value, but does not enhance parameter semantics beyond the schema. Baseline 3 is appropriate.
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 verb 'report' and resource 'outcome of an athenahealth-related interaction', and specifies when to call it ('after producing an artifact'). It is distinct from sibling tools, which are query/diagnosis/feedback tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use ('after producing an artifact'), enforces 'one call per logical interaction', and notes it is non-blocking. It does not explicitly list when not to use, but the usage is well-scoped.
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?
Describes returned info types but no annotations exist. Doesn't disclose side effects, auth needs, or rate limits; acceptable for a read-only info tool but could be more thorough.
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?
Two sentences, front-loaded with action and resource, then usage guidance. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key return types despite no output schema; could mention format but sufficient for a param-explanation tool with good schema coverage.
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 covers all 4 params with descriptions; tool description adds context (e.g., examples for viewName) but doesn't significantly enhance beyond schema.
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?
Clearly states it returns detailed info about a Snowflake DataView, listing specific categories (description, columns, enums, FKs, gotchas). Distinguishes from siblings like athena_explain_join.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises using it before writing SQL against any view. Doesn't mention when not to use, but context is clear.
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?
With no annotations, the description should disclose side effects. It describes the output but doesn't explicitly state the tool is read-only or non-destructive, which is important for an explanation tool. This is an adequate but incomplete disclosure.
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 concise, front-loaded with the main purpose, and every sentence adds value: output details, examples, and usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description covers core semantics and usage context. It does not mention return format or limitations, but the information provided is sufficient for basic understanding.
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%, and the description's parameter info ('Name of the workflow...') mirrors the schema exactly. No additional meaning is added beyond what the schema already provides.
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 explains a named workflow, listing specific outputs like steps, API calls, and Snowflake views. It distinguishes from sibling tools like athena_explain_view and athena_explain_join by focusing on workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using the tool before building automation to understand intended behavior and avoid common mistakes. While it doesn't mention when not to use it, the context is clear enough.
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?
With no annotations provided, the description must fully convey behavioral traits. It discloses that the tool suggests sequences and flags anti-patterns, clearly indicating a read-only advisory function. It does not mention side effects, authentication needs, or rate limits, but the nature of the tool suggests no destructive actions. The description is adequate but could be more explicit about its non-destructive status.
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 two sentences long, front-loading the core purpose and then adding specific value about anti-patterns. Every sentence adds unique information without redundancy. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (suggesting API sequences, views, anti-patterns) and the lack of an output schema, the description provides a reasonable overview of what the tool returns. It could be enhanced by mentioning the output format (e.g., structured list or markdown), but the current description is largely complete for an advisory tool. Sibling tools are diverse, so this tool's role is clear.
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 coverage is 100%, so the description does not need to compensate for missing parameter definitions. The description provides an example for 'goal', adding contextual value beyond the schema's description. However, it adds no extra semantics for 'context' beyond its optional nature. Therefore, it meets the baseline of 3.
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 function: given an integration goal, it suggests recommended API sequences, required Snowflake views, anti-patterns, and warnings. It distinguishes from sibling tools like athena_explain_workflow by focusing on integration planning and suggesting sequences rather than just explaining workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly indicates when to use the tool: when the user has an integration goal. It implies usage for planning integrations and avoiding anti-patterns. However, it does not explicitly state when not to use it or mention alternatives (e.g., athena_explain_workflow for general workflow explanations), which would strengthen guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key effects: approval promotes to KB with elevated confidence, rejection marks with reason. This is adequate for a review action, though it lacks details on reversibility or required permissions.
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?
Two sentences, no wasted words, front-loaded with the main action. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description sufficiently explains the two outcomes and the meaning of the parameters. It does not mention any permissions or state prerequisites, but for a straightforward review tool, this is nearly complete.
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 coverage is 100%, so baseline 3. The description adds minimal extra meaning beyond the schema—mainly connecting `candidateId` to `athena_list_candidates`. The note parameter is explained in the schema, not the main description.
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 action ('Approve or reject') and the resource ('pending knowledge base update candidate'), with distinct outcomes for each decision. It distinguishes from sibling `athena_list_candidates` which only lists candidates, not reviews them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a candidate needs a decision, and the parameter description links `candidateId` to `athena_list_candidates`, providing a clear prerequisite. However, it does not explicitly state when not to use the tool or compare against other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that low-risk patterns are automatically merged and high-risk patterns are queued for review—important behavioral traits. No destructive actions are mentioned, and no contradictions exist.
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 concise—only 4 sentences—yet conveys the purpose, usage timing, and behavioral details. It is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters (3 required) and no output schema, the description covers purpose, when to use, and behavioral traits well. It omits return value details, but this is acceptable for a feedback submission tool.
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 input schema has 100% coverage with detailed descriptions for all 9 parameters. The tool description does not add significant extra meaning beyond what the schema already provides, so a baseline of 3 is appropriate.
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: submit feedback about athenahealth interaction outcomes to help the knowledge base learn. It uses a specific verb 'submit' and resource 'feedback', and distinguishes from siblings like athena_report_outcome by describing the automatic merging of low-risk patterns and queuing of high-risk patterns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to call this after resolving an issue (success or failure), which is clear guidance. It doesn't explicitly state when not to use it or name alternatives, but the context is well implied.
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 full burden. It discloses that the tool returns a session ID and must be called once per invocation. It does not mention any side effects, destructive behavior, or idempotency. For a marker tool, this is adequate but lacks some detail.
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?
Two sentences, no wasted words. Front-loaded with the core action. Each sentence provides essential information about usage, return value, and pairing with another tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description correctly reports the return type (session ID) and its downstream use. It covers constraints (one call per invocation, applicable commands) and is sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds valuable context: for 'command' it clarifies format and special case 'ad_hoc'; for 'argSummary' it explains non-PII and categorical nature. This significantly aids correct parameter usage.
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: 'Mark the start of a slash command invocation.' It specifies the verb 'mark' and the resource 'start of a slash command invocation', and lists example commands. It distinguishes from the sibling 'athena_report_outcome' by noting the returned session ID is passed to it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call this as the first action in every athena slash command' and lists specific commands. It also says 'One call per invocation'. However, it does not explicitly state when NOT to use this tool versus alternatives among siblings, though the unique role is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/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 that the tool is non-blocking and each flag requires one call. It also implies the tool is a logging action by describing what to include (rule, severity, etc.). It does not mention auth requirements or data persistence, but for a simple logging tool this is sufficient.
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—two sentences with no redundant words. The purpose is front-loaded ('Record that...'), followed by usage guidance ('Call this every time...'), and constraints ('One call per flag. Non-blocking'). Every sentence adds essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple logging tool with no output schema, the description is complete. It explains the tool's purpose, when to use it, what data to include (via example parameters), and behavioral notes (non-blocking, one call per flag). No gaps remain that would leave an agent unsure of how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so parameters are already documented. The description adds semantic value by specifying the canonical set for 'rule' and providing example anti-patterns, clarifying that 'context' must contain no PII, and explaining severity levels. This exceeds the schema's descriptions and helps the agent choose correct values.
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 states the specific action (record/proactively report) and resource (athenahealth safety rule firing). It clearly distinguishes from sibling tools by being a logging mechanism for safety rule flags, while siblings are for listing, searching, explaining, etc. The phrasing 'Record that a proactive athenahealth safety rule fired during this interaction' is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to call the tool: 'every time you flag an anti-pattern from the SKILL.md safety rules'. It also specifies 'One call per flag' and 'Non-blocking — never delays your response.' It does not explicitly state when not to use it, but the guidance is clear enough to avoid misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses outputs (join cols, confidence, warnings, SQL snippet) and mentions specific warnings (CONTEXTID, multi-tenant security). No annotations exist, so description carries full burden; it could note whether the operation is read-only or if it modifies state, but 'explain' implies read.
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?
Two sentences with no fluff: first sentence states purpose and output, second sentence provides critical usage guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and two simple string parameters, the description covers what the tool does, what it returns, and when to use it. Could mention prerequisites (e.g., views must exist), but overall sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters (sourceView, targetView) have full schema coverage with descriptions and examples in the description text. The examples ('APPOINTMENT', 'DEPARTMENT') add clarity beyond the schema.
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 it explains join between two views, listing specific outputs (join columns, confidence, warnings, SQL snippet). This verb+resource combination is distinct from siblings like athena_explain_view which handles single views.
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?
Explicitly advises 'Always call this before writing a JOIN to avoid silent data loss from incorrect key usage.' This provides clear when-to-use and a strong consequence for not using the tool.
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/nous-ehr/claude_pallas_extension'
If you have feedback or need assistance with the MCP directory API, please join our Discord server