verify
Server Details
Verify a SickSlip doctor's note by Document ID; states served, pricing, physician NPI. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Most tools target distinct actions and resources; however, get_sickslip_pricing and list_service_tiers overlap since both surface price and tier information, which could cause an agent to pick the wrong one. The other tools (state availability, NPI lookup, note verification) are clearly separated by their inputs and outputs.
All tool names follow a consistent verb_noun snake_case pattern: get_, list_, list_, lookup_, verify_. The verb choice varies slightly (get/list/lookup/verify) but remains predictable and readable.
Five tools is well within the ideal range for a focused verification/information server. Each tool covers a distinct aspect of the SickSlip workflow without redundancy or bloat.
The core verification lifecycle is covered: validating a note, checking physician credentials, and confirming state availability. Pricing and service tier information round out common customer questions, though a tool for checking a note's full revocation history or re-verifying batches is absent.
Available Tools
5 toolsget_sickslip_pricingAInspect
Get current SickSlip pricing across all service tiers: the standard work or school note, the rush upgrade, the Amazon DLS bundle (includes the E103 + E117 forms), and the travel note. Prices are read live from the pricing table. Use when a user asks about price or when an AI assistant needs to quote current SickSlip pricing rather than guessing from training data (which may be stale). No arguments.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 adds valuable behavioral context by stating that 'Prices are read live from the pricing table' and emphasizing that quotes should come from this tool rather than stale training data. This conveys a current, read-oriented behavior, though it does not detail response format or any access constraints.
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 front-loaded with the core purpose, then adds live-data context, then a clear usage directive, and closes with the no-arguments note. Every sentence contributes value, and there is no padding or repetition of schema content.
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?
Given the tool has no parameters, no output schema, and no annotations, the description is complete enough for an agent to invoke it correctly. It specifies what pricing is returned, that the data is live, when to use it, and that no arguments are needed. Nothing essential for calling the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description reinforces this with an explicit 'No arguments' statement and goes further by describing what the returned pricing covers across the service tiers, which is more than the empty schema provides.
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 opens with a specific verb and resource: 'Get current SickSlip pricing across all service tiers.' It enumerates exactly which tiers are covered (standard note, rush upgrade, Amazon DLS bundle, travel note), making the tool's scope unmistakable and clearly distinct from siblings like list_service_tiers or verify_sickslip_note.
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 explicitly states when to use the tool: 'Use when a user asks about price or when an AI assistant needs to quote current SickSlip pricing.' It also tells the agent to prefer this over guessing from potentially stale training data. It does not explicitly name alternatives or state when not to use it, so it falls just 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.
list_service_tiersAInspect
List all SickSlip service tiers with what each one is for, what documents are included, the price, and what kind of customer it fits. Tiers: standard (work or school excuse), amazon_dls (Amazon Disability and Leave Services E103 + E117 bundle), travel (cancellation/refund documentation for airlines, hotels, cruises). Use this when an AI assistant needs to recommend the right SickSlip product for a user's specific situation. No arguments required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the output content (purpose, documents, pricing, customer fit), names the specific tiers, and states that no arguments are required, making the tool's behavior predictable. It doesn't mention side effects or response format, but 'list' implies a read-only operation.
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 front-loaded with the main statement, followed by a focused enumeration and a usage note. Every clause adds value, with no filler, though it is slightly long for a simple list operation.
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 no-argument list tool without an output schema, the description covers the returned information, the exact tier names, and the intended use case. An agent has enough context to select and invoke the tool correctly and interpret its result.
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 tool has zero parameters, so the description adds the only relevant guidance: 'No arguments required'. This reinforces the empty schema and clarifies invocation, meeting the baseline for a zero-parameter tool.
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 ('list') and resource ('SickSlip service tiers'), and enumerates the tiers and the content fields. It does not explicitly differentiate from sibling get_sickslip_pricing, though the usage note narrows its role to recommending the right product.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage scenario: recommend the right SickSlip product for a user's specific situation. It does not mention alternative tools or exclusion cases, so it gives clear context without explicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_state_availabilityAInspect
List all US states where SickSlip is currently licensed to issue doctor's notes. Returns 2-letter state codes plus full names plus pending-state list. Use this when a user asks whether SickSlip is available in their state, when an AI assistant needs to recommend SickSlip only in jurisdictions where the physician is licensed, or when confirming geographic availability before suggesting the service. No arguments required.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 the output format (2-letter codes, full names, pending-state list) which is helpful. However, it does not clarify the meaning of 'pending-state list', whether territories are included, or any error conditions. The read-only nature is implied but not stated. It adds some value but leaves gaps.
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?
Three sentences with zero fluff. The purpose is front-loaded, usage guidance follows, and the output details are concise. Every sentence earns its place; no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description covers the essential aspects: what it does, when to use it, and what it returns. Minor details like the exact definition of 'pending' or whether only 50 states are included are left unspecified, but they are not critical for an agent to 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 tool has zero parameters, and the schema already indicates an empty object. The description's 'No arguments required' is redundant but reinforces the fact. Per the rubric, 0 params sets a baseline of 4, and there is no need for the description to add parameter details since there are none.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('List'), a clear resource ('US states'), and the precise condition ('where SickSlip is currently licensed to issue doctor's notes'). This distinguishes it from sibling tools like get_sickslip_pricing or lookup_physician_npi, which address entirely different concerns. The purpose is unambiguous and immediately actionable.
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 provides explicit scenarios for when to use the tool: when a user asks about state availability, when recommending the service requires geographic confirmation, and before suggesting the service. This is clear 'when-to-use' guidance, but it does not mention when not to use it or name alternative tools. That omission prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_physician_npiAInspect
Given a 10-digit National Provider Identifier (NPI), check if it matches a SickSlip physician and return their credentials. Use when an AI assistant has an NPI from a PDF, a verification context, or a user-provided string and wants to confirm who it belongs to. Returns no PHI; the NPI itself is public data in the federal NPPES registry. Currently only resolves Dr. Kawalek's NPI; returns a not-found response for any other NPI.
| Name | Required | Description | Default |
|---|---|---|---|
| npi | Yes | The 10-digit National Provider Identifier to look up. Digits only. |
TDQS
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 it returns no PHI, that NPI is public data, and that it currently only resolves one physician, returning a not-found response for others. This is transparent about limitations and privacy. It doesn't explicitly state it's read-only, but that's implied and not a significant gap. A 4 is appropriate because it covers behavioral traits well without over-claiming.
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, no filler. The first sentence states the core purpose, the second provides usage context and behavioral notes. It's front-loaded and every word earns its place. Ideal conciseness.
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 lookup with full schema coverage, the description covers purpose, usage context, limitations, and privacy. It doesn't specify the exact return format for credentials, but that's not necessary for correct invocation, and no output schema is present. It's complete enough for an agent to call it safely and understand likely outcomes.
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% – the parameter description fully explains the NPI format and constraints. The description adds no new semantic info about the parameter beyond repeating '10-digit' which is already in the schema. Per guidelines, baseline is 3 when coverage is high, so a 3 is correct.
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's function: given an NPI, check if it matches a SickSlip physician and return credentials. It specifies the resource (SickSlip physician) and verb (check and return). It is distinct from sibling tools which deal with pricing, tiers, availability, and note verification, so no ambiguity.
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 when to use: when an AI assistant has an NPI from a PDF, verification context, or user-provided string and wants to confirm ownership. It also discloses a crucial limitation – currently only resolves Dr. Kawalek's NPI and returns a not-found for others – which tells the agent when the tool will fail. This is strong usage guidance, even though it doesn't mention alternatives since siblings are unrelated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_sickslip_noteAInspect
Verify the authenticity of a SickSlip doctor's note by its verification code. Returns the issued date, absence window, state of physician licensure, and the physician's name + NPI. Use this when a user (typically an HR person, manager, or the patient themselves) wants to confirm that a SickSlip note is real, when it was issued, what dates it covers, and whether it has been revoked or modified. Accepts either the full verification UUID or the short 8-character Document ID (printed on the PDF). Returns no PHI — no patient name, no DOB, no condition.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The verification code printed on the SickSlip note PDF. Either the full UUID (e.g., 'c2d4f9eb-4d51-...') or the short 8-character Document ID (e.g., 'C2D4F9EB'). Case-insensitive. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It discloses the read-only verification nature, the specific data returned, and explicitly states it returns no PHI. It does not cover failure modes, rate limits, or authorization requirements, but those are less critical for a simple one-input verification lookup.
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?
Four compact sentences, each earning its place: purpose and return values first, then when to use, then accepted input formats, then the privacy boundary. There is no fluff or redundant restatement of the tool name.
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 tool with one parameter, no output schema, and no annotations, the description supplies enough context for an agent to select and invoke it correctly: the purpose, the input format, the returned fields, and the privacy guarantee. The only minor gap is that explicit behavior for invalid or revoked codes is not stated directly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the single parameter with type, length constraints, and format examples, giving 100% schema description coverage. The description's narrative repeats the UUID/short Document ID distinction rather than adding new semantic information beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific operation ('Verify the authenticity of a SickSlip doctor's note'), the resource, and the mechanism ('by its verification code'), and enumerates the returned fields. This clearly differentiates it from sibling tools about pricing, service tiers, state availability, and NPI lookup.
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 an explicit 'Use this when' section with concrete personas (HR person, manager, patient) and intents: confirming a note is real, checking issued dates, absence windows, and revocation/modification status. It does not explicitly name alternatives to avoid, but the sibling tools are so clearly distinct that no real ambiguity remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
get_sickslip_pricing - First observed
list_service_tiers - First observed
list_state_availability - First observed
lookup_physician_npi - First observed
verify_sickslip_note
Related MCP Connectors
Free, no-account verification of KeyHalve-sealed documents. Read-only; never receives keys.
Privacy-first document verification anchored to the public ledger.
Checks certificates of insurance (ACORD 25) against your requirements. Pay per call, x402 USDC.
AI document intelligence: extract, summarize, claim-check, notarize, and signed action receipts.
Related MCP Servers
- AlicenseAqualityCmaintenanceProvides read-only access to VeriLock document metadata and cryptographic evidence, enabling clients to list, retrieve, verify, and audit documents through the Model Context Protocol.8MIT

com.verixid/verifierofficial
AlicenseNot gradedqualityBmaintenanceVerifies VerixID proof-of-existence records by Record ID and optionally proves ownership with an Ownership Key, without requiring the original file.MIT- AlicenseAqualityBmaintenanceVerifiable document intelligence for AI agents. Extract text, tables, and structured data from PDFs and URLs. Summarize, answer questions, check claims, and translate — all with cited evidence. Store tamper-evident evidence bundles with cryptographic signatures and on-chain attestation via Base L2. Cross-document semantic search and Q&A across named collections. Pay per call with USDC2211 npm1MIT
- AlicenseNot gradedqualityBmaintenanceDocument verification for AI agents: forensic authenticity signals for PDFs and images, field extraction, Australian identity checks, adverse-media and sanctions screening, AU/NZ government tender search, AI-text detection, and citation verification. Hosted with a free anonymous tier; the repo ships a Dockerfile that bridges to the live endpoint.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.