[project] name = "frappe-mcp-server" version = "1.2.0" description = "MCP server for Frappe Framework — interact with Frappe sites via Claude, Copilot, and other MCP clients" readme = "README.md" license = { text = "MIT" } requires-python = ">=3.10" dependencies = [ "mcp>=1.0.0,<2.0.0", "httpx>=0.27.0,<1.0.0", ] [project.scripts] frappe-mcp = "frappe_mcp.server:main" # Alias matching the distribution name so `uvx frappe-mcp-server` works without --from frappe-mcp-server = "frappe_mcp.server:main" [build-system] requires = ["setuptools>=75", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools.packages.find] include = ["frappe_mcp*"] [tool.pytest.ini_options] testpaths = ["tests"] [tool.semantic_release] # Versions come from Conventional Commits: fix -> patch, feat -> minor, # "!" or a BREAKING CHANGE footer -> major. version_toml = ["pyproject.toml:project.version"] # server.json carries the version in several places (incl. OCI image tags) build_command = "python scripts/sync_version.py" assets = ["server.json"] commit_parser = "conventional" commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release" tag_format = "v{version}" allow_zero_version = false [tool.semantic_release.branches.main] match = "main" prerelease = false [tool.semantic_release.changelog] exclude_commit_patterns = ['''chore\(release\):.*'''] [tool.semantic_release.changelog.default_templates] changelog_file = "CHANGELOG.md"