https://github.com/biocypher/biocypher-mcp
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: biocypher
- Language: Python
- Default Branch: main
- Size: 99.6 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
biocypher-mcp
An MCP (Model Context Protocol) server for assisting with BioCypher workflows. This server provides hierarchical tools to help LLM agents create BioCypher adapters for any data source.
Features
- Streamable HTTP Transport: Full MCP protocol support with Server-Sent Events (SSE)
- Hierarchical Tool Structure: Navigate through BioCypher workflows with structured guidance
- BioCypher Adapter Creation Workflow: Complete 5-phase framework for creating adapters from any data source
- Adaptive Implementation Process: Step-by-step guidance for analyzing data sources and implementing appropriate adapter strategies
- Implementation Patterns: Reusable patterns for field mapping, conditional extraction, and progressive fallback
- Decision Guidance: AI-powered recommendations based on data characteristics
Quick Start
Local Development
```bash
Install dependencies
uv sync
Run the MCP server with streamable HTTP transport
uv run python -m biocypher_mcp.main
Or run the web server with REST API endpoints
uv run python -m biocyphermcp.webserver ```
Docker Deployment
```bash
Build and run with docker-compose (production)
docker-compose up -d biocypher-mcp
Or run development version with hot reload
docker-compose up -d biocypher-mcp-dev
Check status
docker-compose ps docker-compose logs biocypher-mcp ```
MCP Client Configuration
For MCP clients like Cursor, configure the server with:
json
{
"mcpServers": {
"biocypher-mcp": {
"url": "https://mcp.biocypher.org/",
"transport": "http"
}
}
}
API Endpoints
MCP Streamable HTTP Transport (main.py)
The primary MCP server provides streamable HTTP transport at the root endpoint:
POST /- MCP protocol endpoint (streamable HTTP with SSE)- Supports all MCP protocol methods:
initialize,tools/list,tools/call, etc.
REST API Endpoints (web_server.py)
The web server provides REST API endpoints for traditional HTTP clients:
GET /- Root endpoint with API overviewGET /workflows- Available workflowsGET /workflows/adapter-creation- Adapter creation workflow detailsGET /phases/{phase_number}- Phase-specific guidanceGET /patterns- Implementation patternsGET /patterns/{pattern_type}- Specific patternsPOST /decision-guidance- Decision guidanceGET /health- Health checkGET /docs- Interactive API documentation
Development
Local Setup
```bash
Clone the repository
git clone https://github.com/slobentanzer/biocypher-mcp.git cd biocypher-mcp
Install development dependencies
uv sync --dev
Run tests
uv run pytest tests/ -v ```
Architecture
The project provides two server implementations:
main.py: MCP streamable HTTP transport server (primary)
- Uses FastMCP with streamable HTTP transport
- Mounted at root path (
/) - Designed for MCP clients like Cursor
web_server.py: REST API server (secondary)
- Provides traditional REST endpoints
- Useful for web applications and testing
- Can run alongside the main server on different ports
License
MIT
Owner
- Name: biocypher
- Login: biocypher
- Kind: organization
- Website: https://biocypher.org
- Repositories: 1
- Profile: https://github.com/biocypher
GitHub Events
Total
- Watch event: 1
- Push event: 4
- Create event: 1
Last Year
- Watch event: 1
- Push event: 4
- Create event: 1
Dependencies
- python 3.11-slim build
- fastapi >=0.104.0
- fastmcp >=2.7.1
- pydantic >=2.0.0
- requests >=2.32.4
- uvicorn [standard]>=0.24.0
- annotated-types 0.7.0
- anyio 4.10.0
- attrs 25.3.0
- authlib 1.6.3
- biocypher-mcp 0.1.0
- black 25.1.0
- certifi 2025.8.3
- cffi 1.17.1
- charset-normalizer 3.4.3
- click 8.2.1
- colorama 0.4.6
- cryptography 45.0.6
- cyclopts 3.23.0
- dnspython 2.7.0
- docstring-parser 0.17.0
- docutils 0.22
- email-validator 2.3.0
- exceptiongroup 1.3.0
- fastapi 0.116.1
- fastmcp 2.11.3
- h11 0.16.0
- httpcore 1.0.9
- httptools 0.6.4
- httpx 0.28.1
- httpx-sse 0.4.1
- idna 3.10
- iniconfig 2.1.0
- isodate 0.7.2
- jsonschema 4.25.1
- jsonschema-path 0.3.4
- jsonschema-specifications 2025.4.1
- lazy-object-proxy 1.12.0
- markdown-it-py 4.0.0
- markupsafe 3.0.2
- mcp 1.13.1
- mdurl 0.1.2
- more-itertools 10.7.0
- mypy-extensions 1.1.0
- openapi-core 0.19.5
- openapi-pydantic 0.5.1
- openapi-schema-validator 0.6.3
- openapi-spec-validator 0.7.2
- packaging 25.0
- parse 1.20.2
- pathable 0.4.4
- pathspec 0.12.1
- platformdirs 4.4.0
- pluggy 1.6.0
- pycparser 2.22
- pydantic 2.11.7
- pydantic-core 2.33.2
- pydantic-settings 2.10.1
- pygments 2.19.2
- pyperclip 1.9.0
- pytest 8.4.1
- python-dotenv 1.1.1
- python-multipart 0.0.20
- pywin32 311
- pyyaml 6.0.2
- referencing 0.36.2
- requests 2.32.5
- rfc3339-validator 0.1.4
- rich 14.1.0
- rich-rst 1.3.1
- rpds-py 0.27.1
- six 1.17.0
- sniffio 1.3.1
- sse-starlette 3.0.2
- starlette 0.47.3
- typing-extensions 4.15.0
- typing-inspection 0.4.1
- urllib3 2.5.0
- uvicorn 0.35.0
- uvloop 0.21.0
- watchfiles 1.1.0
- websockets 15.0.1
- werkzeug 3.1.1