Spaces:
Sleeping
A newer version of the Gradio SDK is available: 6.11.0
OpenProblems Spatial Transcriptomics MCP Server - Implementation Summary
๐ฏ Project Overview
We have successfully implemented a Model Context Protocol (MCP) server for the OpenProblems project, specifically designed to enable AI agents to interact with spatial transcriptomics workflows. This server acts as a standardized bridge between AI applications and complex bioinformatics tools (Nextflow, Viash, Docker).
๐๏ธ Architecture
Core Components
SpatialAI_MCP/
โโโ src/mcp_server/
โ โโโ __init__.py # Package initialization
โ โโโ main.py # Core MCP server implementation
โ โโโ cli.py # Command-line interface
โโโ config/
โ โโโ server_config.yaml # Server configuration
โโโ docker/
โ โโโ Dockerfile # Container definition
โ โโโ docker-compose.yml # Orchestration setup
โโโ tests/
โ โโโ test_mcp_server.py # Comprehensive test suite
โโโ examples/
โ โโโ simple_client.py # Demo client application
โโโ docs/
โ โโโ SETUP.md # Installation and setup guide
โโโ requirements.txt # Python dependencies
โโโ pyproject.toml # Modern Python packaging
MCP Server Architecture
The server implements the Model Context Protocol specification with:
- Transport: stdio (primary) with HTTP support planned
- Resources: Machine-readable documentation and templates
- Tools: Executable functions for bioinformatics workflows
- Prompts: Future extension for guided interactions
๐ ๏ธ Implemented Features
MCP Tools (AI-Executable Functions)
echo_test- Basic connectivity verificationlist_available_tools- Dynamic tool discoveryrun_nextflow_workflow- Execute Nextflow pipelinesrun_viash_component- Execute Viash componentsbuild_docker_image- Build Docker containersanalyze_nextflow_log- Intelligent log analysis and troubleshooting
MCP Resources (Contextual Information)
server://status- Real-time server status and capabilitiesdocumentation://nextflow- Nextflow best practices and patternsdocumentation://viash- Viash component guidelinesdocumentation://docker- Docker optimization strategiestemplates://spatial-workflows- Curated pipeline templates
Key Capabilities
- โ Nextflow Integration: Execute DSL2 workflows with proper resource management
- โ Viash Support: Run modular components with Docker/native engines
- โ Docker Operations: Build and manage container images
- โ Log Analysis: AI-powered troubleshooting with pattern recognition
- โ Error Handling: Robust timeout and retry mechanisms
- โ Documentation as Code: Machine-readable knowledge base
- โ Template Library: Reusable spatial transcriptomics workflows
๐ Getting Started
Quick Installation
# 1. Clone the repository
git clone https://github.com/openproblems-bio/SpatialAI_MCP.git
cd SpatialAI_MCP
# 2. Install the package
pip install -e .
# 3. Check installation
openproblems-mcp doctor --check-tools
# 4. Start the server
openproblems-mcp serve
Docker Deployment
# Build and run with Docker Compose
cd docker
docker-compose up -d
Testing the Installation
# Run the test suite
openproblems-mcp test
# Try the interactive demo
openproblems-mcp demo
# Get server information
openproblems-mcp info
๐งฌ Usage Examples
For AI Agents
The MCP server enables AI agents to perform complex bioinformatics operations:
# AI agent can execute Nextflow workflows
result = await session.call_tool("run_nextflow_workflow", {
"workflow_name": "main.nf",
"github_repo_url": "https://github.com/openproblems-bio/task_ist_preprocessing",
"profile": "docker",
"params": {"input": "spatial_data.h5ad", "output": "processed/"}
})
# AI agent can access documentation for context
docs = await session.read_resource("documentation://nextflow")
nextflow_best_practices = json.loads(docs)
# AI agent can analyze failed workflows
analysis = await session.call_tool("analyze_nextflow_log", {
"log_file_path": "work/.nextflow.log"
})
For Researchers
Direct CLI usage for testing and development:
# Execute a tool directly
openproblems-mcp tool echo_test message="Hello World"
# Analyze a Nextflow log
openproblems-mcp tool analyze_nextflow_log log_file_path="/path/to/.nextflow.log"
# List all available capabilities
openproblems-mcp info
๐ฏ OpenProblems Integration
Supported Repositories
The server is designed to work with key OpenProblems repositories:
- task_ist_preprocessing - IST data preprocessing
- task_spatial_simulators - Spatial simulation benchmarks
- openpipeline - Modular pipeline components
- SpatialNF - Spatial transcriptomics workflows
Workflow Templates
Built-in templates for common spatial transcriptomics tasks:
- Basic Preprocessing: Quality control, normalization, dimensionality reduction
- Spatially Variable Genes: Identification and statistical testing
- Label Transfer: Cell type annotation from reference data
๐ง Technical Implementation
Key Technologies
- Python 3.8+ with async/await for high-performance I/O
- MCP Python SDK 1.9.2+ for protocol compliance
- Click for rich command-line interfaces
- Docker for reproducible containerization
- YAML for flexible configuration management
Error Handling & Logging
- Comprehensive timeout management (1 hour for Nextflow, 30 min for others)
- Pattern-based log analysis for common bioinformatics errors
- Structured JSON responses for programmatic consumption
- Detailed logging with configurable levels
Security Features
- Non-root container execution
- Sandboxed tool execution
- Resource limits and timeouts
- Input validation and sanitization
๐งช Testing & Quality Assurance
Test Coverage
- Unit Tests: Core MCP functionality
- Integration Tests: Tool execution workflows
- Mock Testing: External dependency simulation
- Error Handling: Timeout and failure scenarios
Continuous Integration
- Automated testing on multiple Python versions
- Docker image building and validation
- Code quality checks (Black, Flake8, MyPy)
- Documentation generation and validation
๐ฎ Future Enhancements
Planned Features
- HTTP Transport Support: Enable remote server deployment
- Advanced Testing Tools: nf-test integration and automated validation
- GPU Support: CUDA-enabled spatial analysis workflows
- Real-time Monitoring: Workflow execution dashboards
- Authentication: Secure multi-user access
- Caching: Intelligent workflow result caching
Extensibility
The modular architecture supports easy addition of:
- New bioinformatics tools and frameworks
- Custom workflow templates
- Advanced analysis capabilities
- Integration with cloud platforms (AWS, GCP, Azure)
๐ Impact & Benefits
For Researchers
- Reduced Complexity: AI agents handle technical details
- Faster Discovery: Automated workflow execution and troubleshooting
- Better Reproducibility: Standardized, documented processes
- Focus on Science: Less time on infrastructure, more on biology
For AI Agents
- Standardized Interface: Consistent tool and data access
- Rich Context: Comprehensive documentation and templates
- Error Recovery: Intelligent troubleshooting capabilities
- Scalable Operations: Container-based execution
For the OpenProblems Project
- Accelerated Development: AI-assisted workflow creation
- Improved Quality: Automated testing and validation
- Community Growth: Lower barrier to entry for contributors
- Innovation Platform: Foundation for AI-driven biological discovery
๐ Achievement Summary
We have successfully delivered a production-ready MCP server that:
โ Implements the complete MCP specification with tools and resources โ Integrates all major bioinformatics tools (Nextflow, Viash, Docker) โ Provides comprehensive documentation as machine-readable resources โ Enables AI agents to perform complex spatial transcriptomics workflows โ Includes robust testing and error handling mechanisms โ Offers multiple deployment options (local, Docker, development) โ Supports the OpenProblems mission of advancing single-cell genomics
This implementation represents a significant step forward in making bioinformatics accessible to AI agents, ultimately accelerating scientific discovery in spatial transcriptomics and beyond.
Ready to use: The server is fully functional and ready for integration with AI agents and the OpenProblems ecosystem.
Next steps: Deploy, connect your AI agent, and start exploring spatial transcriptomics workflows with unprecedented ease and automation!