Skip to main content
Glama
KarchinLab

OpenCRAVAT

Official
by KarchinLab
README.md
# OpenCRAVAT MCP Server

This repository contains an MCP (Model Context Protocol) server that exposes OpenCRAVAT-powered variant annotation as callable tools. It runs as a Cloudflare Worker (via Wrangler) and proxies requests to public OpenCRAVAT services.

## What this server provides

It exposes MCP tools that let an MCP client:

- Discover which OpenCRAVAT annotators are being run (a curated default set).
- Inspect annotator output schemas (field names/types/descriptions).
- Annotate variants by:
  - genomic coordinates (chrom/pos/ref/alt). Accepts only GRCh38/hg38 coordinates.
  - dbSNP rsID
  - ClinGen Allele Registry ID (CAid)
  - HGVS (g./c./p.)
- Convert a protein missense notation (e.g., BRAF V600E) into candidate GRCh38 genomic HGVS changes (via SynVar), which you can then pass to HGVS annotation.

## Connecting

This MCP server is hosted remotely at 

```
https://mcp.opencravat.org/mcp
```

It can also be run locally.

### Claude

To connect to Claude, follow [these instructions](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp). Use the URL above, and do not set up auth. No user-specific data is needed for the MCP to work. Remember to enable the MCP for your chat. 

### ChatGPT

To connect with ChatGPT, you must enable developer mode, then add a custom app:

- Open Settings
- Go to Apps
- In Advanced Settings, use the toggle to turn on “Developer Mode”
- Click Create App
- Use the URL above as the “MCP Server URL”
- Set Authentication to “No Auth”
- Add a name to the MCP App that you’ll easily recognize, such as “OpenCRAVAT”

You will have to add the MCP to a new chat using the + icon in the lower left of the chat box.

## Running Locally

Prerequisites:

- Node.js (recent enough for modern TypeScript tooling; Node 18+ recommended)
- npm

Install dependencies:

```
npm install
```

Start the dev server (Wrangler):

```
npm start
```

By default, your MCP endpoint will be: 

```
http://localhost:8787/mcp
```

### Connect Claude Desktop

To connect to your MCP server from Claude Desktop, follow [Anthropic's Quickstart](https://modelcontextprotocol.io/quickstart/user) and within Claude Desktop go to Settings > Developer > Edit Config.

Update with this configuration:

```json
{
  "mcpServers": {
    "OpenCRAVAT": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:8787/mcp"
      ]
    }
  }
}
```

Restart Claude and you should see the tools become available.