crafting-table/mcp/pyproject.toml
Kayos ecb9d76e6d v0.1 wave 2B (step 7): MCP server — stdio JSON-RPC, 8 tools
- mcp/ subpackage: crafting-table-mcp (separate pip install)
- Self-contained requests-based HTTP client (mirrors clawdforge_mcp pattern)
- 8 tools: list_projects / register_project / run_audit / run_build / run_test / get_job / get_findings / draft_patch (stub)
- draft_patch is stubbed — full impl lands in wave 3 / step 9
- tests/: client + tool coverage, 401/404 surfacing
- Tools designed for LLM consumption; descriptions tuned for "when to use" guidance

Spec: memory/spec-crafting-table.md
2026-04-29 08:38:29 -07:00

53 lines
1.5 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "crafting-table-mcp"
version = "0.1.0"
description = "Model Context Protocol (MCP) server that bridges to crafting-table — exposes the build/test/audit job surface to MCP-aware clients (Claude Desktop, Claude Code, Cursor, Zed)."
readme = "README.md"
requires-python = ">=3.10"
authors = [{ name = "Kayos", email = "kayos@sulkta.com" }]
keywords = ["crafting-table", "mcp", "model-context-protocol", "claude", "sulkta", "audit", "build"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Operating System :: POSIX :: Linux",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
"mcp>=1.2.0",
"requests>=2.31.0",
]
[project.optional-dependencies]
test = [
"responses>=0.23",
"pytest>=7",
"pytest-asyncio>=0.21",
]
[project.scripts]
crafting-table-mcp = "crafting_table_mcp.__main__:main"
[project.urls]
Homepage = "http://192.168.0.5:3001/Sulkta-Coop/crafting-table"
Source = "http://192.168.0.5:3001/Sulkta-Coop/crafting-table"
[tool.hatch.build.targets.wheel]
packages = ["src/crafting_table_mcp"]
[tool.hatch.build.targets.sdist]
include = [
"src/crafting_table_mcp",
"README.md",
"pyproject.toml",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]