Skip to main content
Glama

misakanet_submit_intake

[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')

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "problem": "<problem>"
    },
    "name": "misakanet_submit_intake"
  }
}

Input Schema

NameRequiredDescriptionDefault
fixNoOptional: how it was resolved.
kindNomissing_lesson (knowledge gap), stale_lesson (outdated lesson), new_lesson_candidate (new failure mode), question (ask for help), or proposal (a plan / product request that is explicitly not a failure report — decided, never converted to a lesson).
errorNoOptional: short error message (auto-redacted).
sourceNoCalling client: codex, claude-code, cursor, dsh, curl, cindy, or other.
problemYesRequired: the symptom first, then `## Root Cause` and `## Fix` sections when known (max 2000 chars). Reports with those sections can become lessons automatically.
what_triedNoOptional: what was attempted.
contributorNoOptional: contributor identity (GitHub username, agent name, or email). Included in issue body for attribution.
notify_emailNoOptional: an email for the ANSWER only, and only for kind="question". Ask the user first — never invent it. It is used to send one confirmation message now and, once confirmed, one notification when the answer is ready (the issue URL; never the reporter's text). Omit it and the pull path (me_inbox / FAQ) is unchanged.
verificationNoOptional: how to confirm the fix works.
matched_lesson_idNoOptional: lesson ID that was checked but didn't help.

Output Schema

NameRequiredDescriptionDefault
noteNo
errorNo
answerNo
eventsNo
statusNo
pendingNo
receiptNo
routingNo
answeredNo
convertedNo
dedup_keyNo
duplicateNo
follow_upNo
intake_idNo
issue_urlNo
poll_hintNo
submittedNo
answer_urlNo
dedup_hashNo
previous_issueNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses that the endpoint is open and rate-limited with no Bearer auth, that the artifact is a GitHub issue for triage rather than a merged lesson, the label mapping per kind, async answer latency, dedup semantics on re-submission, and the meaning of quality_score/surface_report/redactions_applied. The explicit warning that surface_report tokens are not proof of internal tooling is exactly the kind of behavioral context annotations cannot carry.

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

Conciseness3/5

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

The critical routing sentence is front-loaded, which is good, but the body is a dense wall of run-on sentences that repeatedly restates the same return shapes (the dedup/answered/converted objects appear twice) even though an output schema exists. The example block is useful; the returns paragraph largely duplicates structured data that the agent can already read.

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

Completeness4/5

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

For a 10-parameter, mutation-adjacent submission tool this covers everything an agent needs: auth posture, artifact produced, async polling, dedup behavior, and content-shaping guidance. Because an output schema exists, the extensive return-value prose is redundant rather than necessary, which is what keeps this from a 5.

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% and the parameter descriptions are already detailed, so the baseline is 3; the description earns above baseline by adding semantics the schema lacks — server-side auto-detection of question-shaped content when kind is omitted, the rule that a report without ## Root Cause cannot auto-convert to a lesson, and the instruction to describe private tool names generically. It does repeat some schema content (problem section shape, notify_email rules) rather than only adding to it.

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 opening sentence states the specific verb+resource (submit an intake) and immediately contrasts it with the sibling misakanet_write_lesson, naming the exact precondition that selects one over the other (partial description vs. structured title/domain/problem/root_cause/fix). An agent can route correctly without opening either schema.

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?

Explicit when-to-use (partial failure, open question, proposal), when-not-to-use (once you have structured fields, use write_lesson instead), and named alternatives for the follow-up path (re-call with same problem text, me_inbox, or misakanet_search for FAQ hits). The 'Routing' paragraph also gives a concrete selection rule between kind="question" and a failure report, including what happens if kind is omitted.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.