Releases: apet97/clockify-python
Releases · apet97/clockify-python
Release list
clockify-python-115 0.2.0
0.2.0 (2026-08-13)
- Made the full server the default
clockify-mcpsurface: 186 tools. - Added 104 raw write tools covering every mutating operation except binary
file upload and workspace creation. - Added the sealed write-approval gate for guarded writes: deterministic
preview of the exact request, model-invisible approval, single-use
confirmation, byte-exact dispatch, no automatic retry. - Kept personal time-entry tools and daily-tracking workflows on the routine
tier (direct execution, single attempt). - Added 13 write workflows, including SSRF-guarded webhook setup and
prefix-scoped demo cleanup with archive-then-delete ordering. - Added 4 orientation tools, 6 guide resources, and 2 prompts.
- Added Streamable HTTP transport (
clockify-mcp --http). - Added
CLOCKIFY_MCP_READ_ONLY=truefor the 65-tool read-only build. - Added stable tool error codes with recovery hints and name resolution with
clarification receipts.
clockify-python-115 0.1.2
0.1.2 (2026-08-13)
- Documented the upstream deprecation of
submitApprovalRequestand
submitApprovalRequestForUser; the typed submit variants are the successors. - Documented the upstream rename of the typed-submit path parameter to
{type}. - Merged
docs/mcp-guide.mdintodocs/mcp.md. - No behavior change.
clockify-python-115 0.1.1
0.1.1 (2026-08-13)
- Bound request authorization, retry behavior, and decoding to registered operations.
- Rejected unsafe injected HTTP client defaults before credentials or network access.
- Required HTTPS destinations and exact service-path containment.
- Redacted and bounded transport, API, and response-validation errors.
- Treated cancellation during write dispatch as an unknown mutation outcome.
- Enforced required query parameters, corrected public query types, and rejected
unknown fields in nested request models. - Corrected half-even money conversion and generated
_idresponse fields. - Added a response-aware pagination constructor that preserves
Last-Page. - Corrected MCP workspace fallbacks, date validation, result wording, and the final
dormant-write precondition check. - Kept the default MCP server at 65 read-only tools and zero writes.
clockify-python-115 0.1.0
clockify-python-115 0.1.0
First release of the independent clockify-python-115 project.
- Complete typed async SDK: 168 operations on 29 resources.
- Read-only MCP server: 60 raw reads and five workflows.
- Zero registered MCP writes.
- Protected authenticated headers, bounded sanitized errors, no write retries,
and HTTP-dateRetry-Aftersupport. - Python 3.11 through 3.14.
This project is not affiliated with, endorsed by, or sponsored by CAKE.com or
Clockify.
Install
uv add clockify-python-115
uv add "clockify-python-115[mcp]"SDK example
import asyncio
import os
from clockify import ClockifyClient
async def main():
async with ClockifyClient(api_key=os.environ["CLOCKIFY_API_KEY"]) as client:
me = await client.users.me()
print(me.name)
asyncio.run(main())MCP server
Install the [mcp] extra. Configure one credential and run:
clockify-mcpThe server lists 65 tools. It exposes 60 raw reads and five workflows. It
registers zero writes.
Limitations
- The project is unofficial.
- The MCP server is read-only.
- Some
PUTomission rules remain conservative and require full replacement care. - Future MCP writes require human-approval evidence from two intended hosts.
Artifacts
Two independent builds produced byte-identical files:
| File | Size | SHA-256 |
|---|---|---|
clockify_python_115-0.1.0-py3-none-any.whl |
188,562 bytes | ea85c93fb6108d828576fea9eec6433f48e8ae8210df4d33d317d971d4dfb60c |
clockify_python_115-0.1.0.tar.gz |
367,153 bytes | 259afe53aa3bfc1480211664b21bfd7f535db4f7293edc24899d350a8440905d |
For developers
clockify-python-115 provides installed PEP 561 typing, explicit resources,
three-host routing, safe bounded errors, and exact artifact verification.
For Clockify users
Use Python or a read-only MCP client to inspect Clockify users, projects, time
entries, reports, and workspace data. MCP writes remain disabled.