Skip to main content

A Model Context Protocol server for interacting with CEDAR metadata repository

Project description

CEDAR MCP Server

A Model Context Protocol (MCP) server for interacting with the CEDAR (Center for Expanded Data Annotation and Retrieval) metadata repository.

🚀 快速启动(推荐)

使用 UVX 一键启动

uvx bach-cedar-mcp

在 Cursor/Cherry Studio 中配置

{
  "mcpServers": {
    "cedar-mcp": {
      "command": "uvx",
      "args": ["bach-cedar-mcp"],
      "env": {
        "CEDAR_API_KEY": "<YOUR_CEDAR_API_KEY>",
        "BIOPORTAL_API_KEY": "<YOUR_BIOPORTAL_API_KEY>"
      }
    }
  }
}

PyPI 包地址: https://pypi.org/project/bach-cedar-mcp/


Prerequisites

Before using this MCP server, you'll need API keys from:

CEDAR API Key

BioPortal API Key

Running the CEDAR MCP Server

Option 1: Using UVX from PyPI (Recommended)

Run directly without installation using uvx:

uvx bach-cedar-mcp \
  --cedar-api-key "your-cedar-key" \
  --bioportal-api-key "your-bioportal-key"

Option 2: Install from PyPI

Install using pip and run:

# Install from PyPI
pip install bach-cedar-mcp

# Run the server
bach-cedar-mcp \
  --cedar-api-key "your-cedar-key" \
  --bioportal-api-key "your-bioportal-key"

Option 3: Using Environment Variables

Set environment variables instead of command-line arguments:

# Set environment variables
export CEDAR_API_KEY="your-cedar-key"
export BIOPORTAL_API_KEY="your-bioportal-key"

# Run with uvx
uvx bach-cedar-mcp

# Or if installed with pip
bach-cedar-mcp

Option 4: Local Development

Clone and run from source:

# Clone the repository
git clone https://github.com/BACH-AI-Tools/cedar-mcp.git
cd cedar-mcp

# Install dependencies and run
uv run python -m cedar_mcp.server \
  --cedar-api-key "your-cedar-key" \
  --bioportal-api-key "your-bioportal-key"

Using with Claude Code

Add the CEDAR MCP server to Claude Code:

# Add using uvx (from PyPI)
claude mcp add cedar-mcp --uvx bach-cedar-mcp \
  --cedar-api-key "your-cedar-key" \
  --bioportal-api-key "your-bioportal-key"

Using with Claude Desktop

To use with Claude Desktop app:

  1. Install the MCP server using one of the methods above
  2. Add to Claude Desktop configuration in your claude_desktop_config.json:
{
  "mcpServers": {
    "cedar-mcp": {
      "command": "uvx",
      "args": ["bach-cedar-mcp"],
      "env": {
        "CEDAR_API_KEY": "your-cedar-key",
        "BIOPORTAL_API_KEY": "your-bioportal-key"
      }
    }
  }
}

Or if you have it installed with pip:

{
  "mcpServers": {
    "cedar-mcp": {
      "command": "bach-cedar-mcp",
      "env": {
        "CEDAR_API_KEY": "your-cedar-key", 
        "BIOPORTAL_API_KEY": "your-bioportal-key"
      }
    }
  }
}

Available Tools

Here is the list of CEDAR tools with a short description

  • get_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.

Development

Install Development Dependencies

pip install -r requirements-dev.txt

Running 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 --integration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bach_cedar_mcp-1.0.1.tar.gz (30.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bach_cedar_mcp-1.0.1-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file bach_cedar_mcp-1.0.1.tar.gz.

File metadata

  • Download URL: bach_cedar_mcp-1.0.1.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for bach_cedar_mcp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 aacb720f4de84a7c6d0b365136c5c4eedcd4365846e459137bacf3e40211c30d
MD5 2a9a46ac086781618a8311b9071fa5fd
BLAKE2b-256 09455b5665ae1748e38205b6c3ed5275a950f700ff1eb4d9b916388c8aca3e6b

See more details on using hashes here.

File details

Details for the file bach_cedar_mcp-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: bach_cedar_mcp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for bach_cedar_mcp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ebaf6218baed274366a4ab59b039932bc6a7550cc517de30447c55e4784ba8a9
MD5 d5fc7e018c74d18c8962a6cabe9a20c6
BLAKE2b-256 3c6f699bf3c802c42b6385436aff5762be4c5392683e70933d951048ec426fbe

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page