A Model Context Protocol (MCP) server for analyzing DNA data with privacy protection, packaged as a Desktop Extension (DXT) for easy installation across DXT-compatible applications.
- List DNA Subjects: Browse available DNA test subjects in your collection
- Subject Information: Get personal information about individuals
- Test Metadata: Access DNA test details (company, date, array version, etc.)
- SNP Queries: Query specific genetic variants by RSID (max 10 per query for privacy)
- Privacy-First: All data processing happens locally on your machine
- Cross-Platform: Works on macOS, Windows, and Linux
- Download the latest .dxt file from GitHub Releases
- Simply double-click on
dna-analysis-mcp.dxtto install automatically in Claude Desktop
If the double-click method doesn't work:
-
Download the .dxt file
- Get
dna-analysis-mcp.dxtfrom the GitHub releases - Or build from source (see Development section below)
- Get
-
Install via Claude Desktop
- Open Claude Desktop
- Go to Settings β Extensions
- Drag the .dxt file on the window
- Node.js 16.0.0 or higher (automatically handled by the .dxt file)
- Claude Desktop or other DXT-compatible application
If not using DXT, you can manually add to claude_desktop_config.json:
{
"mcpServers": {
"dna-analysis": {
"command": "node",
"args": ["/ABSOLUTE_PATH/dna-analysis-mcp/server/index.js"],
"env": {
"DNA_PROFILES_DIRECTORY": "~/dna-profiles"
}
}
}
}After installation, you need to create the DNA profiles directory and add your data:
# Create the main directory
mkdir -p ~/dna-profiles
# Create your first subject folder (replace 'john_doe' with desired name)
mkdir -p ~/dna-profiles/john_doeDNA profiles are organized in the configured directory (default: ~/dna-profiles/):
~/dna-profiles/
βββ john_doe/
β βββ snp.txt # Required: Raw genetic data
β βββ subject_info.txt # Optional: Personal information
β βββ test_info.txt # Optional: Test metadata
βββ jane_smith/
β βββ snp.txt
β βββ test_info.txt
βββ ...
If you have a DNA export file from 23andMe, AncestryDNA, or other services, you can use an AI agent to automatically convert it to the correct format. Copy this prompt and share your DNA export file with an AI agent:
I have a DNA export file that I need to convert for use with the DNA Analysis MCP Server. Please help me:
1. Analyze my DNA export file and convert it to the required format:
- Create a tab-delimited file called `snp.txt` with this exact header: `rsid chromosome position allele1 allele2`
- Extract all SNP data rows that have valid RSIDs (format: rs followed by numbers)
- Ensure proper tab separation between columns
2. Extract any available metadata and create these optional files:
- `subject_info.txt` - Any personal information (name, age, gender, ethnicity, etc.)
- `test_info.txt` - Test details (company name, test date, array version, quality scores, etc.)
3. Set up the directory structure:
- Create `~/dna-profiles/[subject_name]/` directory (use appropriate subject name)
- Place all three files in that directory
- Create the main `~/dna-profiles/` directory if it doesn't exist
Please process my DNA export file and create the properly formatted files in the correct directory structure.
Alternatively, here's how to set up your first subject with example data manually:
# Create example subject folder
mkdir -p ~/dna-profiles/john_doe
# Create the required SNP data file
cat > ~/dna-profiles/john_doe/snp.txt << 'EOF'
rsid chromosome position allele1 allele2
rs3131972 1 230710048 A G
rs1815739 11 66328095 C T
rs4988235 2 135851076 T T
EOF
# Create optional subject info file
cat > ~/dna-profiles/john_doe/subject_info.txt << 'EOF'
Name: John Doe
Age: 35
Gender: Male
Ethnicity: European
Notes: Personal genetic analysis
EOF
# Create optional test info file
cat > ~/dna-profiles/john_doe/test_info.txt << 'EOF'
Company: 23andMe
Test Date: 2024-01-15
Array Version: v5
Quality Score: 99.2%
Total SNPs: 650000
EOFsnp.txt - Tab-delimited genetic data compatible with major DNA testing companies:
rsid chromosome position allele1 allele2
rs3131972 1 230710048 A G
rs1815739 11 66328095 C T
rs4988235 2 135851076 T T
subject_info.txt- Demographics, background, notes about the individualtest_info.txt- Test company, date, array version, quality metrics
Lists all available DNA subjects with optional regex filtering.
Parameters:
pattern(optional): Regex pattern to filter subject names
Retrieves personal information about a specific subject.
Parameters:
subject_name(required): Name of the subject
Gets metadata about the DNA test for a specific subject.
Parameters:
subject_name(required): Name of the subject
Queries SNP data for specific RSIDs (maximum 10 per query).
Parameters:
subject_name(required): Name of the subjectrsids(required): Single RSID string or array of RSIDs
- β All DNA data remains on your computer
- β No data transmission to external servers
- β AI sees only requested SNP data, not entire genome
- β No bulk data export capabilities
- Query Limits: Maximum 10 RSIDs per query
- File Size Limits: 100MB maximum file size protection
- Timeout Protection: 30-second operation timeouts
- Input Validation: Strict RSID format validation
If you want to build your own .dxt file:
# Clone the repository
git clone https://github.com/vlad-ds/dna-analysis-mcp.git
cd dna-analysis-mcp
# Install dependencies
npm install
# Build the TypeScript source
npm run build
# Create the .dxt file
npx @anthropic-ai/dxt packThis will create dna-analysis-mcp.dxt in the project root, ready for installation.
# Development build and run
npm run dev
# Clean build artifacts
npm run clean
# Test the server manually
node server/index.js# Basic functionality test
npm test
# Manual testing with sample data
node server/index.jsVlad Gheorghe
- Report issues on GitHub Issues