Skip to main content
Glama
longevity-genie

OpenGenes MCP Server

opengenes-mcp

Tests PyPI version Python 3.10+ License: MIT Code style: black

MCP (Model Context Protocol) server for OpenGenes database

This server implements the Model Context Protocol (MCP) for OpenGenes, providing a standardized interface for accessing aging and longevity research data. MCP enables AI assistants and agents to query comprehensive biomedical datasets through structured interfaces.

The server automatically downloads the latest OpenGenes database and documentation from Hugging Face Hub (specifically from the opengenes folder), ensuring you always have access to the most up-to-date data without manual file management.

The OpenGenes database contains:

  • lifespan_change: Experimental data about genetic interventions and their effects on lifespan across model organisms

  • gene_criteria: Criteria classifications for aging-related genes (12 different categories)

  • gene_hallmarks: Hallmarks of aging associated with specific genes

  • longevity_associations: Genetic variants associated with longevity from population studies

If 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 or search for MCP videos on YouTube.

๐Ÿ† Part of Holy Bio MCP Framework

This MCP server is part of the Holy Bio MCP project - a unified framework for bioinformatics research that won the Bio x AI Hackathon 2025 and continues to be actively developed and extended after the victory.

The Holy Bio MCP framework brings together multiple specialized MCP servers into a cohesive ecosystem for advanced biological research:

Together, these servers provide 50+ specialized bioinformatics functions that can work seamlessly together in AI-driven research workflows. Learn more about the complete framework at github.com/longevity-genie/holy-bio-mcp.

Related MCP server: gwas-mcp

Usage Example

Here's how the OpenGenes MCP server works in practice with AI assistants:

OpenGenes MCP Usage Example

Example showing how to query the OpenGenes database through an AI assistant using natural language, which gets translated to SQL queries via the MCP server. You can use this database both in chat interfaces for research questions and in AI-based development tools (like Cursor, Windsurf, VS Code with Copilot) to significantly improve your bioinformatics productivity by having direct access to aging and longevity research data while coding.

About MCP (Model Context Protocol)

MCP is a protocol that bridges the gap between AI systems and specialized domain knowledge. It enables:

  • Structured Access: Direct connection to authoritative aging and longevity research data

  • Natural Language Queries: Simplified interaction with specialized databases through SQL

  • Type Safety: Strong typing and validation through FastMCP

  • AI Integration: Seamless integration with AI assistants and agents

Data Source and Updates

The OpenGenes MCP server automatically downloads data from the longevity-genie/bio-mcp-data repository on Hugging Face Hub. This ensures:

  • Always Up-to-Date: Automatic access to the latest OpenGenes database without manual updates

  • Reliable Distribution: Centralized data hosting with version control and change tracking

  • Efficient Caching: Downloaded files are cached locally to minimize network requests

  • Fallback Support: Local fallback files are supported for development and offline use

The data files are stored in the opengenes subfolder of the Hugging Face repository and include:

  • open_genes.sqlite - The complete OpenGenes database

  • prompt.txt - Database schema documentation and usage guidelines

Available Tools

This server provides three main tools for interacting with the OpenGenes database:

  1. opengenes_db_query(sql: str) - Execute read-only SQL queries against the OpenGenes database

  2. opengenes_get_schema_info() - Get detailed schema information including tables, columns, and enumerations

  3. opengenes_example_queries() - Get a list of example SQL queries with descriptions

Available Resources

  1. resource://db-prompt - Complete database schema documentation and usage guidelines

  2. resource://schema-summary - Formatted summary of tables and their purposes

Quick Start

Installing uv

# Download and install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Verify installation
uv --version
uvx --version

uvx is a very nice tool that can run a python package installing it if needed.

Running with uvx

You can run the opengenes-mcp server directly using uvx without cloning the repository:

# Run the server in streamed http mode (default)
uvx opengenes-mcp

STDIO Mode (for MCP clients that require stdio, can be useful when you want to save files)

# Or explicitly specify stdio mode
uvx opengenes-mcp stdio

HTTP Mode (Web Server)

# Run the server in streamable HTTP mode on default (3001) port
uvx opengenes-mcp server

# Run on a specific port
uvx opengenes-mcp server --port 8000

SSE Mode (Server-Sent Events)

# Run the server in SSE mode
uvx opengenes-mcp sse

In cases when there are problems with uvx often they can be caused by clenaing uv cache:

uv cache clean

The HTTP mode will start a web server that you can access at http://localhost:3001/mcp (with documentation at http://localhost:3001/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.

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.

Configuring your AI Client (Anthropic Claude Desktop, Cursor, Windsurf, etc.)

Quick Configuration Example

Here's what you can copy directly into your Claude Desktop or Cursor MCP configuration:

{
  "mcpServers": {
    "opengenes-mcp": {
      "command": "uvx",
      "args": ["opengenes-mcp"],
      "env": {
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Alternative: Using Preconfigured Files

We also provide preconfigured JSON files for different use cases:

  • For STDIO mode (recommended): Use mcp-config-stdio.json

  • For HTTP mode: Use mcp-config.json

  • For local development: Use mcp-config-stdio-debug.json

Configuration Video Tutorial

For a visual guide on how to configure MCP servers with AI clients, check out our configuration tutorial video for our sister MCP server (biothings-mcp). The configuration principles are exactly the same for the OpenGenes MCP server - just use the appropriate JSON configuration files provided above.

Inspecting OpenGenes MCP server

If you want to inspect the methods provided by the MCP server, use npx (you may need to install nodejs and npm):

For STDIO mode with uvx:

npx @modelcontextprotocol/inspector --config mcp-config-stdio.json --server opengenes-mcp

For HTTP mode (ensure server is running first):

npx @modelcontextprotocol/inspector --config mcp-config.json --server opengenes-mcp

For local development:

npx @modelcontextprotocol/inspector --config mcp-config-stdio-debug.json --server opengenes-mcp

You can also run the inspector manually and configure it through the interface:

npx @modelcontextprotocol/inspector

After that you can explore the tools and resources with MCP Inspector at http://127.0.0.1:6274 (note, if you run inspector several times it can change port)

Integration with AI Systems

Simply point your AI client (like Cursor, Windsurf, ClaudeDesktop, VS Code with Copilot, or others) to use the appropriate configuration file from the repository.

Repository setup

# Clone the repository
git clone https://github.com/longevity-genie/opengenes-mcp.git
cd opengenes-mcp
uv sync

Running the MCP Server

If you already cloned the repo you can run the server with uv:

# Start the MCP server locally (HTTP mode)
uv run server

# Or start in STDIO mode  
uv run stdio

# Or start in SSE mode
uv run sse

Database Schema

Main Tables

  • lifespan_change (47 columns): Experimental lifespan data with intervention details across model organisms

  • gene_criteria (2 columns): Gene classifications by aging criteria (12 different categories)

  • gene_hallmarks (2 columns): Hallmarks of aging mappings for genes

  • longevity_associations (11 columns): Population genetics longevity data from human studies

Key Fields

  • HGNC: Gene symbol (primary identifier across all tables)

  • model_organism: Research organism (mouse, C. elegans, fly, etc.)

  • effect_on_lifespan: Direction of lifespan change (increases/decreases/no change)

  • intervention_method: Method of genetic intervention (knockout, overexpression, etc.)

  • criteria: Aging-related gene classification (12 categories)

  • hallmarks of aging: Biological aging processes associated with genes

Example Queries

-- Get top genes with most lifespan experiments
SELECT HGNC, COUNT(*) as experiment_count 
FROM lifespan_change 
WHERE HGNC IS NOT NULL 
GROUP BY HGNC 
ORDER BY experiment_count DESC 
LIMIT 10;

-- Find genes that increase lifespan in mice
SELECT DISTINCT HGNC, effect_on_lifespan 
FROM lifespan_change 
WHERE model_organism = 'mouse' 
AND effect_on_lifespan = 'increases lifespan' 
AND HGNC IS NOT NULL;

-- Get hallmarks of aging for genes
SELECT HGNC, "hallmarks of aging" 
FROM gene_hallmarks 
WHERE "hallmarks of aging" LIKE '%mitochondrial%';

-- Find longevity associations by ethnicity
SELECT HGNC, "polymorphism type", "nucleotide substitution", ethnicity 
FROM longevity_associations 
WHERE ethnicity LIKE '%Italian%';

-- Find genes with both lifespan effects and longevity associations
SELECT DISTINCT lc.HGNC 
FROM lifespan_change lc 
INNER JOIN longevity_associations la ON lc.HGNC = la.HGNC 
WHERE lc.HGNC IS NOT NULL;

Safety Features

  • Read-only access: Only SELECT queries are allowed

  • Input validation: Blocks INSERT, UPDATE, DELETE, DROP, CREATE, ALTER, TRUNCATE operations

  • Error handling: Comprehensive error handling with informative messages

Testing & Verification

The MCP server is provided with comprehensive tests including LLM-as-a-judge tests that evaluate the quality of responses to complex queries. However, LLM-based tests are disabled by default in CI to save costs.

Environment Setup for LLM Agent Tests

If you want to run LLM agent tests that use MCP functions with Gemini models, you need to set up a .env file with your Gemini API key:

# Create a .env file in the project root
echo "GEMINI_API_KEY=your-gemini-api-key-here" > .env

Note: The .env file and Gemini API key are only required for running LLM agent tests. All other tests and basic MCP server functionality work without any API keys.

Running Tests

Run tests for the MCP server:

uv run pytest -vvv -s

You can also run manual tests:

uv run python test/manual_test_questions.py

You can use MCP inspector with locally built MCP server same way as with uvx.

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.

If you choose to use the Inspector via npx, ensure you have Node.js and npm installed. Using nvm (Node Version Manager) is recommended for managing Node.js versions.

Example questions that MCP helps to answer

  • Interventions on which genes extended mice lifespan most of all?

  • Which knockdowns were most lifespan extending on model animals?

  • What processes are improved in GHR knockout mice?

  • Which genetic intervention led to the greatest increase in lifespan in flies?

  • To what extent did the lifespan increase in mice overexpressing VEGFA?

  • Are there any liver-specific interventions that increase lifespan in mice?

  • Which gene-longevity association is confirmed by the greatest number of studies?

  • What polymorphisms in FOXO3 are associated with human longevity?

  • In which ethnic groups was the association of the APOE gene with longevity shown?

  • Is the INS gene polymorphism associated with longevity?

  • What genes are associated with transcriptional alterations?

  • Which hallmarks are associated with the KL gene?

  • How many genes are associated with longevity in humans?

  • What types of studies have been conducted on the IGF1R gene?

  • What evidence of the link between PTEN and aging do you know?

  • What genes are associated with both longevity and altered expression in aged humans?

  • Is the expression of the ACE2 gene altered with aging in humans?

  • What genes need to be downregulated in worms to extend their lifespan?

Contributing

We welcome contributions from the community! ๐ŸŽ‰ Whether you're a researcher, developer, or enthusiast interested in aging and longevity research, there are many ways to get involved:

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.

Ways to Contribute

  • ๐Ÿ› Bug Reports: Found an issue? Please open a GitHub issue with detailed information

  • ๐Ÿ’ก Feature Requests: Have ideas for new functionality? We'd love to hear them!

  • ๐Ÿ“ Documentation: Help improve our documentation, examples, or tutorials

  • ๐Ÿงช Testing: Add test cases, especially for edge cases or new query patterns

  • ๐Ÿ” Data Quality: Help identify and report data inconsistencies or suggest improvements

  • ๐Ÿš€ Performance: Optimize queries, improve caching, or enhance server performance

  • ๐ŸŒ Integration: Create examples for new MCP clients or AI systems

  • ๐ŸŽฅ Tutorials & Videos: Create tutorials, video guides, or educational content showing how to use MCP servers

  • ๐Ÿ“– User Stories: Share your research workflows and success stories using our MCP servers

  • ๐Ÿค Community Outreach: Help us evangelize MCP adoption in the bioinformatics community

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 (this one and others we develop) help demonstrate the practical benefits and encourage wider adoption.

Getting Started

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes and add tests

  4. Run the test suite (uv run pytest)

  5. Commit your changes (git commit -m 'Add amazing feature')

  6. Push to your branch (git push origin feature/amazing-feature)

  7. Open a Pull Request

Development Guidelines

  • Follow the existing code style (we use black for formatting)

  • Add tests for new functionality

  • Update documentation as needed

  • Keep commits focused and write clear commit messages

Questions or Ideas?

Don'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 longevity research for everyone. ๐Ÿงฌโœจ

Known Issues

Database Coverage

Currently, this MCP server uses only a subset of the complete OpenGenes database. The full OpenGenes database contains additional tables and data that are not yet included in our MCP implementation. We need contributors to help extend support for the complete database! If you're interested in helping expand the database coverage, please see our Contributing section.

Test Coverage

While we provide comprehensive tests including LLM-as-a-judge evaluations, not all test cases have been manually verified against the actual OpenGenes web interface. Some automated test results may need manual validation to ensure accuracy. Contributions to improve test coverage and validation are welcome.

License

This project is licensed under the MIT License.

Acknowledgments

  • OpenGenes Database for the comprehensive aging research data

    • Rafikova E, Nemirovich-Danchenko N, Ogmen A, Parfenenkova A, Velikanova A, Tikhonov S, Peshkin L, Rafikov K, Spiridonova O, Belova Y, Glinin T, Egorova A, Batin M. Open Genes-a new comprehensive database of human genes associated with aging and longevity. Nucleic Acids Res. 2024 Jan 5;52(D1):D950-D962. doi: 10.1093/nar/gkad712. PMID: 37665017; PMCID: PMC10768108.

  • Model Context Protocol for the protocol specification

  • FastMCP for the MCP server framework

This project is part of the Longevity Genie organization, which develops open-source AI assistants and libraries for health, genetics, and longevity research.

Other MCP Servers in the Holy Bio MCP Framework

This server is part of the complete Holy Bio MCP framework, which includes:

  • gget-mcp - Powerful bioinformatics toolkit for genomics queries and analysis

  • synergy-age-mcp - Database of synergistic and antagonistic genetic interactions in longevity

  • biothings-mcp - Access to BioThings.io APIs for comprehensive gene, variant, chemical, and taxonomic data

  • pharmacology-mcp - Access to the Guide to PHARMACOLOGY database for drug, target, and ligand information

The framework provides unified configuration files that enable all servers at once, making it easy to access 50+ specialized bioinformatics functions through a single setup. This award-winning project continues to evolve as a comprehensive platform for AI-driven biological research.

We are supported by:

HEALES

HEALES - Healthy Life Extension Society

and

IBIMA

IBIMA - Institute for Biostatistics and Informatics in Medicine and Ageing Research

Available Tools

3 tools
opengenes_db_queryB

Query the Opengenes database that contains data about genes involved in longevity, lifespan extension experiments on model organisms, and changes in human and other organisms with aging. Before caling this tool the first time, always check tools that provide schema information and example queries.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
rowsYesQuery result rows
countYesNumber of rows returned
queryYesThe SQL query that was executed

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the database content and query action, it lacks critical behavioral details: what type of queries are supported (e.g., SELECT only?), authentication requirements, rate limits, error handling, or what the output looks like (though an output schema exists). The description adds some context but is insufficient for a mutation-like tool (querying a database).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two sentences. The first sentence clearly states the purpose, and the second provides critical usage guidance. Both sentences earn their place, though it could be slightly more front-loaded by leading with the action (query) more explicitly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (database query tool), no annotations, and 0% schema coverage, the description is moderately complete. It covers purpose and usage guidelines well, and an output schema exists to handle return values. However, it lacks details on parameter semantics and behavioral transparency, leaving gaps for the agent to infer how to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about the single parameter 'sql', and schema description coverage is 0%. It doesn't explain what SQL syntax is expected, valid query types, or any constraints (e.g., read-only queries). The baseline would be lower, but the usage guideline indirectly hints at checking schema tools for parameter details, offering minimal compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to query a specific database (Opengenes) containing gene data related to longevity and aging. It specifies the database content (genes involved in longevity, lifespan experiments, aging changes) and the action (query). However, it doesn't explicitly differentiate from its siblings (opengenes_example_queries, opengenes_get_schema_info) beyond the query action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Before calling this tool the first time, always check tools that provide schema information and example queries.' This directly references the sibling tools (opengenes_example_queries, opengenes_get_schema_info) as prerequisites, giving clear when-to-use instructions and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

opengenes_example_queriesB

Get a list of example SQL queries

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool does but doesn't reveal any behavioral traits such as whether it's read-only, if it has rate limits, what the output format might be, or any authentication requirements. This leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that directly states the tool's function without any unnecessary words. It is front-loaded and efficiently conveys the core purpose, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations) and the presence of an output schema, the description is minimally adequate. However, it doesn't provide context on why or when to use this tool over siblings, and with no annotations, it misses behavioral details that could help the agent. The output schema likely covers return values, but the description could still benefit from more contextual guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter information is needed. The description doesn't add parameter details, which is appropriate here, but it could have mentioned if there are any implicit parameters or options. Baseline is 4 for zero parameters, as the schema fully covers the lack of inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('a list of example SQL queries'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'opengenes_get_schema_info', which might also provide informational content about the database structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as 'opengenes_db_query' for executing queries or 'opengenes_get_schema_info' for schema details. It lacks context on prerequisites or typical use cases, leaving the agent to infer usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

opengenes_get_schema_infoC

Get information about the database schema

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves information, implying a read-only operation, but doesn't specify details like authentication needs, rate limits, or what the output contains. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is appropriately sized and front-loaded, making it easy to parse. However, it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 0 parameters, 100% schema coverage, and an output schema exists, the description is minimally complete. It states what the tool does but lacks details on usage context, behavioral traits, or output specifics. For a simple tool, this is adequate but leaves room for improvement in guiding the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100%, so there are no parameters to document. The description doesn't need to add parameter semantics, and it doesn't incorrectly imply any parameters. A baseline score of 4 is appropriate as the description doesn't mislead about parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose ('Get information about the database schema'), which is clear but vague. It specifies a verb ('Get') and resource ('database schema'), but doesn't distinguish it from sibling tools like 'opengenes_db_query' or explain what type of schema information is retrieved. This makes it adequate but with clear gaps in specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'opengenes_db_query' or 'opengenes_example_queries', nor does it specify contexts or prerequisites for usage. This lack of comparative or contextual advice leaves the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv1.0.0
    • Changedopengenes_db_query2 fields changed
      • removedInput schema / properties / sql / title
        Removed value: -"Sql"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "Result from a database query.",
        +  "properties": {
        +    "count": {
        +      "description": "Number of rows returned",
        +      "type": "integer"
        +    },
        +    "query": {
        +      "description": "The SQL query that was executed",
        +      "type": "string"
        +    },
        +    "rows": {
        +      "description": "Query result rows",
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "rows",
        +    "count",
        +    "query"
        +  ],
        +  "type": "object"
        +}
    • Changedopengenes_example_queries1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "result": {
        +      "items": {
        +        "additionalProperties": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "result"
        +  ],
        +  "type": "object",
        +  "x-fastmcp-wrap-result": true
        +}
    • Changedopengenes_get_schema_info1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "type": "object"
        +}
  2. 3 tool updates
    • First observedopengenes_db_query
    • First observedopengenes_example_queries
    • First observedopengenes_get_schema_info

TDQS

B3.4/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: one queries the database, one provides example queries, and one gives schema information. An agent can easily tell them apart based on their specific functions.

Naming Consistency5/5

All tools follow a consistent 'opengenes_' prefix with descriptive suffixes (_db_query, _example_queries, _get_schema_info), using snake_case uniformly. This predictable pattern enhances readability and usability.

Tool Count3/5

With only 3 tools, the set feels thin for a database query server, as it lacks operations like data manipulation (e.g., insert, update) or advanced query features. However, it covers basic query support adequately for its stated purpose.

Completeness3/5

The tools provide essential query, example, and schema functions, but there are notable gaps such as no data modification tools (e.g., create, update, delete) or specialized query filters. This limits the server's ability to handle full database workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to conversationally interact with genomics research networks for data analysis and discovery across multiple Omics AI Explorer platforms. It provides tools for exploring data collections, examining table schemas, and executing SQL queries against datasets like Viral AI and Neuroscience AI.
    6
    1
    MIT
  • A
    license
    C
    quality
    F
    maintenance
    Provides AI-powered access to major biological databases for GWAS and bioinformatics research. Enables natural language queries for protein, gene, variant, pathway, and drug discovery analysis.
    44
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to query clinical genomics databases, retrieve supporting literature, analyze population genetics, and visualize biological pathways.
    18
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects AI agents to the OpenAlex scholarly database, enabling search and retrieval of works, authors, institutions, and sources via natural language.
    9
    MIT