[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "relace-mcp"
version = "0.2.1a2"
description = "Unofficial Relace MCP Server - Fast code merging via Relace API"
readme = "README.md"
license = { text = "MIT" }
authors = [{ name = "possible055" }]
requires-python = ">=3.11"
keywords = ["relace", "instant-apply", "model-context-protocol", "mcp-server"]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Libraries :: Python Modules",
"Framework :: FastAPI",
"Environment :: Plugins",
]
dependencies = [
"charset-normalizer>=3.0.0",
"fastmcp>=2.0.0",
"httpx>=0.28.0",
"openai>=1.0.0",
"platformdirs>=4.0.0",
"python-dotenv>=1.0.0",
"PyYAML>=6.0.0",
"tenacity>=8.0.0",
]
[project.urls]
Repository = "https://github.com/possible055/relace-mcp"
Documentation = "https://github.com/possible055/relace-mcp#readme"
Issues = "https://github.com/possible055/relace-mcp/issues"
[project.optional-dependencies]
dev = [
"pytest>=8.4.1",
"pytest-asyncio>=1.3.0",
"pre-commit>=4.5.1",
"mypy>=1.19.1",
"interrogate>=1.7.0",
"dead>=1.5.2",
"ruff>=0.1.0",
"build>=1.0.0",
]
[project.scripts]
relace-mcp = "relace_mcp.server:main"
[tool.setuptools]
include-package-data = true
[tool.setuptools.package-data]
relace_mcp = ["**/*.yaml"]
[tool.setuptools.packages.find]
where = ["src"]
include = ["relace_mcp*"]
exclude = ["tests*"]
[tool.bandit]
exclude_dirs = ["tests"]
[tool.mypy]
python_version = "3.11"
[tool.pytest.ini_options]
testpaths = ["tests"]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
[tool.interrogate]
ignore-init-method = true
ignore-init-module = true
ignore-module = true
ignore-private = true
ignore-nested-functions = true
fail-under = 80
exclude = ["tests", "build"]
verbose = 1