{"serverId":"mcp-registry/online.projectstate/projectstate","tools":[{"name":"plan_check","fixed":{"name":"plan_check","description":"Before you start something non-trivial, say what you are about to do and get back only what would\n        change your mind: attempts that already failed at this, decisions that are still in force and constrain\n        it, and open tasks that overlap. `intent` is one line in plain words, e.g. 'switch the cache to Redis'\n        or 'rewrite the auth middleware to use refresh tokens'. Pass `files` if you know which paths you will\n        touch; entries about those files are included even when the w","inputSchema":{"type":"object","title":"plan_checkArguments","required":["project","intent"],"properties":{"files":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Files","default":null},"limit":{"type":"integer","title":"Limit","default":3},"intent":{"type":"string","title":"Intent"},"project":{"type":"string","title":"Project"},"max_chars":{"type":"integer","title":"Max Chars","default":1200}}},"annotations":{"readOnlyHint":true},"title":"Plan check"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":270,"tokensAfter":270},{"name":"project_status","fixed":{"name":"project_status","description":"Get the project's one-line status, open tasks and last change. Pass `set_status` to overwrite the status\n        line (e.g. 'v0.3 shipped; next: migrate auth to OAuth'). Cheap; use it for handoff notes between sessions.","inputSchema":{"type":"object","title":"project_statusArguments","required":["project"],"properties":{"project":{"type":"string","title":"Project"},"set_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Set Status","default":null}}},"annotations":{"readOnlyHint":true},"title":"Project status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"update","fixed":{"name":"update","description":"Change an existing entry by id: set `status` (task open|done|dropped, attempt worked|failed|partial,\n        decision active|superseded|reverted, note active|archived), replace `title`/`body`, `append` a line to the\n        body (e.g. an outcome), replace `tags`/`files`, or `delete` it.","inputSchema":{"type":"object","title":"updateArguments","required":["project","id"],"properties":{"id":{"type":"integer","title":"Id"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body","default":null},"tags":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Tags","default":null},"files":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Files","default":null},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","default":null},"append":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Append","default":null},"delete":{"type":"boolean","title":"Delete","default":false},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","default":null},"project":{"type":"string","title":"Project"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"Update entry"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":314,"tokensAfter":314}],"toolsChanged":3,"tokensSaved":0,"todo":[{"tool":"plan_check","params":["files","limit","intent","project","max_chars"]},{"tool":"project_open","params":["name","project","description"]},{"tool":"project_status","params":["project","set_status"]},{"tool":"recall","params":["kind","tags","files","limit","query","status","project","max_chars"]},{"tool":"remember","params":["body","kind","tags","files","title","status","project","supersedes","idempotency_key"]},{"tool":"update","params":["id","body","tags","files","title","append","delete","status","project"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}