a207-followup-mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation4/5
Each tool targets a distinct function: scheduling, reading records, computing adherence, and retrieving PEW history. There is slight potential confusion between get_followup_records and get_pew_history since both are reads related to the timeline, but the descriptions clarify their specific scopes.
Naming Consistency5/5All tool names follow a consistent verb_noun snake_case pattern (schedule_followup, get_followup_records, get_adherence_score, get_pew_history). The 'get_' prefix is uniformly used for read operations, with no mixed conventions or camelCase deviations.
Tool Count5/5Four tools cover the core follow-up workflow—creating plans, reading records, scoring adherence, and aggregating PEW data. This is well-scoped for the server's purpose and falls within the ideal 3-15 range.
Completeness3/5The server supports creating and reading follow-up plans/records but lacks update/delete operations for plans, which are common lifecycle needs. It also has no tool to record completed follow-ups, leaving notable gaps in the follow-up management cycle.
Average 3.8/5 across 4 of 4 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 3 commits in the last 12 weeks
- Last stable release on
- 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
- 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 adds useful behavioral context: the expected input shape ({date, score, level}), the architectural role (facade per ADR-007, storage owned by M3), and a design constraint (zero cross-package imports). However, it does not disclose whether the operation is read-only, whether merging into the timeline has side effects, or failure behavior — '并入' (merge) is ambiguous about mutation.
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 compact — three short sentences with the core purpose front-loaded ('PEW 历史聚合 facade'). It avoids filler. The ADR-007 reference and '零跨包 import' are niche implementation details that add limited value for an agent, but they are brief and do not significantly bloat the text.
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?
An output schema exists, so return values are covered elsewhere, and the description adequately conveys the data contract and architectural role. However, with no annotations and 0% schema coverage on parameters, the missing usage guidance and the ambiguous side-effect profile of the merge operation leave the description incomplete for safe agent invocation.
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?
With 0% schema description coverage, the description must compensate, and it partially does: it documents pew_history as the M3 get_pew_history output with entries of {date, score, level}, adding meaning beyond the schema's generic 'array of objects with additionalProperties'. However, patient_id is left unexplained, and it is unclear when pew_history should be supplied versus left as the default null.
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 states a specific function: aggregate PEW history data from M3 (list of {date, score, level}) into a unified follow-up timeline, which gives a clear verb+resource. It is contextually distinct from siblings like schedule_followup and get_adherence_score. However, the architectural jargon 'facade,' the ADR-007 reference, and the mismatch between the name 'get_pew_history' (suggesting retrieval) and the described merge/aggregation behavior introduce some ambiguity.
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 when-to-use guidance, no alternatives named, and no exclusions are provided. The only implicit hint is '接受 M3 get_pew_history 的输出' (accepts M3 get_pew_history output), which suggests it is for integrating M3-sourced data, but the description never says when to choose this tool over siblings or what prerequisites must be met.
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 discloses the side effect of recording, which conflicts with the name 'get', and provides the calculation method. However, it lacks details on idempotency, permissions, or what happens on repeated calls.
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 compact three-sentence summary covering purpose, formula, and thresholds without waste. Every sentence contributes to understanding the tool.
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?
The core calculation logic is fully specified, but usage guidance, complete parameter descriptions, and side-effect clarity are missing. An output schema exists, so return values are not required, but selection and invocation context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains the three ratio parameters and their range, but does not describe the 'caller' parameter or explicitly map patient_id to schema fields, leaving gaps.
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 calculates and records an adherence score, with explicit formula and grading thresholds. It is distinctly different from sibling tools (followup scheduling, records, PEW history).
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 for adherence scoring, but no explicit when-to-use or alternatives are mentioned. The description notes M4 owns the adherence data, which gives context but does not exclude other tools.
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 a key behavioral trait: role-dependent filtering (doctor notes stripped for patient/family). It also explicitly labels the operation as 'read' and notes all roles can read, implying non-destructive behavior. Lacks details like pagination or error handling, but the critical access-control behavior is well-covered.
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 only two sentences, front-loaded with the core action and read-only nature, then adding the role-based detail. Every sentence earns its place with no redundancy or filler.
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 output schema exists and parameters are simple, the description covers the essential context: what is read, who can read what, and the fact it's a read operation. It doesn't explain the 'plan timeline' fully, but that's a minor omission for a read tool with an output schema.
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 0%, so the description must add meaning. It does explain the 'caller' parameter implicitly via role lists (clinical vs patient/family) and its effect on visibility. However, 'patient_id' is not explicitly described, and the mapping between parameter names and description is indirect, leaving some ambiguity.
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 reads follow-up records and plan timeline, with an explicit 'read' label and role-based access. It distinguishes itself from siblings like schedule_followup (write) and get_adherence_score/get_pew_history by focusing on reading follow-up records as a distinct resource.
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 provides clear context on when to use this tool (to read follow-up records) and explains visibility rules based on caller role. It doesn't explicitly mention alternatives/exclusions, but the role scoping makes the intended use clear enough.
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, but the description discloses key behavioral traits: it's a write operation with restricted roles, automatically computes follow-up frequency per KDIGO 2024, and defines field-level visibility (plan_summary visible to all, note_to_clinician restricted). It also states the return includes next_due_date. It does not mention error handling, idempotency, or auth requirements, but covers critical behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core purpose and role restriction, followed by a compact parameter legend. Every clause adds value with no fluff.
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 a write tool with 8 parameters and no annotations, the description covers purpose, access control, algorithm, key parameters, and return value. The output schema is present, so return details are covered. Missing edge-case behavior and some parameter meanings reduce completeness slightly, but it's strong overall.
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 0%, so the description must compensate. It explains ckd_stage allowed values (G1-G5D), anchor_date format, and visibility semantics for plan_summary and note_to_clinician. However, it leaves caller, visit_type, albuminuria_stage, and patient_id unexplained, so coverage is partial.
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 '创建' (create) and resource '随访计划' (follow-up plan), explicitly noting it is a write operation ('写') with role restrictions. It differentiates from sibling read tools (get_followup_records etc.) by its creation focus and mentions automatic KDIGO calculation.
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 provides access context (only doctors/nutritionists/orchestration layer) and indicates the tool is for creating follow-up plans with automatic frequency calculation. It does not explicitly mention when not to use it or compare to siblings, but the write-vs-read distinction is implicit. The 'MX 收口' note clarifies scope.
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/ayeyouok/a207-followup-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server