- clawdforge_session_new / _turn / _close / _list / _get
- Wraps the v0.2 session HTTP surface (POST /sessions, POST
/sessions/{id}/turn, GET/DELETE /sessions/{id}, GET /sessions)
- Tool descriptions tuned for LLM consumption: when to prefer session_new
vs run, idempotency contract on close, file_token attachment via files[]
- session_turn returns two content blocks: prose text (concat'd text events)
for direct LLM consumption + structured trace JSON (turn_index,
stop_reason, duration_ms, events) for tool-calling agents
- 404/410/auth errors from upstream surface as MCP errors with actionable
messages; no Python tracebacks leak through
- tests/test_sessions.py: 22 new tests covering the 5 tools + 404 + schema
validation + idempotent close
- tests/test_server.py: new v0.1 schema-pin regression test
- README "Sessions (v0.2)" section with example open/turn/turn/close chain
- Bump version 0.1.0 -> 0.2.0
v0.1 tools (clawdforge_healthz / _run / _upload_file) are byte-identical.
Spec: memory/spec-clawdforge-v0.2.md
Server core: 940861f
54 lines
1.5 KiB
TOML
54 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "clawdforge-mcp"
|
|
version = "0.2.0"
|
|
description = "Model Context Protocol (MCP) server that bridges to clawdforge — lets MCP-aware clients (Claude Desktop, Claude Code, Cursor, Zed) call clawdforge tools as native tools."
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
authors = [{ name = "Kayos", email = "kayos@sulkta.com" }]
|
|
keywords = ["clawdforge", "mcp", "model-context-protocol", "claude", "sulkta"]
|
|
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.32.0",
|
|
"urllib3>=2.2.2",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"responses>=0.23",
|
|
"pytest>=7",
|
|
"pytest-asyncio>=0.21",
|
|
]
|
|
|
|
[project.scripts]
|
|
clawdforge-mcp = "clawdforge_mcp.__main__:main"
|
|
|
|
[project.urls]
|
|
Homepage = "http://192.168.0.5:3001/Sulkta-Coop/clawdforge"
|
|
Source = "http://192.168.0.5:3001/Sulkta-Coop/clawdforge"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/clawdforge_mcp"]
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = [
|
|
"src/clawdforge_mcp",
|
|
"README.md",
|
|
"pyproject.toml",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|