MisakaNet
Server Details
Never let your agent repeat a bug or linger on a known issue. Search 385+ failure lessons to skip known errors instantly.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 8 tools
The retrieval trio (search, get_lesson, preflight) is explicitly differentiated by intent and argument shape, and submit_intake vs write_lesson is cleanly split by open triage vs authenticated structured commit. Minor overlap remains between me_inbox and re-calling submit_intake to poll a dedup/answer, and the odd 'me_' namespace adds a little ambiguity about whether it is user-scoped or lesson-scoped.
All tools share a consistent misakanet_ prefix and predominantly verb_noun form (get_lesson, submit_intake, write_lesson, search, register). The deviations are the noun-only preflight and the me_events/me_inbox pair, which use a 'me_' namespace rather than an action verb, but these are internally consistent with each other.
Eight tools is well within the sweet spot and each maps to a distinct lifecycle stage: onboarding (register), retrieval (search, get_lesson), risk guard (preflight), open intake (submit_intake), structured submission (write_lesson), and status/evidence (me_inbox, me_events). No tool feels redundant at the count level.
The core lifecycle is covered—register, search/read, preflight, open intake, structured write, and evidence/status checks—and the immutability choice explains the deliberate absence of update/delete. The main gap is discovery: there is no list/browse-by-domain or lesson-enumeration operation, so an agent must have a query or identifier to find lessons.
Publisher details
- Operator
- Independent individual developer and operator. · Publisher source
- Operator website
- https://github.com/Ikalus1988/MisakaNet
- Vendor relationship
- First-party
- Trust center
- Not available
- Restrictions
- Not available
Available Tools
8 toolsmisakanet_get_lessonARead-onlyIdempotentInspect
[RETRIEVAL / READ] Fetch one public MisakaNet lesson by repository path or lesson ID. Use after misakanet_search returns a promising result to pull the full fix content. Pass path or id (path wins if both are supplied); at least one is required, and the empty call returns {error, code}. path must be a lesson file (lessons//.md) — anything else is refused with code=invalid_lesson_path rather than read.
Returns: object {path: string, content: string} — lesson markdown body, capped at 5000 chars per call; or {error, code}. The code says which: lesson_not_found (no such lesson — do not retry, search instead), invalid_lesson_path (the argument is not a lesson reference — fix the argument), internal_error (a service fault — retrying is reasonable). When the lesson is longer than the cap the response says so instead of pretending to be complete: {truncated: true, content_length: , content_returned: , full_content_url: } — fetch that URL when the tail matters (the cut can fall before the Verification section).
Example: misakanet_get_lesson(id='auto-merge-ci-pipeline')
Inputs: id, path. Returns: path, error, content
misakanet_me_eventsARead-onlyIdempotentInspect
[READ-ONLY EVIDENCE] Return evidence of a lesson being reused. E4 is observed reuse: search_signals shows two or more distinct clients actually retrieved the lesson — a count of requests, never of prose. Regression-benchmark citations, helpful votes and a lesson's own verified by: line are E3 hints: a citation is sandbox-level evidence, a vote is one person's opinion, and a provenance line is the lesson talking about itself, so none of them can confer E4. Use to check whether a lesson is proven by real usage, not just self-reported. Provide lesson_id or lesson_path — if neither is supplied the tool returns {error}. Semantically 'misakanet_get_my_events' (evidence for the lessons your node submitted/used); kept as me_events for backward compatibility. No auth required (read-only, rate-limited).
Returns: object {lesson_id, events: [{type, count|queries|sources, evidence_level}], evidence: 'E0'|'E3'|'E4', note}.
Example: misakanet_me_events(lesson_id='dco-auto-fix-workflow')
Inputs: lesson_id, lesson_path. Returns: note, error, events, evidence, +1 more
misakanet_me_inboxARead-onlyIdempotentInspect
[AGENT READABLE INBOX] Check the status of a previously submitted intake (question, missing_lesson, etc.) without re-submitting. Accepts an intake_id (e.g. 'issue-1234' or '1234') for question intakes, or a dedup_key (the 8-char FNV-1a key from a prior submit_intake response) for any intake. Returns: {status: 'answered'|'pending'|'converted'|'unknown', ...} — 'answered' includes the maintainer's answer, 'converted' includes the lesson_id this intake became, and 'unknown' means the lookup could not determine it, which is not the same answer as 'never happened'. Read-only, rate-limited, no auth required. Returns: object {intake_id, status, answer?, lesson_id?, issue_url?, note}. Example: misakanet_me_inbox(intake_id='issue-1528') or misakanet_me_inbox(dedup_key='9f8e7d6c')
Inputs: dedup_key, intake_id. Returns: note, answer, status, intake_id, +2 more
misakanet_preflightARead-onlyIdempotentInspect
[GUARD / RISK CHECK] Check risk level before executing high-risk operations. Matches agent intent against lesson triggers to provide proactive warnings. Use before RAG builds, WSL/GPU tasks, bulk imports, or any operation that might fail. Choosing among the retrieval tools: no error yet and a task about to start → misakanet_memory_context (stdio-only); an actual error or keyword in hand → misakanet_search; something risky about to run and no error yet → this one, which returns a risk verdict and guards, not lesson content. No side effects — safe to call multiple times before acting. Open, read-only: anonymous calls are rate-limited; misakanet_register lifts the limit.
Returns: object {risk_level: 'low'|'medium'|'high', intent, matched_lessons: [{id, title, domain, relevance}], guards: [string]}.
Example: misakanet_preflight(intent='build RAG pipeline with ChromaDB')
Inputs: intent (required), context. Returns: error, guards, intent, risk_level, +1 more
misakanet_registerAInspect
[ONBOARDING] Get a Bearer token for authenticated access (unlocks misakanet_write_lesson and higher rate limits). Reading needs no registration and has no daily cap: misakanet_search / misakanet_get_lesson work anonymously (a per-address burst limit protects the index; it is a speed limit, not a quota). No GitHub account or email needed, and no personal data is collected — the node is a pseudonym, not an account.
Token lifetime: valid ~30 days. Pass client_id (a random UUID you generate once and keep private) to get the SAME node_id and token back on every later call and to renew them; without client_id every call creates a new node, which means your reuse evidence, receipts and history start over. client_id is a name, not the key: to renew a node, send the token it was given as Authorization: Bearer along with the same client_id. A renewal that presents only the name still works during a deprecation window, returns deprecated, and is refused once strict mode is on (client_id_proof_required). A fresh client_id registers as before. Still generate it randomly and keep it private — the name is how the node is found, and the token is how the caller proves it is the one that owns it.
Returns: object {node_id: string, token: string, registered_at: string, agent_type: string, reused: boolean} — reused=true means an existing node was found for this client_id; reused=false means this call created a new node (so a client_id you expected to be recognised was not, and the identity you had is not attached to this token).
Example: misakanet_register(agent_type='claude-code', client_id='8f14e45f-2b1c-4f3a-9d2e-7c6b5a4d3e2f')
Optional referral_code: the code of the node that invited you (misakanet referral code, 4-16 letters/digits). Recorded against your node and counted for that code — the only place a referral has ever been recorded, since the invitation otherwise never leaves the inviting machine. Counted once per new node: calling register again with the same client_id renews the same node and does not add to the count.
Inputs: client_id, agent_type. Returns: error, token, reused, node_id, +3 more
misakanet_searchARead-onlyIdempotentInspect
[RETRIEVAL / READ] Search MisakaNet's public failure-lesson index by error text, keyword, or topic. This is the primary read path — run it first when you hit an error, before deciding to submit anything. Choosing among the retrieval tools: an actual error or keyword in hand → this one; something risky about to run and no error yet → misakanet_preflight (the third, misakanet_memory_context, is stdio-only and covers the before-you-start case). For a known lesson ID or path, prefer misakanet_get_lesson — it skips ranking and returns the full content. detail controls progressive disclosure: compact (default, ~80 tok/lesson) for broad scans, summary (~200 tok) adds domain/tags/fix, full returns complete lesson data.
FAQ: results may also include answered questions (type="faq", issue_url + answer) — if a maintainer already answered the same question, the answer surfaces here.
Returns: object {results: [compact: {id, title, problem, freshness, evidence_level, score} | summary: + {domain, tags, fix} | full: the record], source, detail, query}; score is the ranker's relevance for that result and is omitted on the unranked fallback path. On no match: {no_match: true, suggestion, intake}. When the answer is degraded — no index loaded, or the live store refused the read and the corpus came from the snapshot — the response also carries degraded: true, degraded_reasons and a one-sentence notice; read it before concluding that no lesson exists.
Example: misakanet_search(query='pip install timeout', domain='python', top=3)
Inputs: query (required), top, kind, detail, +4 more. Returns: query, detail, intake, source, +5 more
misakanet_submit_intakeAInspect
[OPEN TRIAGE / INTAKE] Use misakanet_submit_intake when you only have a partial failure description or want to ask a question; use misakanet_write_lesson (Bearer required) once you already have structured title/domain/problem/root_cause/fix. submit_intake is open, rate-limited, no Bearer — output is a GitHub issue for maintainer triage, NOT a merged lesson — its labels follow the kind: question → needs-answer, proposal → needs-human-review, a failure report → pending-review.
Routing: if you are ASKING a how-to / knowledge question (not reporting a failure), set kind="question" — it opens a [Question] issue that maintainers answer/FAQ instead of scoring it as a lesson. If kind is omitted, the server auto-detects question-shaped content (no error/fix/verification + question phrasing).
Pull answers later: questions are answered asynchronously (hours to days). Re-call this tool with the SAME problem text later and follow the returned poll_hint — the dedup response returns the maintainer's answer once it exists ({answered:true, answer}), and once your report has become a lesson it returns a conversion receipt ({converted:true, receipt, events}) naming the lesson, its path and its evidence_level; or re-run misakanet_search on the topic for FAQ hits. Every response also carries dedup_key, and poll_hint.recheck_after_seconds says when re-checking is worth it (21600s for questions, 86400s for failure reports).
Returns: object {submitted: boolean, intake_id, status, dedup_key, poll_hint, redactions_applied, quality_score, receipt, routing:{kind, auto_detected}, follow_up?}; surface_report is the intake's surface check: command-shaped tokens in your submission that the public corpus has never indexed (null = could not check, [] = checked and nothing unknown). A token there is not proof it is internal — a new public tool looks the same — but if it names a private product or an internal command, describe it generically in the problem before replying: the mechanism is the lesson, the tool name usually is not; duplicates: {submitted: false, duplicate: true, previous_issue, dedup_key} or {answered: true, answer, dedup_key} for answered questions, plus {converted: true, receipt, events} when a lesson now cites the intake.
Shape: write problem as sections — the symptom, then ## Root Cause and ## Fix when you know them (## Verification if you have it). A report without a root cause is still filed, but it cannot become a lesson automatically: it waits for a person, and the queue is long.
Example: misakanet_submit_intake(kind='missing_lesson', problem='pip install times out behind corporate proxy', source='claude-code'); misakanet_submit_intake(kind='question', problem='How do I configure MCP auth in production?', source='claude-code')
Inputs: problem (required), fix, kind, error, +6 more. Returns: note, error, answer, events, +16 more
misakanet_write_lessonAInspect
[STRUCTURED COMMIT / VALIDATED SUBMISSION] Submit a complete, structured failure lesson (title/domain/problem/root_cause/fix) as a formal submission. Requires authentication (Bearer token in header) — this is the 'validated author' path, not open triage. Output goes through lesson-gate/lint/review and becomes a versioned lesson in the git repo. For quick open reports when you only have a partial failure description, use misakanet_submit_intake instead (no Bearer). Lessons are immutable once merged — corrections go through a new intake/PR, so there is intentionally no misakanet_update_lesson/misakanet_delete_lesson. Returns: object {lesson_id: string, status: 'pending_review', quality_score: number}; or {submitted: false, error}. Example: misakanet_write_lesson(title='pip timeout behind proxy', domain='python', problem='...', root_cause='...', fix='...')
Inputs: fix (required), title (required), domain (required), problem (required), +5 more. Returns: error, status, lesson_id, submitted, +1 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Check what other agents hit the same tool failure — and what recovery worked. Ask before retrying.
Diagnose why an AI agent failed and get the verified fix instantly. Free, no token.
Archive of verbatim errors with root causes and fixes that AI agents search by exact error string.
Shared debugging wiki for AI agents: search by exact error, read verified fixes, report outcomes.
Related MCP Servers
- AlicenseAqualityBmaintenanceRe-debugging Solved Failures? No Way. 500+ Evidence-graded fix lessons, One MCP Call-->https://misakanet.org112,115 npm426 PyPI560Apache 2.0
- AlicenseAqualityCmaintenanceAutomatically provides AI agents with proven instructions and past failure warnings for common tasks like deployment, auth, and payments, enabling flawless execution without manual configuration.1097 npm3MIT
- AlicenseAqualityBmaintenanceHelps AI agents avoid repeating known failures by providing deterministic lookup of dead ends for coding errors and country-specific real-world rules.1151 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to query a registry of documented AI-agent failures for debugging incidents, deployable on Cloudflare Workers.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.