Skip to main content
Glama

Server Details

Never let your agent repeat a bug or linger on a known issue. Search 385+ failure lessons to skip known errors instantly.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

7 tools
misakanet_get_lessonA
Read-onlyIdempotent
Inspect

[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. Provide exactly one of id or path (path takes precedence if both are supplied); if neither is supplied the tool returns {error}. Returns: object {path: string, content: string} — lesson markdown body (≤5000 chars); or {error: string}. Example: misakanet_get_lesson(id='auto-merge-ci-pipeline')

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoLesson ID, usually the filename without .md, e.g. auto-merge-ci-pipeline. Either id or path is required.
pathNoLesson path relative to the repository, e.g. lessons/core/auto-merge-ci-pipeline.md. Either path or id is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription
pathNo
errorNo
contentNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds valuable behavioral context beyond that: the error case when neither parameter is supplied, the precedence rule, the return shape, and the 5000-character limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: a clear retrieval marker, the operation, workflow placement, key constraints, return type, and an example. Every sentence earns its place and the most important decision rules are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with full schema coverage and supporting annotations, the description is complete. It covers how to invoke it, what happens in edge cases, the return shape, and the expected workflow context, so an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds extra meaning by clarifying path precedence, the 'exactly one' requirement, and the error result if neither is provided, which goes beyond the schema's per-parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Fetch' plus a clear resource ('one public MisakaNet lesson') and identifies the distinguishing lookup keys (repository path or lesson ID). It explicitly frames itself as the retrieval step after misakanet_search, so an agent can tell it apart from search and write_lesson without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this tool after misakanet_search returns a promising result, providing concrete workflow guidance. It also states the key invocation constraint: provide exactly one of id or path, with path taking precedence when both are supplied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

misakanet_me_eventsA
Read-onlyIdempotent
Inspect

[READ-ONLY EVIDENCE] Return evidence of a lesson being reused (E4 signals): helpful votes, regression-benchmark citations, and cross-node confirmation. 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')

ParametersJSON Schema
NameRequiredDescriptionDefault
lesson_idNoLesson ID (filename stem), e.g. dco-auto-fix-workflow. Either lesson_id or lesson_path is required.
lesson_pathNoOptional full path, e.g. lessons/core/dco-auto-fix-workflow.md. Either lesson_id or lesson_path is required.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
errorNo
eventsNo
evidenceNo
lesson_idNo

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive hints, but the description adds non-obvious behavior: no auth required, rate-limiting, the {error} response for missing identifiers, and the backward-compatibility reason for the me_events name. Nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded with the core purpose, then covers invocation, auth, return shape, and an example. There is slight redundancy with the annotations and output schema, but every sentence contributes useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only tool with an output schema, the description covers invocation requirements, failure behavior, authentication, rate limiting, return structure, and an example. An agent has everything needed to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and each parameter description already documents the either-or requirement. The description reinforces that requirement and provides an example value, but it does not add substantial semantic information beyond what the input schema already supplies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Return evidence of a lesson being reused (E4 signals)'. It names concrete signals like helpful votes, regression-benchmark citations, and cross-node confirmation, and clarifies that the tool checks real usage rather than self-reported claims.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when to use the tool: 'Use to check whether a lesson is proven by real usage, not just self-reported.' It also states the invocation requirement to provide lesson_id or lesson_path, and notes the error if neither is supplied. However, it does not name alternatives or give explicit when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

misakanet_preflightA
Read-onlyIdempotent
Inspect

[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. No side effects — safe to call multiple times before acting. 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')

ParametersJSON Schema
NameRequiredDescriptionDefault
intentYesRequired: what you plan to do (e.g. 'build RAG pipeline with ChromaDB').
contextNoOptional: additional context about the environment or setup.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
guardsNo
intentNo
risk_levelNo
matched_lessonsNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, and non-destructive behavior, and the description reinforces this with 'No side effects — safe to call multiple times.' It adds the behavioral detail that it matches intent against lesson triggers and returns a structured risk assessment, which goes beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: purpose, use cases, side-effect note, return shape, and example are each covered in one or two sentences with no filler. Every sentence contributes to correct invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, read-only, idempotent tool with an output schema, the description provides everything an agent needs: when to call it, its return object, and an example. No critical operational detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds a concrete example of the intent parameter, but it does not materially expand on the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '[GUARD / RISK CHECK]' and states a specific verb and resource: it checks risk level before high-risk operations and matches agent intent against lesson triggers. This clearly distinguishes it from sibling tools like misakanet_search or misakanet_write_lesson, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit use-before scenarios ('RAG builds, WSL/GPU tasks, bulk imports, or any operation that might fail') and says it is safe to call multiple times. It does not explicitly state when not to use it or name alternatives, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

misakanet_registerAInspect

[ONBOARDING] Register a new agent node and get a token for authenticated access. Call this first when you have no token; the returned Bearer token unlocks misakanet_write_lesson and higher rate limits on other tools. No GitHub account or email needed. Token lifetime: valid ~30 days (no auto-renew) — call misakanet_register again to rotate or refresh. Each call creates a new node, so register once per agent. Returns: object {node_id: string, token: string, registered_at: string, agent_type: string} — the node id and its Bearer token. Example: misakanet_register(agent_type='claude-code')

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_typeYesAgent type (e.g. claude-code, codex, cursor, dsh, other)

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
tokenNo
node_idNo
agent_typeNo
registered_atNo

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag readOnlyHint=false and idempotentHint=false, and the description reinforces this with concrete detail: each call creates a new node, the token is valid ~30 days with no auto-renew, and no GitHub/email is required. It adds auth, rotation, and side-effect context well beyond what the structured annotations carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is on the longer side, but every sentence is functional: purpose, when to call, token lifetime, side-effect warning, return shape, and an example. It is front-loaded with [ONBOARDING] and the purpose statement; the only slight redundancy is restating the return object that the output schema presumably covers.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with an output schema and annotations, the description covers everything an agent needs to call it correctly: purpose, preconditions, token propagation, lifetime, re-registration behavior, and a worked example. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% — agent_type is already described with examples (claude-code, codex, cursor, dsh, other). The description's example call adds only a minor demonstration of invocation syntax, so it stays at the baseline of 3 rather than earning uplift.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — "Register a new agent node and get a token for authenticated access" — and the [ONBOARDING] prefix plus "Call this first when you have no token" clearly position it as the access-granting first step. It is cleanly distinguishable from sibling tools, none of which register nodes or issue tokens.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance (when you have no token), what it unlocks (misakanet_write_lesson, higher rate limits), and explicit exclusions ("call ... again to rotate or refresh"; "Each call creates a new node, so register once per agent"). The 30-day lifetime and no-auto-renew warning leave nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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 (intake,mcp-intake,pending-review) for maintainer triage, NOT a merged lesson. 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 — the dedup response returns the maintainer's answer once it exists ({answered:true, answer}); or re-run misakanet_search on the topic for FAQ hits. Returns: object {submitted: boolean, intake_id, status, redactions_applied, quality_score, receipt, routing:{kind, auto_detected}, follow_up?}; duplicates: {submitted: false, duplicate: true, previous_issue} or {answered: true, answer} for answered questions. 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')

ParametersJSON Schema
NameRequiredDescriptionDefault
fixNoOptional: how it was resolved.
kindNomissing_lesson (knowledge gap), stale_lesson (outdated lesson), new_lesson_candidate (new failure mode), or question (ask for help).
errorNoOptional: short error message (auto-redacted).
sourceNoCalling client: codex, claude-code, cursor, dsh, curl, or other.
problemYesRequired: short description of the failure, gap, or question (max 2000 chars).
what_triedNoOptional: what was attempted.
verificationNoOptional: how to confirm the fix works.
matched_lesson_idNoOptional: lesson ID that was checked but didn't help.

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteNo
errorNo
answerNo
statusNo
pendingNo
receiptNo
routingNo
answeredNo
duplicateNo
follow_upNo
intake_idNo
issue_urlNo
submittedNo
answer_urlNo
dedup_hashNo
previous_issueNo

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the minimal annotations by disclosing rate limits, no-Bearer auth, GitHub-issue output, async answering, dedup behavior, and return-shape variants. It also explicitly states this is not a merged lesson, which is critical behavioral context for an intake tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average, but nearly every section adds necessary operational detail: routing, auth, output semantics, dedup, and examples. It is front-loaded with the most important routing distinction and remains structured and readable despite its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex due to async behavior, dedup, and routing variants, and the description covers all of these comprehensively. It also includes return formats and examples, so an agent has enough context to invoke it correctly without needing separate documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning by explaining the 'kind' parameter with a concrete example, showing how 'source' is used, and describing how 'problem' is used for dedup lookups. It does not need to restate every schema field.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('submit_intake') and clearly differentiates it from misakanet_write_lesson by defining the exact input state (partial failure description vs. structured fields). It also names the output artifact (GitHub issue for triage, not a merged lesson), making the tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing criteria: use this tool for partial failures, questions, or asynchronous follow-ups, and use misakanet_write_lesson once structured data exists. It also explains the 'question' kind and the auto-detection fallback, providing clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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='...')

ParametersJSON Schema
NameRequiredDescriptionDefault
fixYesHow to fix it (required).
tagsNoComma-separated tags.
titleYesShort descriptive title.
domainYesDomain: devops, python, network, feishu, rag, fanuc, mcp, etc.
sourceNoSource: codex, claude-code, cursor, etc.
problemYesWhat failed (required).
root_causeYesWhy it failed (required).
verificationNoHow to confirm the fix works.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNo
statusNo
lesson_idNo
submittedNo
quality_scoreNo

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the all-false annotations, the description discloses substantial behavior: required Bearer auth, lesson-gate/lint/review pipeline, git versioning, immutability after merge, intentional absence of update/delete, and the exact return shape. This is much richer behavioral context than annotations alone and nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every clause earns its place: scope, auth requirement, pipeline behavior, sibling alternative, immutability constraint, return type, and example. The essential validation criteria are front-loaded and the prose is well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a write/submission tool with 8 parameters and a complex workflow, this description covers required fields, optional path selection, auth, post-submission processing, immutability, correction path, and return contract. Nothing an agent needs to call or reason about this tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already documents all 8 parameters with clear descriptions, so the baseline is 3. The description adds a concrete invocation example with real values and groups title/domain/problem/root_cause/fix as the core complete-lesson fields, giving agents a model for how to populate them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Submit a complete, structured failure lesson' and names the exact resource and required fields (title/domain/problem/root_cause/fix). It positions the tool as the formal 'validated author' submission path and explicitly distinguishes it from the quick-intake sibling, so an agent can identify it accurately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use this tool (complete structured lesson, Bearer-token validated author) and when not to (partial failure description -> misakanet_submit_intake, no Bearer). It also explains the correction workflow via a new intake/PR because lessons are immutable, leaving no ambiguity about updating.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changedmisakanet_search1 field changed
      • addedInput schema / properties / kind
        Added value: +{
        +  "description": "Filter by kind: 'lessons' (lesson files only), 'evidence' (results with evidence_refs or verification), 'related' (cross-referenced/tag-overlap), 'all' (default). Auto-detected from query intent when omitted.",
        +  "enum": [
        +    "all",
        +    "lessons",
        +    "evidence",
        +    "related"
        +  ],
        +  "type": "string"
        +}
  2. 7 tool updates
    • Changedmisakanet_get_lesson4 fields changed
      • addedInput schema / minProperties
        Added value: +1
      • changedInput schema / properties / id / description
        Previous value: -"Lesson ID, usually the filename without .md, e.g. auto-merge-ci-pipeline."New value: +"Lesson ID, usually the filename without .md, e.g. auto-merge-ci-pipeline. Either id or path is required."
      • changedInput schema / properties / path / description
        Previous value: -"Lesson path relative to the repository, e.g. lessons/core/auto-merge-ci-pipeline.md."New value: +"Lesson path relative to the repository, e.g. lessons/core/auto-merge-ci-pipeline.md. Either path or id is required."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "content": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "path": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_me_events4 fields changed
      • addedInput schema / minProperties
        Added value: +1
      • changedInput schema / properties / lesson_id / description
        Previous value: -"Lesson ID (filename stem), e.g. dco-auto-fix-workflow."New value: +"Lesson ID (filename stem), e.g. dco-auto-fix-workflow. Either lesson_id or lesson_path is required."
      • changedInput schema / properties / lesson_path / description
        Previous value: -"Optional full path, e.g. lessons/core/dco-auto-fix-workflow.md."New value: +"Optional full path, e.g. lessons/core/dco-auto-fix-workflow.md. Either lesson_id or lesson_path is required."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "error": {
        +      "type": "string"
        +    },
        +    "events": {
        +      "items": {
        +        "properties": {
        +          "count": {
        +            "type": "number"
        +          },
        +          "evidence_level": {
        +            "type": "string"
        +          },
        +          "queries": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "sources": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "type": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "evidence": {
        +      "enum": [
        +        "E0",
        +        "E3",
        +        "E4"
        +      ],
        +      "type": "string"
        +    },
        +    "lesson_id": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_preflight1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "error": {
        +      "type": "string"
        +    },
        +    "guards": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "intent": {
        +      "type": "string"
        +    },
        +    "matched_lessons": {
        +      "items": {
        +        "properties": {
        +          "domain": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "relevance": {
        +            "type": "number"
        +          },
        +          "title": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "risk_level": {
        +      "enum": [
        +        "low",
        +        "medium",
        +        "high"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_register1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "agent_type": {
        +      "type": "string"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "node_id": {
        +      "type": "string"
        +    },
        +    "registered_at": {
        +      "type": "string"
        +    },
        +    "token": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_search1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "detail": {
        +      "type": "string"
        +    },
        +    "intake": {
        +      "properties": {
        +        "args": {
        +          "type": "object"
        +        },
        +        "tool": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "no_match": {
        +      "type": "boolean"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "results": {
        +      "items": {
        +        "properties": {
        +          "answer": {
        +            "type": "string"
        +          },
        +          "description": {
        +            "type": "string"
        +          },
        +          "domain": {
        +            "type": "string"
        +          },
        +          "id": {
        +            "type": "string"
        +          },
        +          "issue_url": {
        +            "type": "string"
        +          },
        +          "path": {
        +            "type": "string"
        +          },
        +          "score": {
        +            "type": "number"
        +          },
        +          "tags": {
        +            "items": {
        +              "type": "string"
        +            },
        +            "type": "array"
        +          },
        +          "title": {
        +            "type": "string"
        +          },
        +          "type": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "source": {
        +      "type": "string"
        +    },
        +    "suggestion": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_submit_intake1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "answer": {
        +      "type": "string"
        +    },
        +    "answer_url": {
        +      "type": "string"
        +    },
        +    "answered": {
        +      "type": "boolean"
        +    },
        +    "dedup_hash": {
        +      "type": "string"
        +    },
        +    "duplicate": {
        +      "type": "boolean"
        +    },
        +    "error": {
        +      "type": "string"
        +    },
        +    "follow_up": {
        +      "properties": {
        +        "how": {
        +          "type": "string"
        +        },
        +        "intake_id": {
        +          "type": "string"
        +        },
        +        "issue_url": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "intake_id": {
        +      "type": "string"
        +    },
        +    "issue_url": {
        +      "type": "string"
        +    },
        +    "note": {
        +      "type": "string"
        +    },
        +    "pending": {
        +      "type": "boolean"
        +    },
        +    "previous_issue": {
        +      "type": "string"
        +    },
        +    "receipt": {
        +      "type": "string"
        +    },
        +    "routing": {
        +      "properties": {
        +        "auto_detected": {
        +          "type": "boolean"
        +        },
        +        "kind": {
        +          "type": "string"
        +        },
        +        "note": {
        +          "type": "string"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "submitted": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmisakanet_write_lesson1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "error": {
        +      "type": "string"
        +    },
        +    "lesson_id": {
        +      "type": "string"
        +    },
        +    "quality_score": {
        +      "type": "number"
        +    },
        +    "status": {
        +      "type": "string"
        +    },
        +    "submitted": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
  3. 7 tool updates
    • First observedmisakanet_get_lesson
    • First observedmisakanet_me_events
    • First observedmisakanet_preflight
    • First observedmisakanet_register
    • First observedmisakanet_search
    • First observedmisakanet_submit_intake
    • First observedmisakanet_write_lesson

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Each tool has a distinct role: retrieval (search/get_lesson), submission (submit_intake/write_lesson), evidence (me_events), risk preflight, and registration. The two submission tools are carefully differentiated by structure and auth requirements, so an agent should not confuse them.

Naming Consistency4/5

All tools share the misakanet_ prefix and snake_case style, and most use a verb_noun pattern. Minor deviations like search, register, preflight, and me_events break the pattern slightly, but the names remain readable and predictable.

Tool Count5/5

Seven tools is well-scoped for a failure-lesson registry: one onboarding tool, one guardrail, two read paths, two submission paths, and one evidence-check tool. No tool feels redundant or missing at a coarse level.

Completeness5/5

The lifecycle is covered end-to-end: register for access, search and get lessons, submit either partial intakes or structured lessons, preflight risky actions, and check reuse evidence. Update/delete are intentionally absent because lessons are immutable, and corrections route through intake, so there are no dead ends.

Resources