CEDAR MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CEDAR_API_KEY | Yes | API key for CEDAR metadata repository | |
| BIOPORTAL_API_KEY | Yes | API key for BioPortal ontology repository | |
| CEDAR_MCP_CACHE_DIR | No | Override the cache directory location | |
| CEDAR_MCP_CACHE_TTL_SECONDS | No | Time-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
| Capability | Details |
|---|---|
| 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
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/musen-lab/cedar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server