CEDAR MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CEDAR MCP ServerSearch for 'melanoma' in the NCIT ontology"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CEDAR MCP Server
A Model Context Protocol (MCP) server for interacting with the CEDAR (Center for Expanded Data Annotation and Retrieval) metadata repository.
Prerequisites
Before using this MCP server, you'll need API keys from:
CEDAR API Key
Go to cedar.metadatacenter.org
Create an account or log in
Navigate to: Profile → API Key
Copy your API key
BioPortal API Key
Create an account or log in
Navigate to: Account Settings → API Key
Copy your API key
Related MCP server: Onto MCP Server
Running the CEDAR MCP Server
Set your API keys as environment variables:
export CEDAR_API_KEY="your-cedar-key"
export BIOPORTAL_API_KEY="your-bioportal-key"Option 1: Using UVX (Recommended)
Run directly without installation using uvx:
uvx cedar-mcpOption 2: Using pip
Install from PyPI and run:
pip install cedar-mcp
cedar-mcpNote: The
--cedar-api-keyand--bioportal-api-keyCLI flags are deprecated and will be removed in a future release. Use environment variables instead.
Transport Options
By default, the server uses stdio transport. You can also run it as an HTTP server using SSE or streamable-http transports:
# SSE transport on default host/port (127.0.0.1:8000)
cedar-mcp --transport sse
# Streamable HTTP on custom host/port
cedar-mcp --transport streamable-http --host 0.0.0.0 --port 9000Flag | Choices | Default | Description |
|
|
| Transport protocol |
| — |
| Host to bind to (HTTP transports only) |
| — |
| Port to bind to (HTTP transports only) |
Using with Claude Code
Add the CEDAR MCP server to Claude Code:
claude mcp add cedar-mcp --uvx -e CEDAR_API_KEY=your-cedar-key -e BIOPORTAL_API_KEY=your-bioportal-keyUsing with Claude Desktop
To use with Claude Desktop app:
Install the MCP server using one of the methods above
Add to Claude Desktop configuration in your
claude_desktop_config.json:
{
"mcpServers": {
"cedar-mcp": {
"command": "uvx",
"args": [
"cedar-mcp"
],
"env": {
"CEDAR_API_KEY": "your-cedar-key",
"BIOPORTAL_API_KEY": "your-bioportal-key",
"CEDAR_MCP_CACHE_TTL_SECONDS": "86400",
"CEDAR_MCP_CACHE_DIR": "/path/to/custom/location"
}
}
}
}Or if you have it installed locally:
{
"mcpServers": {
"cedar-mcp": {
"command": "cedar-mcp",
"env": {
"CEDAR_API_KEY": "your-cedar-key",
"BIOPORTAL_API_KEY": "your-bioportal-key",
"CEDAR_MCP_CACHE_TTL_SECONDS": "86400",
"CEDAR_MCP_CACHE_DIR": "/path/to/custom/location"
}
}
}
}The CEDAR_MCP_CACHE_TTL_SECONDS and CEDAR_MCP_CACHE_DIR environment variables are optional. When set under the "env" key, Claude Desktop injects them into the server process environment before it starts, so the cache picks them up automatically. If omitted, the defaults apply (24-hour TTL and a platform-specific cache directory — see Cache Configuration).
Available Tools
Here is the list of CEDAR tools with a short description
get_cedar_template: Fetches a template from the CEDAR repository.get_instances_based_on_template: Gets template instances that belong to a specific template with pagination support.term_search_from_branch: Searches BioPortal for standardized ontology terms within a specific branch.term_search_from_ontology: Searches BioPortal for standardized ontology terms within an entire ontology.get_branch_children: Fetches all immediate children terms for a given branch in an ontology.get_ontology_class_tree: Fetches the hierarchical tree structure for a given class in an ontology.remove_stale_cache_entries: Removes expired entries from the BioPortal search cache.clear_bioportal_cache: Clears all entries from the BioPortal search cache.
Cache Configuration
BioPortal search results are cached locally using SQLite to reduce latency and API load. The cache persists across server restarts.
Variable | Default | Description |
|
| Time-to-live for cached BioPortal responses |
| Platform-specific (see below) | Override the cache directory location |
Default cache locations:
macOS:
~/Library/Caches/cedar-mcpLinux:
$XDG_CACHE_HOME/cedar-mcpor~/.cache/cedar-mcpWindows:
%LOCALAPPDATA%/cedar-mcp/cache
Development
Install Development Dependencies
pip install -r requirements-dev.txtRunning Tests
This project includes comprehensive integration tests that validate real API interactions with both CEDAR and BioPortal APIs.
For detailed testing information, see test/README.md.
Contributing
Contributions are welcome! Please ensure all tests pass before submitting a Pull Request:
python run_tests.py --integrationLicense
This project is licensed under the MIT License — see the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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