← WebMCP Directory

Tool tree

hesabu-eta.vercel.app

Media & PersonalTools verified
Website
Cold Case
Explore capabilities
    get_case_briefingAnswer

    Returns the case intro: victim, location, date, and the full briefing narrative. Call this first to orient before searching evidence.

    View tool JSON
    {
      "name": "get_case_briefing",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the case intro: victim, location, date, and the full briefing narrative. Call this first to orient before searching evidence.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          }
        },
        "required": [
          "caseId"
        ],
        "additionalProperties": false
      }
    }
    search_evidenceAnswer

    Full-text search across all case evidence and suspect dossiers. Returns ranked hits with ids, kinds and excerpts. Use ids with read_evidence for full content.

    View tool JSON
    {
      "name": "search_evidence",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full-text search across all case evidence and suspect dossiers. Returns ranked hits with ids, kinds and excerpts. Use ids with read_evidence for full content.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "query": {
            "type": "string",
            "description": "Search terms, e.g. 'blackout veranda'."
          }
        },
        "required": [
          "caseId",
          "query"
        ],
        "additionalProperties": false
      }
    }
    read_evidenceAnswer

    Returns the complete record of one item by id: an evidence piece (statement, log, document, physical object) or a suspect dossier. Always cite item ids when reasoning about them.

    View tool JSON
    {
      "name": "read_evidence",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the complete record of one item by id: an evidence piece (statement, log, document, physical object) or a suspect dossier. Always cite item ids when reasoning about them.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "itemId": {
            "type": "string"
          }
        },
        "required": [
          "caseId",
          "itemId"
        ],
        "additionalProperties": false
      }
    }
    list_suspectsAnswer

    Returns all suspects' dossiers: name, role, alibi, motive, relationship to the victim.

    View tool JSON
    {
      "name": "list_suspects",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns all suspects' dossiers: name, role, alibi, motive, relationship to the victim.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          }
        },
        "required": [
          "caseId"
        ],
        "additionalProperties": false
      }
    }
    cross_referenceAction

    Compares two or more evidence items/suspects and returns detected contradictions between them, with summaries. This is how you verify alibis against logs. Also returns anything else in the case these items contradict.

    View tool JSON
    {
      "name": "cross_reference",
      "kind": "act",
      "impl": "imperative",
      "description": "Compares two or more evidence items/suspects and returns detected contradictions between them, with summaries. This is how you verify alibis against logs. Also returns anything else in the case these items contradict.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "itemIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 2,
            "description": "Two or more evidence/suspect ids."
          }
        },
        "required": [
          "caseId",
          "itemIds"
        ],
        "additionalProperties": false
      }
    }
    pin_evidenceAction

    Pins an evidence card or suspect dossier onto the shared corkboard. The pin is staged as a pending proposal — the player must approve before it appears. Always state your reason; pins without clear investigative purpose will be rejected by the player.

    View tool JSON
    {
      "name": "pin_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Pins an evidence card or suspect dossier onto the shared corkboard. The pin is staged as a pending proposal — the player must approve before it appears. Always state your reason; pins without clear investigative purpose will be rejected by the player.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "itemId": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "caseId",
          "itemId",
          "reason"
        ],
        "additionalProperties": false
      }
    }
    add_noteAction

    Attaches an annotation to an already-pinned item (give the pinned item's id). Staged for player approval. Use for timeline reconstructions, open questions, or links between cards.

    View tool JSON
    {
      "name": "add_note",
      "kind": "act",
      "impl": "imperative",
      "description": "Attaches an annotation to an already-pinned item (give the pinned item's id). Staged for player approval. Use for timeline reconstructions, open questions, or links between cards.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "pinItemId": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "caseId",
          "pinItemId",
          "text"
        ],
        "additionalProperties": false
      }
    }
    propose_theoryAction

    Stages a theory card on the board: your claim, the evidence ids that support it, and any open questions. The player accepts, challenges, or retracts it. Theories must cite at least two pieces of evidence — speculation without citations is not detective work.

    View tool JSON
    {
      "name": "propose_theory",
      "kind": "act",
      "impl": "imperative",
      "description": "Stages a theory card on the board: your claim, the evidence ids that support it, and any open questions. The player accepts, challenges, or retracts it. Theories must cite at least two pieces of evidence — speculation without citations is not detective work.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "claim": {
            "type": "string",
            "description": "One-sentence theory, e.g. 'The poison was in the medication, not the tea.'"
          },
          "supportingEvidenceIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "minItems": 2
          },
          "openQuestions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "caseId",
          "claim",
          "supportingEvidenceIds"
        ],
        "additionalProperties": false
      }
    }
    request_accusation_reviewAction

    When you believe the evidence is sufficient, request that the PLAYER consider accusing a suspect. You cannot accuse anyone yourself — this tool stages a formal recommendation with your reasoning, and the player alone decides whether to end the game with an accusation.

    View tool JSON
    {
      "name": "request_accusation_review",
      "kind": "act",
      "impl": "imperative",
      "description": "When you believe the evidence is sufficient, request that the PLAYER consider accusing a suspect. You cannot accuse anyone yourself — this tool stages a formal recommendation with your reasoning, and the player alone decides whether to end the game with an accusation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "caseId": {
            "type": "string",
            "description": "Case id. Use 'vigil-karura-house'."
          },
          "suspectId": {
            "type": "string"
          },
          "reasoning": {
            "type": "string"
          }
        },
        "required": [
          "caseId",
          "suspectId",
          "reasoning"
        ],
        "additionalProperties": false
      }
    }