[project]
name = "ra-mcp"
version = "0.2.13"
description = "Riksarkivet MCP server composition and CLI"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"ra-mcp-search-mcp",
"ra-mcp-search-cli",
"ra-mcp-browse-mcp",
"ra-mcp-browse-cli",
"ra-mcp-guide-mcp",
"starlette>=0.52.1",
]
license = "Apache-2.0"
keywords = [
"mcp",
"mcp server",
"model context protocol",
"ra-mcp",
"search",
"browse",
"iiif",
"llm",
"agent",
]
classifiers = [
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.12",
"Typing :: Typed",
]
[dependency-groups]
dev = [
"pytest",
"ruff",
"ty",
]
[project.scripts]
ra = "ra_mcp_server.cli:app"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/ra_mcp_server"]
[tool.uv.workspace]
members = ["packages/*"]
[tool.uv.sources]
ra-mcp-common = { workspace = true }
ra-mcp-search = { workspace = true }
ra-mcp-search-cli = { workspace = true }
ra-mcp-search-mcp = { workspace = true }
ra-mcp-browse = { workspace = true }
ra-mcp-browse-cli = { workspace = true }
ra-mcp-browse-mcp = { workspace = true }
ra-mcp-guide-mcp = { workspace = true }
[tool.ruff.lint]
ignore = []
[tool.ruff]
line-length = 160
[tool.ruff.format]
quote-style = "double"
indent-style = "space"
[tool.ruff.lint.isort]
lines-after-imports = 2
known-first-party = ["ra_mcp_common", "ra_mcp_search", "search_cli", "search_mcp", "ra_mcp_browse", "browse_cli", "browse_mcp", "guide_mcp", "ra_mcp_server"]
[tool.ty]
# error-on-warning = true
[tool.ty.environment]
python-version = "3.12"
[tool.pytest.ini_options]
env = ["PY_COLORS=1"]
markers = []
testpaths = ["packages/*/tests"]