{"name":"io.github.JoshMcQ/humanifyme","slug":"joshmcq-humanifyme","title":"HumanifyMe","description":"Learns your writing voice locally and rewrites AI drafts so they sound like you.","url":"https://mcp.market/server/joshmcq-humanifyme","rating":null,"grade":"A","score":92,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":22,"stars":0,"forks":0,"downloads_week":6,"last_push_at":"2026-09-26T04:31:47.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/JoshMcQ/HumanifyMe","website":"https://humanifyme.com","version":"0.2.2","remotes":[],"packages":[{"registryType":"npm","identifier":"humanifyme","version":"0.2.2","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}]}],"tools":[{"name":"humanify_add_sample","description":"Store a writing sample (something the user actually wrote) so HumanifyMe can learn their voice. Text must be at least 100 characters and carry at least one context label.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_audit_list","description":"List the most recent outbound requests HumanifyMe made (metadata only, never content): provider, route, payload size, draft length, success.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_build_profile","description":"Build (or rebuild with force:true) the user's style profile from their stored samples. Needs at least 3 samples. Samples are redacted before being sent to the configured LLM provider.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_delete_profile","description":"Delete the current style profile. Samples are kept.","write_action":true,"price_micros":0,"input_schema":null},{"name":"humanify_delete_sample","description":"Delete a stored writing sample by id.","write_action":true,"price_micros":0,"input_schema":null},{"name":"humanify_get_profile","description":"Return the user's current style profile, or null if none has been built.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_import_chat_export","description":"Import writing samples from a ChatGPT or Claude data-export (.zip, conversations.json, or extracted directory). Only user-authored turns are kept; code-heavy turns are dropped; everything is redacted before storage. Call with commit:false first to preview 5 samples, then commit:true.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_import_text_files","description":"Bulk-import writing samples from a directory (or single file) of .txt/.md/.docx the user wrote \\u2014 notes, blog drafts, an Obsidian vault. Requires a default context label. Files are redacted before storage; oversize files split at paragraph boundaries.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_list_samples","description":"List stored writing samples (previews truncated to 200 chars).","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_metrics","description":"Show how well HumanifyMe is matching the user's voice, from their own recorded feedback: total rewrites, accept/edit/reject rates, \"sounds like me\" breakdown, per-context and per-provider counts, and p50/p95 latency. Local only; counts, never content. Optional `since` (ISO timestamp) windows the stats.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_record_feedback","description":"Record whether a humanify_text rewrite sounded like the user. Pass the feedbackToken from that rewrite and a signal: 'accept' (sounded like me / used as-is), 'edit' (kinda \\u2014 I tweaked it), or 'reject' (no \\u2014 didn't sound like me). Optional short reason. This powers local quality metrics (humanify_metrics) and, only if the user opted in, anonymous aggregate counts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_set_provider","description":"Configure local Ollama and make it the default. Cloud API keys are intentionally rejected in MCP tool arguments because the host model can see them; configure cloud providers with the interactive `humanifyme setup` CLI instead.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_test_key","description":"Confirm the configured API key works with a cheap (\\u22641 token) ping.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_text","description":"Rewrite a draft (usually AI-generated) so it reads in the user's own voice, using their stored style profile. The headline tool: call this whenever the user wants text to 'sound like me' or 'less AI'.","write_action":false,"price_micros":0,"input_schema":null},{"name":"humanify_update_profile","description":"Replace the style profile with an edited version (schema-validated). Use for manual tweaks; does not call any LLM.","write_action":true,"price_micros":0,"input_schema":null},{"name":"humanify_wipe_all","description":"Delete ALL HumanifyMe data: samples, profile, cache, audit log. Irrevocable. Requires confirm: \"DELETE EVERYTHING\".","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":92,"grade":"A","scanned_at":"2026-09-26T05:10:13.913Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-26T05:10:14.021Z","components":{"code":{"score":25,"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":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"humanifyme","version":"0.2.2","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":7,"publishedAt":"2026-09-25T22:09:00.926Z","repositoryUrl":"git+https://github.com/JoshMcQ/HumanifyMe.git","weeklyDownloads":6}],"repo":{"found":true,"owner":"JoshMcQ","repo":"HumanifyMe","archived":false,"pushedAt":"2026-09-26T04:31:47Z","stars":0,"forks":0,"openIssues":20,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/118497475?v=4","ownerCreatedAt":"2022-11-18T02:44:02Z","license":"Apache-2.0"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":6,"license":"Apache-2.0","lastPushAt":"2026-09-26T04:31:47.000Z","score":22}}}},"grade_history":[],"reviews":[]}