Skip to main content
Glama
nathanfolkman

CUF Health Portal MCP Server

list_prescriptions

Retrieve exam prescriptions from the CUF health portal, including dates, patients, sites, and download links. Specify years to filter results.

Instructions

List exam prescriptions from the CUF portal (www.cuf.pt).

Scrapes the Drupal-rendered HTML page — prescriptions use a separate auth system from the GraphQL API. Returns list of dicts with: date, patient, site, download_url, document_id.

Args: years: List of years to fetch (default: current year and 2 prior years).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses that the tool scrapes a Drupal-rendered HTML page, uses a separate auth system, and returns a dict list with specific keys. It doesn't mention error handling or rate limits, but for a read-only list operation the key behavioral traits are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact and front-loaded: the purpose sentence comes first, followed by necessary behavioral context, output shape, and parameter details. Every sentence earns its place and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only listing tool, the description covers purpose, scraping/auth context, return fields, and the default parameter behavior. An output schema exists, so return-value documentation is not a burden. It omits potential failure modes or rate-limit notes, but nothing is missing for correct basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides no property descriptions (0% coverage), so the description must compensate, and it does: 'years: List of years to fetch (default: current year and 2 prior years)' defines the purpose and default for the only parameter. It could add accepted ranges or explicit behavior for null, but the essential semantics are clear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete operation: 'List exam prescriptions from the CUF portal (www.cuf.pt)', naming both the resource and source. The scraping detail hints at a distinction from GraphQL-based siblings, but it never names or contrasts an alternative such as get_prescription or list_clinical_documents, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: this is the tool for listing CUF prescriptions, and it explicitly notes that prescriptions use a separate auth system from the GraphQL API, which steers an agent away from GraphQL-based alternatives. It doesn't state explicit when-not-to-use conditions or name sibling tools, but the intended usage is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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/nathanfolkman/cuf-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server