{"name":"io.github.yeominux/md-feedback","slug":"yeominux-md-feedback","title":"md-feedback","description":"Review markdown plans before AI agents build. Annotate, gate-check, apply fixes, session handoffs.","url":"https://mcp.market/server/yeominux-md-feedback","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":5,"forks":1,"downloads_week":53,"last_push_at":"2026-03-23T13:16:44.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/yeominux/md-feedback","website":"https://github.com/yeominux/md-feedback","version":"1.5.6","remotes":[],"packages":[{"registryType":"npm","identifier":"md-feedback","version":"1.5.6","transport":{"type":"stdio"}}],"tools":[{"name":"advance_workflow_phase","description":"Advance workflow phase in strict sequence: scope -> root_cause -> implementation -> verification.","write_action":false,"price_micros":0,"input_schema":null},{"name":"apply_memo","description":"Apply an implementation action to a memo. Supports text_replace (requires occurrence or replaceAll when oldText has multiple matches; optional section-scoped propagation), file_patch (applies unified diff patch \\u2014 snapshot saved first), and file_create (create a new file). Creates a snapshot before modification, records the implementation, and updates memo status to needs_review.","write_action":false,"price_micros":0,"input_schema":null},{"name":"approve_checkpoint","description":"Approve a pending high-risk checkpoint. Grants one execution for the approved tool.","write_action":false,"price_micros":0,"input_schema":null},{"name":"batch_apply","description":"Apply multiple implementation operations in a single transaction. Parses the document once, applies all operations sequentially, then writes once. Each operation follows the same format as apply_memo.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_annotation","description":"Create a new review annotation on a markdown file. Finds the anchor text in the document and attaches a review memo. Auto-creates a quality gate and updates cursor.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_checkpoint","description":"Create a review checkpoint in an annotated markdown file. Records current annotation counts and reviewed sections.","write_action":true,"price_micros":0,"input_schema":null},{"name":"evaluate_gates","description":"Evaluate all gates in a markdown file against current memo statuses. Returns updated gate statuses without modifying the file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"export_review","description":"Export review feedback in a format optimized for a specific AI coding tool. Targets: claude-code, cursor, codex, copilot, cline, windsurf, roo-code, gemini, antigravity, generic, handoff. Returns formatted markdown ready to save to the appropriate file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"generate_handoff","description":"Generate a structured handoff document from an annotated markdown file. Anti-compression format: explicit fields, numbers, lists only.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_checkpoints","description":"List all checkpoints in an annotated markdown file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_document_structure","description":"Parse an annotated markdown file and return v0.4.0 ReviewDocument metadata. By default bodyMd is omitted to reduce context size; set includeBody=true only when full body is required.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_memo_changes","description":"Get the implementation history and progress for a memo. Returns all MemoImpl records and progress entries from .md-feedback/progress.json. If memoId is omitted, returns all changes.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_policy_status","description":"Return current runtime policy profile and memo-action routing rules.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_review_status","description":"Get current review session status: annotation counts, checkpoints, and reviewed sections. Summary-only \\u2014 returns counts and metadata, not individual memos. Use list_annotations for memo details or get_document_structure for the full parse.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_severity_status","description":"Return memo severity overrides and unresolved blocking memo IDs for the document.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_workflow_status","description":"Return current workflow phase and transition history for a document.","write_action":false,"price_micros":0,"input_schema":null},{"name":"link_artifacts","description":"Link file artifacts (source files, configs, etc.) to a memo. Creates a MemoArtifact record in the document.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_annotations","description":"List all annotations (USER_MEMO comments) in a markdown file. Returns structured array with id, type, status, owner, text, and color. Lightweight \\u2014 returns only memo data, no document body or sections. Use get_document_structure for the full parse.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_documents","description":"List markdown files in the workspace. Optionally filter to only files that already contain annotations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pickup_handoff","description":"Parse an existing handoff document to resume a review session. Returns structured data for session continuity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"request_approval_checkpoint","description":"Create an approval checkpoint for a high-risk action before execution.","write_action":true,"price_micros":0,"input_schema":null},{"name":"respond_to_memo","description":"Add an AI response to a memo annotation. Inserts a REVIEW_RESPONSE block into the markdown file directly below the memo's anchor text. Automatically sets the memo status to \"needs_review\" for human approval.","write_action":false,"price_micros":0,"input_schema":null},{"name":"rollback_memo","description":"Rollback the latest implementation for a memo. Reverses text_replace operations (swaps before/after), marks the impl as reverted, and sets the memo status back to open.","write_action":false,"price_micros":0,"input_schema":null},{"name":"set_memo_severity","description":"Set severity override for a memo. Defaults remain: fix=blocking, question/highlight=non_blocking.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_cursor","description":"Update the plan cursor position in a markdown file. The cursor tracks \"where we are\" in a plan. Only one cursor per document.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_memo_progress","description":"Update the progress of a memo with a status change and message. Writes progress to .md-feedback/progress.json and updates the memo status. Terminal statuses (done, failed) require human approval via VS Code.","write_action":true,"price_micros":0,"input_schema":null},{"name":"update_memo_status","description":"Update the status of a memo annotation. Writes the change back to the markdown file. Returns the updated memo. Terminal statuses (answered, done, failed, wontfix) require human approval via VS Code.","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-27T23:35:33.863Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-09-27T23:35:33.819Z","components":{"code":{"score":20,"max":25,"notes":["3 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":4,"max":15,"notes":["last push 188 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/mcp-server.js: …&&(l=this.opts.code.process(l,t));let y=new Function(`${mn.default.self}`,`${mn.default.scope…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"md-feedback","version":"1.5.6","found":true,"license":"SUL-1.0","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-03-22T12:38:18.052Z","repositoryUrl":"git+https://github.com/yeominux/md-feedback.git","weeklyDownloads":53}],"repo":{"found":true,"owner":"yeominux","repo":"md-feedback","archived":false,"pushedAt":"2026-03-23T13:16:44Z","stars":5,"forks":1,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/255280214?v=4","ownerCreatedAt":"2026-01-16T05:40:01Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/255280214?v=4&s=128","source":"github"},"presence":{"stars":5,"forks":1,"downloadsWeek":53,"license":"NOASSERTION","lastPushAt":"2026-03-23T13:16:44.000Z","score":22}}}},"grade_history":[],"reviews":[]}