https://github.com/biocypher/biocypher-mcp

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
Last synced: 9 months ago · JSON representation

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
Created 10 months ago · Last pushed 10 months ago
Metadata Files
Readme

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 overview
  • GET /workflows - Available workflows
  • GET /workflows/adapter-creation - Adapter creation workflow details
  • GET /phases/{phase_number} - Phase-specific guidance
  • GET /patterns - Implementation patterns
  • GET /patterns/{pattern_type} - Specific patterns
  • POST /decision-guidance - Decision guidance
  • GET /health - Health check
  • GET /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:

  1. main.py: MCP streamable HTTP transport server (primary)

    • Uses FastMCP with streamable HTTP transport
    • Mounted at root path (/)
    • Designed for MCP clients like Cursor
  2. 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

GitHub Events

Total
  • Watch event: 1
  • Push event: 4
  • Create event: 1
Last Year
  • Watch event: 1
  • Push event: 4
  • Create event: 1

Dependencies

Dockerfile docker
  • python 3.11-slim build
docker-compose.yml docker
pyproject.toml pypi
  • fastapi >=0.104.0
  • fastmcp >=2.7.1
  • pydantic >=2.0.0
  • requests >=2.32.4
  • uvicorn [standard]>=0.24.0
uv.lock pypi
  • 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