Skip to content

Commit ce4154e

Browse files
inodbclaude
andcommitted
Add AI integrations documentation
- Create ai-integrations/ folder with organized documentation structure - Add chat interface documentation with examples and usage tips - Add MCP technical documentation for developers - Include information about cbioportal-mcp and BioMCP integrations - Update SUMMARY.md to include AI integrations after Web API section - Mark chat interface as prototype/work in progress 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
1 parent a947c3b commit ce4154e

File tree

4 files changed

+148
-0
lines changed

4 files changed

+148
-0
lines changed

docs/SUMMARY.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
* [News](News.md)
1414
* [Genie News](News-Genie.md)
1515
* [Web API and API Clients](web-API-and-Clients.md)
16+
* [AI Integrations](ai-integrations/README.md)
17+
* [Chat Interface](ai-integrations/chat-interface.md)
18+
* [Model Context Protocol (MCP)](ai-integrations/mcp.md)
1619
* [Deployment](deployment/README.md)
1720
* [Architecture overview](Architecture-Overview.md)
1821
* [Hardware Requirements](Hardware-Requirements.md)

docs/ai-integrations/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# AI Integrations
2+
3+
The cBioPortal community is exploring the use of large language models (LLMs) to make cancer genomics data more accessible and easier to explore.
4+
5+
## Contents
6+
7+
- **[Chat Interface](chat-interface.md)** - Ask questions about cBioPortal data in plain English using our AI-powered chat interface
8+
- **[Model Context Protocol (MCP)](mcp.md)** - Technical documentation about MCP servers and building AI integrations with cBioPortal
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Chat Interface
2+
3+
We've developed an AI-powered chat interface that allows users to ask questions about cBioPortal data in plain English. Please reach out if you'd like to test it on [email protected].
4+
5+
> **Note:** This is a prototype and work in progress. Features and functionality are actively being developed and improved.
6+
7+
## What is the Chat Interface?
8+
9+
The cBioPortal chat interface uses Claude, an LLM developed by Anthropic, to help you explore cancer genomics data through conversational queries. The system translates natural language questions into database queries that are executed directly against cBioPortal's ClickHouse database. Instead of navigating through multiple pages or writing complex queries, you can simply ask questions about studies, patients, samples, and treatments in natural language.
10+
11+
## Key Features
12+
13+
- **Natural Language Queries**: Ask questions in plain English without needing to know the technical details of the database structure
14+
- **Study Information**: Get quick answers about the number of studies, patients, and samples in cBioPortal
15+
- **Sample Analysis**: Query specific details about samples, including sample types and patient demographics
16+
- **Treatment Data**: Explore treatment information across different studies
17+
- **Data Exploration**: Discover insights from the extensive cancer genomics datasets available in cBioPortal
18+
19+
## Example Queries
20+
21+
Here are some example questions you can ask the chat interface:
22+
23+
### General Portal Information
24+
- "How many studies are in cBioPortal?"
25+
26+
### Study-Specific Queries
27+
- "How many patients and samples are in the MSK-CHORD Study?"
28+
- "How many primary samples are in the MSK-CHORD Study?"
29+
- "What treatment did most patients receive in the MSK-CHORD Study?"
30+
31+
## Tips for Using the Chat Interface
32+
33+
- **Be specific**: Include study names or specific data types when possible
34+
- **Ask follow-up questions**: The chat interface maintains context, so you can ask related questions in sequence
35+
- **Explore different angles**: Try rephrasing questions or asking for different perspectives on the data
36+
- **Learn about the database structure**: You can ask the LLM to explain the database schema and available fields - this can help you formulate more effective questions
37+
38+
## Getting Started
39+
40+
1. Visit [chat.cbioportal.org](https://chat.cbioportal.org/)
41+
2. Type your question in the chat input
42+
3. Review the AI-generated response
43+
4. Ask follow-up questions to dive deeper into the data
44+
45+
## Feedback and Support
46+
47+
The AI chat interface is actively being developed and improved. Your feedback helps us make it better:
48+
49+
- **Use the thumbs up/down buttons**: Each chat response has thumbs up and thumbs down buttons. Please use them to rate the quality and accuracy of the responses - this feedback directly helps us improve the AI's answers.
50+
- **Report issues or suggestions**: If you encounter any issues or have suggestions for improvement, please reach out through the [cBioPortal Google Group](https://groups.google.com/g/cbioportal).
51+
52+
## Technical Details
53+
54+
### Architecture
55+
56+
The cBioPortal chat interface is built on the following technical stack:
57+
58+
- **User Interface**: Built with [LibreChat](https://github.com/danny-avila/LibreChat), an open-source chat interface
59+
- **AI Model**: Uses [Claude](https://www.anthropic.com/claude), Anthropic's large language model
60+
- **MCP Layer**: Model Context Protocol (MCP) servers provide the connection between Claude and cBioPortal data
61+
- **Database**: Queries are executed against cBioPortal's [ClickHouse](https://clickhouse.com/) database
62+
63+
### How It Works
64+
65+
When you ask a question in the chat interface:
66+
67+
1. Your natural language question is sent to Claude
68+
2. Claude uses MCP servers to understand the database schema and formulate appropriate queries
69+
3. The MCP server translates Claude's intent into ClickHouse SQL queries
70+
4. Query results are returned to Claude, which formats them into a natural language response
71+
5. You receive the answer along with relevant data
72+
73+
For more information about the MCP servers and how to build your own integrations, see the [Model Context Protocol documentation](mcp.md).

docs/ai-integrations/mcp.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Model Context Protocol (MCP)
2+
3+
This document provides technical information about the Model Context Protocol (MCP) servers and architecture that power AI integrations with cBioPortal.
4+
5+
## What is MCP?
6+
7+
The Model Context Protocol (MCP) is a standard protocol that enables AI assistants to interact with external data sources and tools. MCP servers act as bridges between AI models (like Claude) and databases, APIs, or other services, allowing the AI to access and query data in a structured way.
8+
9+
For details on how MCP powers the cBioPortal chat interface, see the [Chat Interface documentation](chat-interface.md#how-the-chat-interface-works).
10+
11+
## Available MCP Servers
12+
13+
### Official cBioPortal MCP Servers
14+
15+
These MCP servers are maintained by the cBioPortal team.
16+
17+
#### cbioportal-mcp
18+
19+
A specialized MCP server that wraps the ClickHouse database connection with cBioPortal-specific knowledge.
20+
21+
**Repository**: [https://github.com/cBioPortal/cbioportal-mcp](https://github.com/cBioPortal/cbioportal-mcp)
22+
23+
**Key Features**:
24+
- Wraps the `mcp-clickhouse` server for ClickHouse database connectivity
25+
- Includes cBioPortal-specific system prompts that teach the AI about cancer genomics data structures
26+
- Enables natural language queries against cBioPortal's ClickHouse database
27+
- Supports multiple deployment options (development mode, Docker)
28+
- Includes MCP Inspector for debugging and monitoring
29+
30+
**How it works**: The server acts as an intermediary that combines ClickHouse database access with domain-specific instructions, allowing researchers and clinicians to query complex genomic datasets through conversational interfaces without writing SQL directly.
31+
32+
**Configuration**: Uses environment variables for ClickHouse connection details and supports different transport protocols (stdio, HTTP, SSE).
33+
34+
### Community MCP Integrations
35+
36+
These integrations are maintained by the community and third-party developers.
37+
38+
#### BioMCP - cBioPortal Integration
39+
40+
An MCP integration that enhances biomedical literature searches with cBioPortal genomic data. When searching for articles with gene parameters, BioMCP automatically queries cBioPortal alongside PubMed searches, enriching results with mutation frequency and distribution data across cancer studies.
41+
42+
**Maintainer**: [BioMCP community](https://biomcp.org/)
43+
44+
**Website**: [https://biomcp.org/backend-services-reference/03-cbioportal/](https://biomcp.org/backend-services-reference/03-cbioportal/)
45+
46+
For more details on features and technical implementation, see the [official BioMCP documentation](https://biomcp.org/backend-services-reference/03-cbioportal/).
47+
48+
## Building Your Own MCP Integration
49+
50+
To build an MCP integration with cBioPortal:
51+
52+
1. **Contact the community** via [Google Group](https://groups.google.com/g/cbioportal) or [Slack](https://slack.cbioportal.org) to discuss your approach
53+
2. **Access data** through:
54+
- [REST API](../web-API-and-Clients.md) - Programmatic access
55+
- [DataHub](https://github.com/cBioPortal/datahub) - Bulk data downloads
56+
- ClickHouse database - Direct queries (not publicly accessible; contact us to discuss options)
57+
58+
## Resources
59+
60+
- [Model Context Protocol Specification](https://modelcontextprotocol.io/)
61+
- [cbioportal-mcp GitHub Repository](https://github.com/cBioPortal/cbioportal-mcp)
62+
- [BioMCP Documentation](https://biomcp.org/)
63+
- [cBioPortal API Documentation](../web-API-and-Clients.md)
64+
- [LibreChat Documentation](https://github.com/danny-avila/LibreChat)

0 commit comments

Comments
 (0)