pyproject.toml•2.15 kB
[project]
name = "kb-mcp-server"
version = "0.3.0"
description = "A Model Context Protocol (MCP) server implementation for txtai"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [
{ name = "geeksfino", email = "geeksfino@gmail.com" }
]
dependencies = [
"mcp[cli]", # Core MCP functionality
"trio", # Required for MCP server async functionality
"txtai[all,pipeline,graph]>=8.3.1", # Include all txtai extras for full functionality
"datasets",
"torch>=2.0.0",
"transformers==4.49.0", # This version avoids deprecation warnings for transformers.agents.tools
"sentence-transformers>=2.2.0",
"httpx>=0.28.1",
"bitsandbytes==0.42.0", # Pin to working version
"pydantic-settings>=2.0",
"networkx>=2.8.0", # For knowledge graph
"matplotlib>=3.5.0", # For graph visualization
"PyPDF2>=2.0.0", # For PDF parsing
"python-docx>=0.8.11", # For Word document parsing
"beautifulsoup4>=4.10.0", # For HTML parsing
"pandas>=1.3.0", # For tabular data processing
"python-louvain>=0.16.0", # For community detection in graphs
"markdown>=3.3.0", # For markdown processing
"fast-langdetect>=0.3.1", # For language detection in causal boost
]
[project.scripts]
kb-mcp-server = "txtai_mcp_server:main"
kb-build = "kb_builder.bin.kb_build:main"
kb-search = "kb_builder.bin.kb_search:main"
[project.optional-dependencies]
dev = [
"pytest>=7.0",
"pytest-asyncio",
"pytest-cov",
"black",
"isort",
"mypy",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/txtai_mcp_server", "src/kb_builder"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
python_files = ["test_*.py"]
[tool.black]
line-length = 100
target-version = ["py310"]
include = '\.pyi?$'
[tool.isort]
profile = "black"
multi_line_output = 3
line_length = 100
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
check_untyped_defs = true
[tool.uv.workspace]
members = ["mcp"]