MCP (Model Context Protocol) server for the gget bioinformatics library. This server implements the Model Context Protocol (MCP) for gget, providing a standardized interface for accessing powerful bioinformatics tools and databases. MCP enables AI assistants and agents to perform complex genomics queries through structured interfaces. The gget bioinformatics toolkit provides efficient querying of
Add this skill
npx mdskills install longevity-genie/gget-mcpComprehensive MCP server exposing powerful bioinformatics tools with excellent setup documentation
1# gget-mcp23[](https://github.com/longevity-genie/gget-mcp/actions/workflows/test.yml)4[](https://badge.fury.io/py/gget-mcp)5[](https://www.python.org/downloads/)6[](https://opensource.org/licenses/MIT)7[](https://github.com/astral-sh/ruff)89MCP (Model Context Protocol) server for the [gget](https://github.com/pachterlab/gget) bioinformatics library.10111213This server implements the Model Context Protocol (MCP) for gget, providing a standardized interface for accessing powerful bioinformatics tools and databases. MCP enables AI assistants and agents to perform complex genomics queries through structured interfaces.1415The gget bioinformatics toolkit provides efficient querying of genomic databases and includes functions for:16- Gene and sequence information retrieval17- BLAST and sequence alignment18- Protein structure prediction19- Gene expression analysis20- Functional enrichment analysis21- And much more!2223## ๐ Quick Example: What Can You Do?2425<details>26<summary>See how the gget MCP server works in practice with AI assistants</summary>2728**๐ค User:** "Analyze the TP53 gene - find its details and protein sequence, then check for cancer mutations"2930**๐ค AI Assistant:** I'll help you analyze TP53 step by step:3132*[Uses gget_search]* โ Found TP53 (ENSG00000141510) on chromosome 1733*[Uses gget_info]* โ TP53 is a protein-coding tumor suppressor gene34*[Uses gget_seq with translate=True]* โ Retrieved 393 amino acid protein sequence35*[Uses gget_cosmic]* โ Found hotspot mutations R175H, R248Q, R273H in multiple cancers3637**๐ค User:** "Now predict the 3D structure of this protein sequence: MSKGEELFTGVVPILVEL..."3839**๐ค AI Assistant:** Let me analyze this sequence:4041*[Uses gget_blast]* โ Identified as Green Fluorescent Protein (GFP)42*[Uses gget_alphafold]* โ Predicted classic beta-barrel structure with 90%+ confidence4344**๐ค User:** "Perform pathway enrichment for DNA repair genes: TP53, BRCA1, BRCA2, ATM"4546**๐ค AI Assistant:** *[Uses gget_enrichr]* โ Top pathways: DNA Damage Response, Homologous Recombination, Cell Cycle Checkpoints, p53 Signaling4748**See how powerful this is?** You can now ask natural language questions about genes, sequences, mutations, and pathways - the AI does the complex bioinformatics work for you!4950</details>5152## About MCP (Model Context Protocol)5354<details>55<summary>Learn more about the Model Context Protocol</summary>5657MCP is a protocol that bridges the gap between AI systems and specialized domain tools. It enables:5859- **Structured Access**: Direct connection to powerful bioinformatics tools and databases60- **Natural Language Queries**: Simplified interaction with complex genomics workflows61- **Type Safety**: Strong typing and validation through FastMCP62- **AI Integration**: Seamless integration with AI assistants and agents6364If you want to understand more about what the Model Context Protocol is and how to use it more efficiently, you can take the [DeepLearning AI Course](https://www.deeplearning.ai/short-courses/mcp-build-rich-context-ai-apps-with-anthropic/) or search for MCP videos on YouTube.6566</details>6768## Available Tools6970<details>71<summary>Comprehensive bioinformatics functionality through gget</summary>7273### Gene Information & Search74- **`gget_search`**: Find Ensembl IDs associated with search terms75- **`gget_info`**: Fetch detailed information for Ensembl IDs76- **`gget_seq`**: Retrieve nucleotide or amino acid sequences77- **`gget_ref`**: Get reference genome information from Ensembl7879### Sequence Analysis80- **`gget_blast`**: BLAST nucleotide or amino acid sequences81- **`gget_blat`**: Find genomic locations of sequences82- **`gget_muscle`**: Align multiple sequences8384### Expression & Functional Analysis85- **`gget_archs4`**: Get gene expression data from ARCHS486- **`gget_enrichr`**: Perform gene set enrichment analysis8788### Protein Structure & Function89- **`gget_pdb`**: Fetch protein structure data from PDB90- **`gget_alphafold`**: Predict protein structure using AlphaFold9192### Cancer & Mutation Analysis93- **`gget_cosmic`**: Search COSMIC database for cancer mutations9495### Single-cell Analysis96- **`gget_cellxgene`**: Query single-cell RNA-seq data from CellxGene9798</details>99100## Quick Start101102<details>103<summary>Installing uv (optional - uvx can auto-install)</summary>104105```bash106# Download and install uv107curl -LsSf https://astral.sh/uv/install.sh | sh108109# Verify installation110uv --version111uvx --version112```113114uvx is a very nice tool that can run a python package installing it if needed.115116</details>117118### Running with uvx119120You can run the gget-mcp server directly using uvx without cloning the repository:121122```bash123# Run the server in HTTP mode (default)124uvx gget-mcp http125```126127<details>128<summary>Other uvx modes (STDIO, HTTP, SSE)</summary>129130#### STDIO Mode (for MCP clients that require stdio)131132```bash133# Run the server in stdio mode134uvx gget-mcp stdio135```136137#### HTTP Mode (Web Server)138```bash139# Run the server in streamable HTTP mode on default (3002) port140uvx gget-mcp http141142# Run on a specific port143uvx gget-mcp http --port 8000144```145146#### SSE Mode (Server-Sent Events)147```bash148# Run the server in SSE mode149uvx gget-mcp sse150```151152</details>153154In cases when there are problems with uvx often they can be caused by cleaning uv cache:155```156uv cache clean157```158159The HTTP mode will start a web server that you can access at `http://localhost:3002/mcp` (with documentation at `http://localhost:3002/docs`). The STDIO mode is designed for MCP clients that communicate via standard input/output, while SSE mode uses Server-Sent Events for real-time communication.160161**Note:** Currently, we do not have a Swagger/OpenAPI interface, so accessing the server directly in your browser will not show much useful information. To explore the available tools and capabilities, you should either use the MCP Inspector (see below) or connect through an MCP client to see the available tools.162163## Configuring your AI Client (Anthropic Claude Desktop, Cursor, Windsurf, etc.)164165We provide preconfigured JSON files for different use cases. Here are the actual configuration examples:166167### STDIO Mode Configuration (Recommended)168169Use this configuration for most AI clients. Use this mode when you want to save large output files (sequences, structures, alignments) to disk instead of returning them as text.170Create or update your MCP configuration file:171172```json173{174 "mcpServers": {175 "gget-mcp": {176 "command": "uvx",177 "args": ["--from", "gget-mcp@latest", "stdio"]178 }179 }180}181```182183### HTTP Mode Configuration184185For HTTP mode:186187```json188{189 "mcpServers": {190 "gget-mcp": {191 "command": "uvx",192 "args": ["--from", "gget-mcp@latest", "server"]193 }194 }195}196```197198### Configuration Video Tutorial199200For a visual guide on how to configure MCP servers with AI clients, check out our [configuration tutorial video](https://www.youtube.com/watch?v=Xo0sHWGJvE0) for our sister MCP server (biothings-mcp). The configuration principles are exactly the same for the gget MCP server - just use the appropriate JSON configuration files provided above.201202### Inspecting gget MCP server203204<details>205<summary>Using MCP Inspector to explore server capabilities</summary>206207If you want to inspect the methods provided by the MCP server, use npx (you may need to install nodejs and npm):208209For STDIO mode with uvx:210```bash211npx @modelcontextprotocol/inspector --config mcp-config.json --server gget-mcp212```213214You can also run the inspector manually and configure it through the interface:215```bash216npx @modelcontextprotocol/inspector217```218219After that you can explore the tools and resources with MCP Inspector at which is usually at 6274 port (note, if you run inspector several times it can change port)220221</details>222223### Integration with AI Systems224225Simply point your AI client (like Cursor, Windsurf, ClaudeDesktop, VS Code with Copilot, or [others](https://github.com/punkpeye/awesome-mcp-clients)) to use the appropriate configuration file from the repository.226227## Platform-Specific Setup Guides228229### Claude Desktop + gget_mcp Step-by-Step Guide (Windows)230231<details>232<summary>Comprehensive Windows setup guide with Google Drive integration</summary>233234#### Overview235This guide will walk you through setting up Claude Desktop with the gget_mcp extension and Google Drive integration on Windows. By the end, you'll be able to use Claude to fetch biological data (like gene sequences) and save them directly to your Google Drive folder with offline access.236237#### Prerequisites238- Windows PC with administrator access239- Google account240- Stable internet connection241242#### Step 1: Set Up Google Drive for Desktop with Offline Access2432441. Download and install [Google Drive for Desktop](https://www.google.com/drive/download/)2452. Launch the application and sign in with your user account2463. Connect your project's shared Google account (if applicable)2474. **Configure offline access for your working folder:**248 - Navigate to the folder you want to work with in Google Drive249 - Right-click on the folder (e.g., "work" or your project folder)250 - Select **"Available offline"** from the context menu251 - This makes the folder accessible at a path like `C:\GDrive\holy-bio-mcp\My Disk\work`252253 **Important:** This is different from just syncing - offline access ensures the files are locally available while still being part of your Google Drive structure.254255#### Step 2: Install Claude Desktop2562571. Download [Claude Desktop](https://claude.ai/download) for Windows2582. Run the installer and follow the setup wizard2593. Sign in with your Anthropic/Claude account2604. Complete the initial setup261262#### Step 3: Install uv Package Manager2632641. Install `uv` using one of these methods:265266 **Option A: Using winstall**267 - Visit [https://winstall.app/apps/astral-sh.uv](https://winstall.app/apps/astral-sh.uv)268 - Follow installation instructions269270 **Option B: Using PowerShell**271 ```powershell272 powershell -c "irm https://astral.sh/uv/install.ps1 | iex"273 ```2742752. Restart your terminal after installation276277#### Step 4: Install Node.js278279You can install Node.js using either method:280281**Option A: Native Installer**2821. Visit [https://nodejs.org/en/download](https://nodejs.org/en/download)2832. Download the Windows installer (LTS version recommended)2843. Run the installer with default settings285286**Option B: Using Chocolatey**287```powershell288choco install nodejs289```290291Both methods work equally well - choose whichever you prefer.292293#### Step 5: Verify Installation & Cache Packages294295Open Command Prompt or PowerShell and run:296297```bash298uvx --from gget-mcp@latest stdio299```300301**Expected behavior:**302- The command should start without errors303- Packages will be downloaded and cached304- If it runs successfully, everything is configured correctly305- You can press `Ctrl+C` to stop it306307#### Step 6: Configure Claude Desktop308309##### 6.1: Enable Filesystem Extension3103111. Open Claude Desktop3122. Go to **Settings** (gear icon)3133. Navigate to the **"Extensions"** tab in the left sidebar3144. Enable the **Filesystem** Extension3155. Add your Google Drive offline folder to the allowed directories (e.g., `C:\GDrive\holy-bio-mcp\My Disk\work`)316317**Note:** The Filesystem extension is built into Claude Desktop and uses MCP under the hood, but it's managed directly by the application. You don't need to configure it in the JSON file.318319##### 6.2: Add gget_mcp Server3203211. In the same manner, go to **Settings**, navigate to the **"Developer"** tab in the left sidebar3222. In **Developer** settings tab, click **"Edit Config"** button3233. This will open the `claude_desktop_config.json` file3244. Edit it and add the gget_mcp server configuration:325326```json327{328 "mcpServers": {329 "gget": {330 "command": "uvx",331 "args": [332 "--from",333 "gget-mcp@latest",334 "stdio"335 ]336 }337 }338}339```3403415. Save the configuration file342343#### Step 7: Restart Claude Desktop3443451. Completely close Claude Desktop (check system tray)3462. Restart the application3473. **Note:** On first launch, you might experience a timeout - this is normal3484. If needed, restart Claude Desktop a second time349350#### Step 8: Verify Extensions Are Active3513521. Open Claude Desktop Settings3532. Go to the **Developer** tab3543. Confirm that both components are enabled:355 - โ **Filesystem Extension** - should show your configured Google Drive path and show "Running" status356 - โ **gget MCP Server** - should show "Running" status357358#### Step 9: Test the Setup359360Now let's verify everything works! In Claude Desktop, create a new chat.361Click "Search and tools" icon, select and enable both gget_mcp and filesystem362363Try this prompt:364365```text366Please search for the COL1A1 gene, retrieve its protein sequence,367and save it to C:\GDrive\holy-bio-mcp\My Disk\work\test_sequences\ as a FASTA file.368```369370**Expected result:**371- Claude will use gget_mcp to search for the gene372- It will fetch the sequence data373- It will save the file to your specified folder374- The file will sync to Google Drive automatically375- Claude will be able to read it using Filesystem Extension.376377#### Troubleshooting378379##### MCP Server Not Connecting380381- Ensure `uv` and `node` are in your system PATH382- Try running the verification command again from Step 5383- Restart Claude Desktop completely384385##### Filesystem Permission Errors386387- Check that the Filesystem Extension has access to your Google Drive folder388- Verify the folder has offline access enabled in Google Drive389- Try running Claude Desktop as administrator390- Ensure the path is correct (use the exact path shown in File Explorer)391392##### Timeout on First Launch393394- This is normal - simply restart Claude Desktop395- Wait 10-15 seconds before making requests396397##### gget Commands Not Working398399- Ensure internet connection is stable (gget fetches from online databases)400- Check that the gget_mcp server shows as "Active" in settings401- Try the verification command from Step 5 again402403##### Google Drive Offline Access Issues404405- Confirm the folder shows a green checkmark in Google Drive for Desktop406- If files aren't syncing, right-click the folder and re-enable "Available offline"407- Check that you have enough local disk space for offline files408409#### Success! ๐410411If everything works correctly, you now have:412- โ Claude Desktop with MCP capabilities413- โ Access to biological databases via gget_mcp414- โ Direct file operations in your Google Drive offline folder415- โ Automatic cloud synchronization of all results416417You can now ask Claude to fetch gene sequences, protein data, perform BLAST searches, and save everything directly to your Google Drive folder with offline access!418419#### Example Use Cases420421- **Fetch gene sequences:** "Get the DNA sequence for BRCA1 and save it to my Drive"422- **Protein analysis:** "Find the protein sequence for TP53 and create a markdown report"423- **Bulk operations:** "Search for all genes related to apoptosis and create a summary table"424- **Cross-referencing:** "Get information about COL1A1 from Ensembl and UniProt"425426#### Additional Resources427428- [gget documentation](https://github.com/pachterlab/gget)429- [Model Context Protocol docs](https://modelcontextprotocol.io/)430- [Claude Desktop support](https://support.anthropic.com/)431432*Guide updated: October 13, 2025*433434</details>435436## Repository setup437438<details>439<summary>For developers: cloning and running locally</summary>440441```bash442# Clone the repository443git clone https://github.com/longevity-genie/gget-mcp.git444cd gget-mcp445uv sync446```447448### Running the MCP Server449450If you already cloned the repo you can run the server with uv:451452```bash453# Start the MCP server locally (HTTP mode)454uv run server455456# Or start in STDIO mode457uv run stdio458459# Or start in SSE mode460uv run sse461```462463</details>464465## Safety Features466467- **Input validation**: Comprehensive parameter validation for all gget functions468- **Error handling**: Robust error handling with informative messages469- **Rate limiting**: Respectful usage of external APIs and databases470- **Data validation**: Type checking and data format validation471472## Testing & Verification473474<details>475<summary>Developer information: Testing and CI/CD workflows</summary>476477The MCP server is provided with comprehensive tests including both unit tests and integration tests for network-dependent operations.478479### Running Tests480481Run tests for the MCP server:482```bash483# Run all tests (excluding expensive judge tests)484uv run pytest -vvv -m "not judge"485486# Run only fast tests (skip slow, integration, and judge tests)487uv run pytest -vvv -m "not slow and not integration and not judge"488489# Run only integration tests490uv run pytest -vvv -m integration491492# Run judge tests (expensive LLM tests - requires API keys and may cost money)493uv run pytest test/test_judge.py -vvv494495# Run tests with coverage (excluding judge tests)496uv run pytest -vvv --cov=src/gget_mcp --cov-report=term-missing -m "not judge"497```498499**Note on Judge Tests**: The judge tests (`test_judge.py`) use large language models to evaluate the AI agent's performance with gget tools. These tests:500- Are automatically excluded from CI/CD to avoid costs501- Require API keys (GEMINI_API_KEY or similar)502- May incur charges from LLM API providers503- Are designed for local development and manual evaluation504- Provide valuable insights into how well the tools work with AI agents505506### GitHub Actions Workflows507508This project includes several GitHub Actions workflows:509510- **CI** (`.github/workflows/ci.yml`): Runs on every push/PR with basic linting and fast tests511- **Tests** (`.github/workflows/test.yml`): Comprehensive testing across multiple OS and Python versions512 - Fast tests on all platforms513 - Integration tests (may require network access)514 - Slow tests (like BLAST operations) - runs only on Ubuntu with Python 3.11515 - Code coverage reporting516 - Security checks with bandit and safety517- **Publish** (`.github/workflows/publish.yml`): Publishes to PyPI when tags are pushed518519You can use MCP inspector with locally built MCP server same way as with uvx.520521</details>522523*Note: Using the MCP Inspector is optional. Most MCP clients (like Cursor, Windsurf, etc.) will automatically display the available tools from this server once configured. However, the Inspector can be useful for detailed testing and exploration.*524525*If you choose to use the Inspector via `npx`, ensure you have Node.js and npm installed. Using [nvm](https://github.com/nvm-sh/nvm) (Node Version Manager) is recommended for managing Node.js versions.*526527## Example Questions from Test Suite528529Here are validated example questions that you can ask the AI assistant when using this MCP server:530531* "Find information about the human TP53 gene and get its protein sequence."532* "What are the orthologs of BRCA1 gene across different species?"533* "Perform enrichment analysis for a set of cancer-related genes: TP53, BRCA1, BRCA2, ATM, CHEK2."534* "Get the 3D structure information for the protein encoded by the EGFR gene."535* "Find mutations in the COSMIC database for the PIK3CA gene."536* "Analyze gene expression patterns for insulin (INS) gene across different tissues."537* "Perform BLAST search with a DNA sequence to identify its origin: ATGGCGCCCGAACAGGGAC."538* "Find diseases associated with the APOE gene using OpenTargets."539* "Get reference genome information for mouse (Mus musculus)."540* "Align multiple protein sequences and identify conserved regions."541542These questions are taken directly from our automated test suite and are validated to work correctly with the available gget tools.543544## Contributing545546We welcome contributions from the community! ๐ Whether you're a researcher, developer, or enthusiast interested in bioinformatics and genomics research, there are many ways to get involved:547548**We especially encourage you to try our MCP server and share your feedback with us!** Your experience using the server, any issues you encounter, and suggestions for improvement are incredibly valuable for making this tool better for the entire research community.549550### Ways to Contribute551552- **๐ Bug Reports**: Found an issue? Please open a GitHub issue with detailed information553- **๐ก Feature Requests**: Have ideas for new functionality? We'd love to hear them!554- **๐ Documentation**: Help improve our documentation, examples, or tutorials555- **๐งช Testing**: Add test cases, especially for edge cases or new query patterns556- **๐ Data Quality**: Help identify and report data inconsistencies or suggest improvements557- **๐ Performance**: Optimize queries, improve caching, or enhance server performance558- **๐ Integration**: Create examples for new MCP clients or AI systems559- **๐ฅ Tutorials & Videos**: Create tutorials, video guides, or educational content showing how to use MCP servers560- **๐ User Stories**: Share your research workflows and success stories using our MCP servers561- **๐ค Community Outreach**: Help us evangelize MCP adoption in the bioinformatics community562563**Tutorials, videos, and user stories are especially valuable to us!** We're working to push the bioinformatics community toward AI adoption, and real-world examples of how researchers use our MCP servers help demonstrate the practical benefits and encourage wider adoption.564565### Getting Started5665671. Fork the repository5682. Create a feature branch (`git checkout -b feature/amazing-feature`)5693. Make your changes and add tests5704. Run the test suite (`uv run pytest`)5715. Commit your changes (`git commit -m 'Add amazing feature'`)5726. Push to your branch (`git push origin feature/amazing-feature`)5737. Open a Pull Request574575### Development Guidelines576577- Follow the existing code style (we use `ruff` for formatting and linting)578- Add tests for new functionality579- Update documentation as needed580- Keep commits focused and write clear commit messages581582### Questions or Ideas?583584Don't hesitate to open an issue for discussion! We're friendly and always happy to help newcomers get started. Your contributions help advance open science and bioinformatics research for everyone. ๐งฌโจ585586## Known Issues587588<details>589<summary>Technical limitations and considerations</summary>590591### External Dependencies592Some gget functions depend on external web services and databases that may occasionally be unavailable or rate-limited. The server implements proper error handling and retries where appropriate.593594### Test Coverage595While we provide comprehensive tests including integration tests for network-dependent operations, some test cases may be sensitive to external service availability. Some automated test results may need manual validation.596597</details>598599## License600601This project is licensed under the MIT License.602603## Acknowledgments604605- [gget](https://github.com/pachterlab/gget) - The amazing bioinformatics toolkit this server wraps606- [FastMCP](https://github.com/jlowin/fastmcp) - The MCP server framework used607- [Model Context Protocol](https://modelcontextprotocol.io/) - The protocol specification608609### Other MCP Servers by Longevity Genie610611We also develop other specialized MCP servers for biomedical research:612613- **[biothings-mcp](https://github.com/longevity-genie/biothings-mcp)** - MCP server for BioThings.io APIs, providing access to gene annotation (mygene.info), variant annotation (myvariant.info), and chemical compound data (mychem.info)614- **[opengenes-mcp](https://github.com/longevity-genie/opengenes-mcp)** - MCP server for OpenGenes database, providing access to aging and longevity research data615- **[synergy-age-mcp](https://github.com/longevity-genie/synergy-age-mcp)** - MCP server for SynergyAge database, providing access to synergistic and antagonistic longevity gene interactions616617We are supported by:618619[](https://heales.org/)620621*HEALES - Healthy Life Extension Society*622623and624625[](https://ibima.med.uni-rostock.de/)626627[IBIMA - Institute for Biostatistics and Informatics in Medicine and Ageing Research](https://ibima.med.uni-rostock.de/)628
Full transparency โ inspect the skill content before installing.