[project]
name = "liana-mcp"
dynamic = ["version"]
description = "Natural language interface for cell-cell communication analysis with Liana through MCP."
readme = "README.md"
authors = [
{ name = "shuang", email = "hsh-me@outlook.com" }
]
keywords = [
"mcp",
"model context protocol",
"llm",
"agent",
"scRNA-seq",
"single cell",
"bioinformatics",
"AI"
]
requires-python = ">=3.10"
dependencies = [
"mcp>=1.8.0",
"fastmcp>=2.3.4",
"nest_asyncio",
"scmcp-shared>=0.5.0",
"liana>=0.1.9",
"scanpy",
"agno"
]
[dependency-groups]
dev = [
"pytest>=8.3.3",
"pytest-asyncio>=0.23.5",
]
[project.urls]
Homepage = "http://scmcphub.org/"
Repository = "https://github.com/scmcphub/liana-mcp"
Documentation = "https://docs.scmcphub.org/"
[project.scripts]
liana-mcp = "liana_mcp.cli:cli.run"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.version]
path = "src/liana_mcp/__init__.py"
[tool.pytest.ini_options]
asyncio_mode = "strict"
asyncio_default_fixture_loop_scope = "function"
[tool.ruff]
lint.ignore = ["F403", "F405"]