Skip to main content
Glama
musen-lab

CEDAR MCP Server

Official
by musen-lab

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CEDAR_API_KEYYesAPI key for CEDAR metadata repository
BIOPORTAL_API_KEYYesAPI key for BioPortal ontology repository
CEDAR_MCP_CACHE_DIRNoOverride the cache directory location
CEDAR_MCP_CACHE_TTL_SECONDSNoTime-to-live for cached BioPortal responses in seconds (default: 86400)86400

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tasks
{
  "list": {},
  "cancel": {},
  "requests": {
    "tools": {
      "call": {}
    },
    "prompts": {
      "get": {}
    },
    "resources": {
      "read": {}
    }
  }
}
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_cedar_templateA

Get a template from the CEDAR repository.

The template is fetched in CEDAR's compact YAML rendering, which is a far cheaper way to read a template than the JSON-LD form: it leaves out provenance and other bookkeeping keys, so it costs fewer tokens.

A field restricted to an ontology branch reports that branch rather than the values it allows. Use expand_branches to list those values, bearing in mind that each branch costs one BioPortal lookup and a template can easily have twenty of them.

Args: template_id: The template ID or full URL from CEDAR repository (e.g., "https://repo.metadatacenter.org/templates/e019284e-48d1-4494-bc83-ddefd28dfbac") expand_branches: How much of each ontology branch to list under permissible_values (default: "none"): "none" reports the branch itself and does no lookups; "labels" lists the allowed labels, which is enough to read a template but carries no IRIs; "terms" lists each label with its IRI, which is what filling in a controlled term field needs, at roughly 1.7x the size of "labels"

Returns: Template data from CEDAR, cleaned and transformed

get_instances_based_on_templateA

Get template instances that belong to the input template ID with pagination support.

This tool searches for instances of a given template and fetches their complete content in paginated chunks to avoid token limit issues.

Args: template_id: The template ID or full URL from CEDAR repository (e.g., "https://repo.metadatacenter.org/templates/e019284e-48d1-4494-bc83-ddefd28dfbac") limit: Number of instances to return per page (min: 1, max: 100, default: 10) offset: Starting position for pagination (default: 0)

Returns: Dictionary containing: - instances: List of template instances for this page - pagination: Pagination metadata (total_count, current_page, etc.) - errors: List of any errors encountered during fetching

term_search_from_branchA

Search BioPortal for standardized ontology terms within a specific branch.

Use this tool to find the correct standardized name and IRI for a given term label within a specific ontology branch.

Args: search_string: The term label or keyword to search for (e.g., "aspirin", "glucose") ontology_acronym: Ontology acronym to search within (e.g., "CHEBI", "HRAVS") branch_iri: IRI of the branch to restrict the search to (e.g., "http://purl.obolibrary.org/obo/CHEBI_23367")

Returns: Search results from BioPortal containing matching terms

term_search_from_ontologyA

Search BioPortal for standardized ontology terms within an entire ontology.

Use this tool to find the correct standardized name and IRI for a given term label across an entire ontology (not restricted to a specific branch).

Args: search_string: The term label or keyword to search for (e.g., "melanoma", "diabetes") ontology_acronym: Ontology acronym to search within (e.g., "NCIT", "CHEBI", "DOID")

Returns: Search results from BioPortal containing matching terms

get_branch_childrenA

Fetch all immediate children terms for a given branch in an ontology.

Use this tool to retrieve the child terms under a specific branch IRI in a BioPortal ontology. This is useful for exploring the hierarchy of an ontology or populating dropdown options for a controlled vocabulary.

Args: branch_iri: IRI of the branch to get children for (e.g., "http://purl.obolibrary.org/obo/CHEBI_23367") ontology_acronym: Ontology acronym to search within (e.g., "CHEBI", "HRAVS")

Returns: BioPortal response containing child terms with their prefLabels

get_ontology_class_treeA

Fetch the hierarchical tree structure for a given class in an ontology.

Use this tool to retrieve the ancestor path and sibling nodes for a specific class IRI in a BioPortal ontology. This is useful for understanding where a term sits in the ontology hierarchy.

Args: class_iri: IRI of the class to get the tree for (e.g., "http://purl.obolibrary.org/obo/MONDO_0005180") ontology_acronym: Ontology acronym to search within (e.g., "MONDO", "CHEBI")

Returns: BioPortal response containing the class tree hierarchy

remove_stale_cache_entriesA

Remove expired entries from the BioPortal search cache.

This tool cleans up cache entries that have exceeded their TTL (time-to-live). Use it to free disk space without losing valid cached results.

Returns: Dictionary with removed_count and remaining_count

clear_bioportal_cacheA

Clear all entries from the BioPortal search cache.

Use this tool to force fresh API calls for all subsequent BioPortal searches. This is useful when ontology data has been updated and you want to ensure the latest results.

Returns: Dictionary with cleared_count

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/musen-lab/cedar-mcp'

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