{"serverId":"mcp-registry/io.github.lazymac2x/ai-agent-scratchpad","tools":[{"name":"scratchpad_checkpoint","fixed":{"name":"scratchpad_checkpoint","description":"현재 세션 상태의 스냅샷을 체크포인트 태그로 저장합니다. keys를 지정하면 해당 키만 스냅샷.","inputSchema":{"type":"object","required":["session_id","tag"],"properties":{"tag":{"type":"string","description":"체크포인트 태그 (예: \"step-3\", \"before-refactor\")"},"keys":{"type":"array","items":{"type":"string"},"description":"스냅샷할 키 목록 (선택사항, 미지정 시 전체)"},"session_id":{"type":"string","description":"세션 식별자"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":115,"tokensAfter":115},{"name":"scratchpad_delete","fixed":{"name":"scratchpad_delete","description":"세션의 특정 키를 삭제합니다.","inputSchema":{"type":"object","required":["session_id","key"],"properties":{"key":{"type":"string","description":"삭제할 키"},"session_id":{"type":"string","description":"세션 식별자"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"scratchpad_diff","fixed":{"name":"scratchpad_diff","description":"현재 키 값과 체크포인트 값의 diff를 반환합니다. 또는 두 임의 값의 diff 비교.","inputSchema":{"type":"object","required":["session_id"],"properties":{"key":{"type":"string","description":"비교할 키 (체크포인트 비교 시 필수)"},"value_a":{"description":"직접 비교할 첫 번째 값 (선택사항)","type":"string"},"value_b":{"description":"직접 비교할 두 번째 값 (선택사항)","type":"string"},"session_id":{"type":"string","description":"세션 식별자"},"checkpoint_tag":{"type":"string","description":"비교 기준 체크포인트 태그"}}}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: value_a, value_b. Change to number/boolean/array where that's what you accept.","verify":true}],"tokensBefore":124,"tokensAfter":133},{"name":"scratchpad_list","fixed":{"name":"scratchpad_list","description":"세션의 모든 키 목록을 반환합니다. 선택적 prefix 필터링 지원.","inputSchema":{"type":"object","required":["session_id"],"properties":{"limit":{"type":"integer","description":"최대 반환 수 (기본 100, 최대 500)"},"prefix":{"type":"string","description":"키 prefix 필터 (선택사항)"},"session_id":{"type":"string","description":"세션 식별자"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"scratchpad_read","fixed":{"name":"scratchpad_read","description":"세션의 특정 키 값을 조회합니다.","inputSchema":{"type":"object","required":["session_id","key"],"properties":{"key":{"type":"string","description":"조회할 키"},"session_id":{"type":"string","description":"세션 식별자"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"scratchpad_write","fixed":{"name":"scratchpad_write","description":"세션에 키-값을 저장합니다. value는 문자열 또는 JSON 직렬화 가능한 값.","inputSchema":{"type":"object","required":["session_id","key","value"],"properties":{"key":{"type":"string","description":"스크래치패드 키"},"ttl":{"type":"integer","description":"만료 시간(초), 선택사항"},"value":{"description":"저장할 값 (문자열 또는 객체)","type":"string"},"session_id":{"type":"string","description":"세션 식별자 (에이전트 실행 단위)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"schema","detail":"Added \"type\":\"string\" to untyped parameters: value. Change to number/boolean/array where that's what you accept.","verify":true},{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":114}],"toolsChanged":6,"tokensSaved":0,"todo":[],"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."}