{"name":"io.github.neurynae/toolcairn-mcp","slug":"neurynae-toolcairn-mcp","title":null,"description":"MCP server for tool discovery: find, compare, and verify tools across 35+ registries.","url":"https://mcp.market/server/neurynae-toolcairn-mcp","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":16,"stars":3,"forks":0,"downloads_week":null,"last_push_at":"2026-07-02T09:25:42.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/neurynae/toolcairn-mcp","website":null,"version":"1.0.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@neurynae/toolcairn-mcp","version":"1.0.0","transport":{"type":"stdio"}}],"tools":[{"name":"check_compatibility","description":"Check compatibility between two tools with version-aware matching. When both tools have declared dependency metadata (npm peerDependencies, PyPI requires_dist, etc.) the handler evaluates range constraints directly and returns a version_checks array plus runtime_requirements. Pass optional tool_a_version / tool_b_version to evaluate specific versions (e.g. \"is next@14 compatible with react@17?\"). ","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_issue","description":"LAST RESORT \\u2014 check GitHub Issues for a known error after 4+ retries and docs review.","write_action":false,"price_micros":0,"input_schema":null},{"name":"classify_prompt","description":"Classify a developer prompt to determine if ToolCairn tool search is needed. Returns a structured classification prompt for the agent to evaluate.","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_tools","description":"Compare two tools head-to-head using health signals, graph relationships, and community data.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_stack","description":"Build a complementary tool stack for a project use case. For best results, call refine_requirement first with classification \"stack_building\", evaluate its decomposition_prompt to get sub-needs, then pass each {sub_need_type, keyword_sentence} object as a sub_needs entry. This lets get_stack keyword-match per layer (e.g. \"web-framework\", \"database\", \"auth\") instead of one broad search. Falls back ","write_action":false,"price_micros":0,"input_schema":null},{"name":"read_project_config","description":"Read .toolcairn/config.json from disk and return the structured project snapshot: project metadata, confirmed tools, stale tools, pending evaluations, and last audit entry. Auto-migrates v1.0 configs to v1.1 on first read.","write_action":false,"price_micros":0,"input_schema":null},{"name":"refine_requirement","description":"Decompose a vague user use-case into specific, searchable tool requirements.","write_action":false,"price_micros":0,"input_schema":null},{"name":"report_outcome","description":"Report the outcome of using a tool recommended by ToolCairn (fire-and-forget).","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_tools","description":"Search for the best tool for a specific need using a natural language query. Initiates a guided discovery session with clarification questions when needed.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_tools_respond","description":"Submit clarification answers for an in-progress tool search session and receive refined results.","write_action":true,"price_micros":0,"input_schema":null},{"name":"suggest_graph_update","description":"Suggest a new tool, relationship, use case, or health update to the ToolCairn graph.","write_action":true,"price_micros":0,"input_schema":null},{"name":"toolcairn_auth","description":"Manage your ToolCairn authentication. Use \"login\" to authenticate via browser (unlocks higher rate limits), \"status\" to check current auth state, or \"logout\" to revert to anonymous mode.","write_action":false,"price_micros":0,"input_schema":null},{"name":"toolcairn_init","description":"Bootstrap ToolCairn for the current project. Walks every workspace, parses manifests across 12 ecosystems, classifies tools against the ToolCairn graph, and writes .toolcairn/config.json + audit-log.jsonl atomically. Returns setup_steps for CLAUDE.md / .mcp.json / .gitignore (agent applies those).","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_project_config","description":"Apply a mutation to .toolcairn/config.json (add_tool / remove_tool / update_tool / add_evaluation). The server atomically rewrites config.json and appends a new line to audit-log.jsonl under a cross-process lock. Requires project_root.","write_action":true,"price_micros":0,"input_schema":null},{"name":"verify_suggestion","description":"Validate agent-suggested tools against the ToolCairn graph.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-27T21:49:34.564Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:49:34.463Z","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":12,"max":15,"notes":["last push 88 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/index.js: …&&(l=this.opts.code.process(l,t));let g=new Function(`${qs.default.self}`,`${qs.default.scope…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@neurynae/toolcairn-mcp","version":"1.0.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-05-01T12:00:10.263Z","repositoryUrl":"git+https://github.com/neurynae/toolcairn-mcp.git"}],"repo":{"found":true,"owner":"neurynae","repo":"toolcairn-mcp","archived":false,"pushedAt":"2026-07-02T09:25:42Z","stars":3,"forks":0,"openIssues":10,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/271966326?v=4","ownerCreatedAt":"2026-03-29T13:05:49Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/271966326?v=4&s=128","source":"github"},"presence":{"stars":3,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-07-02T09:25:42.000Z","score":16}}}},"grade_history":[],"reviews":[]}