Back to Templates

Access Rat Genome Database with 100+ Operations via REST API MCP Server

Created by

Created by: David Ashby || cfomodz

David Ashby

Last update

Last update 5 days ago

Share


⚠️ ADVANCED USE ONLY - Rat Genome Database REST MCP Server (100 operations)

🚨 This workflow is for advanced users only!

This MCP server contains 100 operations which is significantly more than the recommended maximum of tools for most AI clients.

🔍 Recommended Alternative for basic use cases

Seek a simplified MCP server that utilizes the official n8n tool implementation for Rat Genome Database REST if available, or an MCP server with only common operations as it will be more efficient and easier to manage.

🛠️ Advanced Usage Requirements

BEFORE adding this MCP server to your client:

Disable or delete unused nodes - Review sections and disable/delete those you don't need

AFTER adding the MCP server to your client:
1.Selective tool enabling - Instead of enabling all tools (default), manually select only the specific tools you need for that Workflow's MCP client.
2. Monitor performance - Too many tools can slow down AI responses

💡 Pro Tips

Keep maximum 40 enabled tools - Most AI clients perform better with fewer tools

  • Group related operations and only enable one group at a time

  • Use the overview note to understand what each operation group does

  • Ping me on discord if your business needs this implemented professionally

⚡ Quick Setup

  1. Import this workflow into your n8n instance
  2. Credentials Add Rat Genome Database REST API credentials
  3. Activate the workflow to start your MCP server
  4. Copy the webhook URL from the MCP trigger node
  5. Connect AI agents using the MCP URL

🔧 How it Works

This workflow converts the Rat Genome Database REST API into an MCP-compatible interface for AI agents.

MCP Trigger: Serves as your server endpoint for AI agent requests
HTTP Request Nodes: Handle API calls to //rest.rgd.mcw.edu/rgdws
AI Expressions: Automatically populate parameters via $fromAI() placeholders
Native Integration: Returns responses directly to the AI agent

📋 Available Operations (100 total)

🔧 Agr (6 endpoints)

GET /agr/affectedGenomicModels/{taxonId}: Get affected genomic models (rat strains with gene alleles) submitted by RGD ...
GET /agr/alleles/{taxonId}: Get gene allele records submitted by RGD to AGR by taxonId
GET /agr/expression/{taxonId}: Get expression annotations submitted by RGD to AGR by taxonId
GET /agr/phenotypes/{taxonId}: Get phenotype annotations submitted by RGD to AGR by taxonId
GET /agr/variants/{taxonId}: Get basic variant records submitted by RGD to AGR by taxonId
GET /agr/{taxonId}: Get gene records submitted by RGD to AGR by taxonId

🔧 Annotations (10 endpoints)

POST /annotations/: Get Annotation 17
GET /annotations/accId/{rgdId}: Returns a list ontology term accession IDs annotated to an rgd object
GET /annotations/count/{accId}/{includeChildren}: Returns annotation count for ontology accession ID
GET /annotations/count/{accId}/{speciesTypeKey}/{includeChildren}: Returns annotation count for ontology accession ID and speicies
GET /annotations/count/{accId}/{speciesTypeKey}/{includeChildren}/{objectType}: Returns annotation count for ontology accession ID and object type
GET /annotations/reference/{refRgdId}: Returns a list of annotations for a reference
GET /annotations/rgdId/{rgdId}: Returns a list of annotations by RGD ID
GET /annotations/rgdId/{rgdId}/{ontologyPrefix}: Returns a list of annotations by RGD ID and ontology prefix
GET /annotations/{accId}/{rgdId}: Returns a list of annotations by RGD ID and ontology term accession ID
GET /annotations/{accId}/{speciesTypeKey}/{includeChildren}: Returns a list annotations for an ontology term or a term and it's children

🔧 Enrichment (2 endpoints)

POST /enrichment/annotatedGenes: Create Enrichment 2
POST /enrichment/data: Create Enrichment 3

🔧 Genes (16 endpoints)

GET /genes/affyId/{affyId}/{speciesTypeKey}: Return a list of genes for an affymetrix ID
GET /genes/alias/{aliasSymbol}/{speciesTypeKey}: Return a list of genes for an alias and species
GET /genes/allele/{rgdId}: Return a list of gene alleles
POST /genes/annotation: Get Gene 18
GET /genes/annotation/{accId}: Return a list of genes annotated to an ontology term
GET /genes/annotation/{accId}/{speciesTypeKey}: Return a list of genes annotated to an ontology term
GET /genes/keyword/{keyword}/{speciesTypeKey}: Return a list of genes by keyword and species type key
GET /genes/map/{mapKey}: Return a list of all genes with position information for an assembly
GET /genes/mapped/{chr}/{start}/{stop}/{mapKey}: Return a list of genes position and map key
POST /genes/orthologs: Get Gene 22
GET /genes/orthologs/{rgdId}: Return a list of gene orthologs
GET /genes/region/{chr}/{start}/{stop}/{mapKey}: Return a list of genes in region
GET /genes/species/{speciesTypeKey}: Return a list of all genes for a species in RGD
GET /genes/{chr}/{start}/{stop}/{mapKey}: Return a list of genes position and map key
GET /genes/{rgdId}: Get a gene record by RGD ID
GET /genes/{symbol}/{speciesTypeKey}: Get a gene record by symbol and species type key

🔧 Lookup (24 endpoints)

GET /lookup/geneTypes: Get Lookup 14
POST /lookup/id/map/EnsemblGene: Get Lookup 15
GET /lookup/id/map/EnsemblGene/{rgdId}: Translate an RGD ID to an Ensembl Gene ID
POST /lookup/id/map/EnsemblProtein: Get Lookup 16
GET /lookup/id/map/EnsemblProtein/{rgdId}: Translate an RGD ID to an Ensembl Protein ID
POST /lookup/id/map/EnsemblTranscript: Get Lookup 17
GET /lookup/id/map/EnsemblTranscript/{rgdId}: Translate an RGD ID to an Ensembl Transcript ID
POST /lookup/id/map/GTEx: Get Lookup 18
GET /lookup/id/map/GTEx/{rgdId}: Translate an RGD ID to an GTEx ID
POST /lookup/id/map/GenBankNucleotide: Get Lookup 19
GET /lookup/id/map/GenBankNucleotide/{rgdId}: Translate an RGD ID to a GenBank Nucleotide ID
POST /lookup/id/map/GenBankProtein: Get Lookup 20
GET /lookup/id/map/GenBankProtein/{rgdId}: Translate an RGD ID to a GenBank Protein ID
POST /lookup/id/map/HGNC: Get Lookup 21
GET /lookup/id/map/HGNC/{rgdId}: Translate an RGD ID to an HGNC ID
POST /lookup/id/map/MGI: Get Lookup 22
GET /lookup/id/map/MGI/{rgdId}: Translate an RGD ID to an MGI ID
POST /lookup/id/map/NCBIGene: Get Lookup 23
GET /lookup/id/map/NCBIGene/{rgdId}: Translate an RGD ID to an NCBI Gene ID
POST /lookup/id/map/UniProt: Get Lookup 24
GET /lookup/id/map/UniProt/{rgdId}: Translate an RGD ID to a UniProt ID
GET /lookup/maps/{speciesTypeKey}: Return a list assembly maps for a species
GET /lookup/speciesTypeKeys: Get Lookup 26
GET /lookup/standardUnit/{accId}: Return a standardUnit for an ontology if it exists

🔧 Maps (3 endpoints)

GET /maps/chr/{chromosome}/{mapKey}: Return a list of chromosomes
GET /maps/chr/{mapKey}: Return a list of chromosomes
GET /maps/{speciesTypeKey}: Return a list of assemblies

🔧 Ontology (3 endpoints)

GET /ontology/ont/{accId}: Returns child and parent terms for Accession ID
GET /ontology/term/{accId1}/{accId2}: Returns true or false for terms
GET /ontology/term/{accId}: Returns term for Accession ID

🔧 Pathways (2 endpoints)

GET /pathways/diagrams/search/{searchString}: Return a list of pathways based on search term
GET /pathways/diagramsForCategory/{category}: Return a list of pathways based on category provided

🔧 Phenotype (2 endpoints)

GET /phenotype/phenominer/chart/{speciesTypeKey}/{refRgdId}/{termString}: Get {Termstring}
GET /phenotype/phenominer/chart/{speciesTypeKey}/{termString}: Get {Termstring}

🔧 Qtls (3 endpoints)

GET /qtls/mapped/{chr}/{start}/{stop}/{mapKey}: Returns a list QTL for given position and assembly map
GET /qtls/{chr}/{start}/{stop}/{mapKey}: Returns a list QTL for given position and assembly map
GET /qtls/{rgdId}: Return a QTL for provided RGD ID

🔧 Sslps (1 endpoints)

GET /sslps/mapped/{chr}/{start}/{stop}/{mapKey}: Returns a list SSLP for given position and assembly map

🔧 Stats (25 endpoints)

GET /stats/count/activeObject/{speciesTypeKey}/{dateYYYYMMDD}: Count of active objects by type, for specified species and date
GET /stats/count/geneType/{speciesTypeKey}/{dateYYYYMMDD}: Count of gene types, for specified species and date
GET /stats/count/objectStatus/{speciesTypeKey}/{dateYYYYMMDD}: Count of objects with given status, for specified species and date
GET /stats/count/objectWithRefSeq/{speciesTypeKey}/{dateYYYYMMDD}: Count of objects with reference sequence(s), by object type, for specified sp...
GET /stats/count/objectWithReference/{speciesTypeKey}/{dateYYYYMMDD}: Count of objects with reference, by object type, for specified species and date
GET /stats/count/objectWithXdb/{speciesTypeKey}/{objectKey}/{dateYYYYMMDD}: Get {Dateyyyymmdd}
GET /stats/count/proteinInteraction/{speciesTypeKey}/{dateYYYYMMDD}: Count of protein interactions, for specified species and date
GET /stats/count/qtlInheritanceType/{speciesTypeKey}/{dateYYYYMMDD}: Count of strains, by qtl inheritance type, for specified species and date
GET /stats/count/retiredObject/{speciesTypeKey}/{dateYYYYMMDD}: Count of retired objects by type, for specified species and date
GET /stats/count/strainType/{speciesTypeKey}/{dateYYYYMMDD}: Count of strain types, for specified species and date
GET /stats/count/withdrawnObject/{speciesTypeKey}/{dateYYYYMMDD}: Count of withdrawn objects by type, for specified species and date
GET /stats/count/xdb/{speciesTypeKey}/{dateYYYYMMDD}: Count of external database ids, for specied species and date
GET /stats/diff/activeObject/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of active objects, by type, for specified species and date r...
GET /stats/diff/geneType/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of gene types, for specified species and date range
GET /stats/diff/objectStatus/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of objects with given status, for specified species and date...
GET /stats/diff/objectWithRefSeq/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Get {Datetoyyyymmdd}
GET /stats/diff/objectWithReference/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of objects with reference, by object type, for specified spe...
GET /stats/diff/objectWithXdb/{speciesTypeKey}/{objectKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Get {Datetoyyyymmdd}
GET /stats/diff/proteinInteraction/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of protein interactions, for specified species and date range
GET /stats/diff/qtlInheritanceType/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of strains, by qtl inheritance type, for specified species a...
GET /stats/diff/retiredObject/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of retired objects, by type, for specified species and date ...
GET /stats/diff/strainType/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of strain types, for specified species and date range
GET /stats/diff/withdrawnObject/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of withdrawn objects, by type, for specified species and dat...
GET /stats/diff/xdb/{speciesTypeKey}/{dateFromYYYYMMDD}/{dateToYYYYMMDD}: Count difference of external database ids, for specified species and date range
GET /stats/term/{accId}/{filterAccId}: getTermStats

🔧 Strains (3 endpoints)

GET /strains/all: Get Strains 1
GET /strains/{chr}/{start}/{stop}/{mapKey}: Return all active strains by position
GET /strains/{rgdId}: Return a strain by RGD ID

🤖 AI Integration

Parameter Handling: AI agents automatically provide values for:
• Path parameters and identifiers
• Query parameters and filters
• Request body data
• Headers and authentication

Response Format: Native Rat Genome Database REST API responses with full data structure

Error Handling: Built-in n8n HTTP request error management

💡 Usage Examples

Connect this MCP server to any AI agent or workflow:

Claude Desktop: Add MCP server URL to configuration
Cursor: Add MCP server SSE URL to configuration
Custom AI Apps: Use MCP URL as tool endpoint
API Integration: Direct HTTP calls to MCP endpoints

✨ Benefits

Zero Setup: No parameter mapping or configuration needed
AI-Ready: Built-in $fromAI() expressions for all parameters
Production Ready: Native n8n HTTP request handling and logging
Extensible: Easily modify or add custom logic

🆓 Free for community use! Ready to deploy in under 2 minutes.