← WebMCP Directory

Tool tree

orpheus-mcduff.vercel.app

Health & EducationTools verified
Website
The same 25 WebMCP tools and the same engine, pointed at the real public-domain Apollo 13 accident record: the Review Board report, the Mission Report, the voice loops and nine NASA photographs.
Explore capabilities
    get_investigation_contextAnswer

    Get your role briefing, the rules of play and the current case state. Call this first and follow the returned 'protocol' exactly. You are the workstation's onboard research AI; the player is an authorized investigator. This is a two-player investigation, not a task to finish: work one question at a time, two or three reads, then stop and report. The desk stops answering an agent that reads far ahead of its partner.

    View tool JSON
    {
      "name": "get_investigation_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get your role briefing, the rules of play and the current case state. Call this first and follow the returned 'protocol' exactly. You are the workstation's onboard research AI; the player is an authorized investigator. This is a two-player investigation, not a task to finish: work one question at a time, two or three reads, then stop and report. The desk stops answering an agent that reads far ahead of its partner.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/apollo13"
    }
    search_filesAnswer

    Search filenames and readable file contents across the filesystem. Returns matching paths plus a short content excerpt per match. Returns at most 25 results with 120-char excerpts — refine query for pagination.

    View tool JSON
    {
      "name": "search_files",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search filenames and readable file contents across the filesystem. Returns matching paths plus a short content excerpt per match. Returns at most 25 results with 120-char excerpts — refine query for pagination.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Text to search for in names and contents"
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/apollo13"
    }
    read_fileAnswer

    Read the full text content of a specific file by exact path. Prefer show_in_document for long files so the PLAYER reads it on screen instead.

    View tool JSON
    {
      "name": "read_file",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the full text content of a specific file by exact path. Prefer show_in_document for long files so the PLAYER reads it on screen instead.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Exact absolute path, as returned by search_files"
          }
        },
        "required": [
          "path"
        ]
      },
      "page": "/apollo13"
    }
    search_messagesAnswer

    Full-text search of the on-device chat threads. Call get_investigation_context for who is on this machine.

    View tool JSON
    {
      "name": "search_messages",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full-text search of the on-device chat threads. Call get_investigation_context for who is on this machine.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Text to search message bodies for"
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/apollo13"
    }
    get_message_threadAnswer

    Read one full chat thread by id. Use search_messages or get_investigation_context to discover thread ids for this corpus.

    View tool JSON
    {
      "name": "get_message_thread",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one full chat thread by id. Use search_messages or get_investigation_context to discover thread ids for this corpus.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "threadId": {
            "type": "string",
            "description": "Thread id for this corpus"
          }
        },
        "required": [
          "threadId"
        ]
      },
      "page": "/apollo13"
    }
    open_messages_threadAction

    Open the Messages app on screen and show a specific chat thread. Visible to the player — they can then read the bubbles.

    View tool JSON
    {
      "name": "open_messages_thread",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the Messages app on screen and show a specific chat thread. Visible to the player — they can then read the bubbles.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "threadId": {
            "type": "string",
            "description": "Thread id for this corpus"
          }
        },
        "required": [
          "threadId"
        ]
      },
      "page": "/apollo13"
    }
    search_emailsAnswer

    Search the mail store (inbox/sent/drafts/archive/trash) by sender, subject or body text.

    View tool JSON
    {
      "name": "search_emails",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the mail store (inbox/sent/drafts/archive/trash) by sender, subject or body text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Text to search for"
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/apollo13"
    }
    get_emailAnswer

    Read one email's full text by id (e.g. mail_101). Then consider open_email so the player sees it too.

    View tool JSON
    {
      "name": "get_email",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read one email's full text by id (e.g. mail_101). Then consider open_email so the player sees it too.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "emailId": {
            "type": "string",
            "description": "Email id, e.g. mail_102"
          }
        },
        "required": [
          "emailId"
        ]
      },
      "page": "/apollo13"
    }
    get_image_metadataAnswer

    Read EXIF-style metadata for a photo (timestamps, GPS, camera, software, hash, notes). This is ALL you can know about an image — you cannot see its pixels. To have the player look at it, call open_image and then tell them where to zoom.

    View tool JSON
    {
      "name": "get_image_metadata",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read EXIF-style metadata for a photo (timestamps, GPS, camera, software, hash, notes). This is ALL you can know about an image — you cannot see its pixels. To have the player look at it, call open_image and then tell them where to zoom.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "photoId": {
            "type": "string",
            "description": "Photo id or filename, as returned by get_investigation_context"
          }
        },
        "required": [
          "photoId"
        ]
      },
      "page": "/apollo13"
    }
    open_imageAction

    Open a photo in the image viewer on screen so the player can visually inspect it. You cannot zoom, pan, or see it yourself.

    View tool JSON
    {
      "name": "open_image",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a photo in the image viewer on screen so the player can visually inspect it. You cannot zoom, pan, or see it yourself.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "photoId": {
            "type": "string",
            "description": "Photo id or filename, as returned by get_investigation_context"
          }
        },
        "required": [
          "photoId"
        ]
      },
      "page": "/apollo13"
    }
    search_browser_historyAnswer

    Search the browser history entries by title or URL fragment.

    View tool JSON
    {
      "name": "search_browser_history",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the browser history entries by title or URL fragment.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Text to search titles/URLs for"
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/apollo13"
    }
    get_system_logsAnswer

    Read system log entries, optionally filtered by date, time, category ('NETWORK'/'LOGIN'/'DEVICE'/'POWER'/'SECURITY'), or free text. Call get_investigation_context first for the window that matters in this case.

    View tool JSON
    {
      "name": "get_system_logs",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read system log entries, optionally filtered by date, time, category ('NETWORK'/'LOGIN'/'DEVICE'/'POWER'/'SECURITY'), or free text. Call get_investigation_context first for the window that matters in this case.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "filter": {
            "type": "string",
            "description": "Optional filter substring"
          }
        }
      },
      "page": "/apollo13"
    }
    get_timelineAnswer

    Get a merged chronological timeline of system logs, photo timestamps, and message saliency across a time window. A human would need to open five apps and read them side by side; this synthesizes it in one call.

    View tool JSON
    {
      "name": "get_timeline",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get a merged chronological timeline of system logs, photo timestamps, and message saliency across a time window. A human would need to open five apps and read them side by side; this synthesizes it in one call.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "window": {
            "type": "string",
            "description": "Time window e.g. 02:00-03:00; omit for this case's default"
          }
        },
        "required": []
      },
      "page": "/apollo13"
    }
    get_case_evidenceAnswer

    List every piece of evidence recorded on the board so far (ids, sections, summaries).

    View tool JSON
    {
      "name": "get_case_evidence",
      "kind": "answer",
      "impl": "imperative",
      "description": "List every piece of evidence recorded on the board so far (ids, sections, summaries).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/apollo13"
    }
    open_applicationAction

    Open and focus one of the workstation's applications. Visible to the player — the window opens on their desktop.

    View tool JSON
    {
      "name": "open_application",
      "kind": "act",
      "impl": "imperative",
      "description": "Open and focus one of the workstation's applications. Visible to the player — the window opens on their desktop.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "application": {
            "type": "string",
            "enum": [
              "files",
              "mail",
              "messages",
              "photos",
              "browser",
              "terminal",
              "systemlog",
              "evidence"
            ],
            "description": "Which application"
          }
        },
        "required": [
          "application"
        ]
      },
      "page": "/apollo13"
    }
    focus_applicationAction

    Bring an already-running application window to the foreground.

    View tool JSON
    {
      "name": "focus_application",
      "kind": "act",
      "impl": "imperative",
      "description": "Bring an already-running application window to the foreground.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "application": {
            "type": "string",
            "enum": [
              "files",
              "mail",
              "messages",
              "photos",
              "browser",
              "terminal",
              "systemlog",
              "evidence"
            ],
            "description": "Which application"
          }
        },
        "required": [
          "application"
        ]
      },
      "page": "/apollo13"
    }
    open_fileAction

    Open a document in the text viewer on the player's screen (opens File Manager context automatically). Does not scroll — use show_in_document when you want to guide them to a specific line or phrase.

    View tool JSON
    {
      "name": "open_file",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a document in the text viewer on the player's screen (opens File Manager context automatically). Does not scroll — use show_in_document when you want to guide them to a specific line or phrase.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Exact absolute path"
          }
        },
        "required": [
          "path"
        ]
      },
      "page": "/apollo13"
    }
    show_in_documentAction

    Open a document (if not open), scroll to a line, and pin a persistent highlight on it that stays until the player clicks, scrolls, types, or closes. Provide either a 1-based `line` or a `query` (first match is shown). This is the agent's preferred 'look at THIS' primitive — use it instead of quoting a passage into chat.

    View tool JSON
    {
      "name": "show_in_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Open a document (if not open), scroll to a line, and pin a persistent highlight on it that stays until the player clicks, scrolls, types, or closes. Provide either a 1-based `line` or a `query` (first match is shown). This is the agent's preferred 'look at THIS' primitive — use it instead of quoting a passage into chat.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Absolute path, as returned by search_files"
          },
          "line": {
            "type": "number",
            "description": "1-based line number (mutually exclusive with query)"
          },
          "query": {
            "type": "string",
            "description": "Phrase to find — first match is shown (mutually exclusive with line)"
          }
        },
        "required": [
          "path"
        ]
      },
      "page": "/apollo13"
    }
    open_directoryAction

    Navigate the File Manager to a directory on the player's screen.

    View tool JSON
    {
      "name": "open_directory",
      "kind": "act",
      "impl": "imperative",
      "description": "Navigate the File Manager to a directory on the player's screen.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "Absolute directory path"
          }
        },
        "required": [
          "path"
        ]
      },
      "page": "/apollo13"
    }
    open_emailAction

    Open Mail and display a specific email on screen for the player to read.

    View tool JSON
    {
      "name": "open_email",
      "kind": "act",
      "impl": "imperative",
      "description": "Open Mail and display a specific email on screen for the player to read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "emailId": {
            "type": "string",
            "description": "Email id, e.g. mail_102"
          }
        },
        "required": [
          "emailId"
        ]
      },
      "page": "/apollo13"
    }
    open_browser_entryAction

    Open the fictional Browser at a history entry's cached page (entry ids like hist_001 from search_browser_history).

    View tool JSON
    {
      "name": "open_browser_entry",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the fictional Browser at a history entry's cached page (entry ids like hist_001 from search_browser_history).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "entryId": {
            "type": "string",
            "description": "History entry id"
          }
        },
        "required": [
          "entryId"
        ]
      },
      "page": "/apollo13"
    }
    terminal_commandAction

    Run one command in the workstation terminal on screen: ls [path], cd [path], cat <file>, unlock <w1> <w2> <w3>, help, clear. Use 'unlock' ONLY when the player has derived the three-word sequence themselves.

    View tool JSON
    {
      "name": "terminal_command",
      "kind": "act",
      "impl": "imperative",
      "description": "Run one command in the workstation terminal on screen: ls [path], cd [path], cat <file>, unlock <w1> <w2> <w3>, help, clear. Use 'unlock' ONLY when the player has derived the three-word sequence themselves.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "description": "The command line to run"
          }
        },
        "required": [
          "command"
        ]
      },
      "page": "/apollo13"
    }
    record_evidenceAction

    Record a discovered item on the shared Evidence board. Only meaningful ids from get_case_evidence may be added; you cannot invent evidence.

    View tool JSON
    {
      "name": "record_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Record a discovered item on the shared Evidence board. Only meaningful ids from get_case_evidence may be added; you cannot invent evidence.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "evidenceId": {
            "type": "string",
            "description": "Evidence id, e.g. ev_0213_login"
          }
        },
        "required": [
          "evidenceId"
        ]
      },
      "page": "/apollo13"
    }
    highlight_evidenceAction

    Pulse-highlight an already-recorded item on the Evidence board to draw the player's attention.

    View tool JSON
    {
      "name": "highlight_evidence",
      "kind": "act",
      "impl": "imperative",
      "description": "Pulse-highlight an already-recorded item on the Evidence board to draw the player's attention.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "evidenceId": {
            "type": "string",
            "description": "Existing evidence id"
          }
        },
        "required": [
          "evidenceId"
        ]
      },
      "page": "/apollo13"
    }
    open_evidence_boardAction

    Open the shared Evidence board application.

    View tool JSON
    {
      "name": "open_evidence_board",
      "kind": "act",
      "impl": "imperative",
      "description": "Open the shared Evidence board application.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/apollo13"
    }