"""Bioinformatics MCP Server — Genomik- und Life-Science-Daten für AI-Agents.

Bietet:
- Gen-Suche und -Details via NCBI Gene Database
- Protein-Lookup via UniProt REST API
- Wissenschaftliche Literatur via PubMed (NCBI)
- Klinische Varianten via NCBI ClinVar
- DNA/Protein-Sequenzen via NCBI Nucleotide
- Taxonomie-Lookup via NCBI Taxonomy
Alle Daten kostenlos, kein API-Key erforderlich.
"""

from mcp.server.fastmcp import FastMCP

from src.tools.genes import register_gene_tools
from src.tools.proteins import register_protein_tools
from src.tools.literature import register_literature_tools

# FastMCP Server erstellen
mcp = FastMCP(
    "Bioinformatics MCP Server",
    instructions=(
        "Gibt AI-Agents Zugriff auf bioinformatische Datenbanken: "
        "NCBI Gene (Gen-Suche, Funktion, Orthologe), "
        "UniProt (Protein-Struktur, Funktion, Sequenzen), "
        "PubMed (wissenschaftliche Literatur, Abstracts), "
        "NCBI ClinVar (klinische Varianten, Pathogenität), "
        "NCBI Taxonomy (Spezies-Klassifikation, Phylogenie). "
        "Alle Endpunkte kostenlos ohne API-Key via NCBI E-utilities und UniProt REST API."
    ),
)

# Tool-Gruppen registrieren
register_gene_tools(mcp)
register_protein_tools(mcp)
register_literature_tools(mcp)


def main():
    """Server starten."""
    mcp.run(transport="stdio")


if __name__ == "__main__":
    main()
