{"ok":true,"site":{"host":"hunk-webmcp.vercel.app","url":"https://hunk-webmcp.vercel.app/","type":"live","desc":"Hunk — same diff. You submit. Human + agent review a real GitHub pull request.","tools":[{"name":"import_pr","kind":"act","impl":"imperative","description":"Load a public GitHub pull request into Hunk. Pass a github.com PR URL, owner/repo#number, or owner + repo + number. Replaces the current diff and clears draft comments. Does not submit a review.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"url":{"type":"string","description":"https://github.com/owner/repo/pull/123 or owner/repo#123"},"owner":{"type":"string"},"repo":{"type":"string"},"number":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_files","kind":"answer","impl":"imperative","description":"List files in the loaded pull request with additions, deletions, and hunk counts.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"open_file","kind":"act","impl":"imperative","description":"Select a file in the diff viewer so the human can see it.","inputSchema":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string","description":"File path in the pull request"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_hunks","kind":"answer","impl":"imperative","description":"Return parsed diff hunks for a file (@@ headers and start lines). Parse happens client-side.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","additionalProperties":false,"required":["path"],"properties":{"path":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"goto_hunk","kind":"act","impl":"imperative","description":"Jump the diff viewer to a hunk by file path and start_line (the + side start from the @@ header).","inputSchema":{"type":"object","additionalProperties":false,"required":["path","start_line"],"properties":{"path":{"type":"string"},"start_line":{"type":"number"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"add_comment","kind":"act","impl":"imperative","description":"Draft a line comment as the agent. Does NOT submit the review. The human must click Submit review. Refused after the review is sealed.","inputSchema":{"type":"object","additionalProperties":false,"required":["path","line","body"],"properties":{"path":{"type":"string"},"line":{"type":"number","description":"Line number on the chosen side"},"body":{"type":"string"},"side":{"type":"string","enum":["RIGHT","LEFT"],"description":"RIGHT for additions/context, LEFT for deletions"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_comments","kind":"answer","impl":"imperative","description":"List draft line comments and the current verdict. Comments stay draft until a human submits.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","additionalProperties":false,"properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_verdict","kind":"act","impl":"imperative","description":"Set the draft review verdict: comment, request_changes, or approve. Does NOT submit. Still a draft. The human submits.","inputSchema":{"type":"object","additionalProperties":false,"required":["verdict"],"properties":{"verdict":{"type":"string","enum":["comment","request_changes","approve"]}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Developer Tools","favicon":"/favicons/hunk-webmcp.vercel.app.svg","apiSurface":"spec","toolCount":8}}