← WebMCP Directory

Tool tree

agentdom-one.vercel.app

Productivity & BusinessTools verified
Website
AgentDom — a private, client-side knowledge workbench. Your notes never leave your browser; an AI agent can help via narrow WebMCP tools.
Explore capabilities
    list_documentsAnswer

    Lists every local note (document) the user has, most recently updated first. Use this to see what documents exist. Returns, for each document, only its id, title, a short one-line preview, tags, and last-updated time — never the full document body. Does NOT open or select a document; call open_document with the id you want next.

    View tool JSON
    {
      "name": "list_documents",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists every local note (document) the user has, most recently updated first. Use this to see what documents exist. Returns, for each document, only its id, title, a short one-line preview, tags, and last-updated time — never the full document body. Does NOT open or select a document; call open_document with the id you want next.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    search_documentsAnswer

    Full-text keyword search across all local documents. Use this when the user wants to find a document by topic or content, e.g. 'find my notes about pricing'. Returns matching documents' ids, titles, and a short highlighted snippet only — never full document bodies. Also highlights the matches in the page for the user to see. Does NOT open a document for editing; call open_document with the id of the result you want to act on next.

    View tool JSON
    {
      "name": "search_documents",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full-text keyword search across all local documents. Use this when the user wants to find a document by topic or content, e.g. 'find my notes about pricing'. Returns matching documents' ids, titles, and a short highlighted snippet only — never full document bodies. Also highlights the matches in the page for the user to see. Does NOT open a document for editing; call open_document with the id of the result you want to act on next.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "One or more keywords to search for across document titles and bodies, e.g. \"onboarding roadmap\"."
          }
        },
        "required": [
          "query"
        ],
        "additionalProperties": false
      }
    }
    open_documentAction

    Opens one document as the current document — the default target for editing tools (insert_paragraph, replace_text, save_document, create_share_link). Omit documentId for 'open the document I was working on most recently' — the most-recently-updated document opens deterministically. Pass documentId to open a specific one found via list_documents or search_documents. Returns id, title, a short preview, tags, and stats — NOT the full body text.

    View tool JSON
    {
      "name": "open_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Opens one document as the current document — the default target for editing tools (insert_paragraph, replace_text, save_document, create_share_link). Omit documentId for 'open the document I was working on most recently' — the most-recently-updated document opens deterministically. Pass documentId to open a specific one found via list_documents or search_documents. Returns id, title, a short preview, tags, and stats — NOT the full body text.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional id to open a specific document. Omit to open the most recently updated one."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    get_current_documentAnswer

    Returns metadata about whichever document is currently open in the app (the one the user last clicked on, or the one open_document last selected) — id, title, a short preview, tags, and stats, NOT the full body text. Use this to check what's currently open before editing it, without needing to already know its id. Returns ok: false if no document is currently open — call open_document first in that case.

    View tool JSON
    {
      "name": "get_current_document",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns metadata about whichever document is currently open in the app (the one the user last clicked on, or the one open_document last selected) — id, title, a short preview, tags, and stats, NOT the full body text. Use this to check what's currently open before editing it, without needing to already know its id. Returns ok: false if no document is currently open — call open_document first in that case.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    summarize_selectionAction

    Summarizes ONLY the text the human user currently has highlighted/selected on the page right now — it takes no text input and cannot be given arbitrary text, so it can never be used to extract a full document. Use this when the user asks you to summarize something they just selected. Returns a short capped summary only. Returns ok: false with no summary if nothing is currently selected — ask the user to select text first rather than guessing.

    View tool JSON
    {
      "name": "summarize_selection",
      "kind": "act",
      "impl": "imperative",
      "description": "Summarizes ONLY the text the human user currently has highlighted/selected on the page right now — it takes no text input and cannot be given arbitrary text, so it can never be used to extract a full document. Use this when the user asks you to summarize something they just selected. Returns a short capped summary only. Returns ok: false with no summary if nothing is currently selected — ask the user to select text first rather than guessing.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    summarize_documentAction

    Summarizes one WHOLE document by id (unlike summarize_selection, which only reads the user's live text selection). Use this for a quick summary of an entire document, or to understand it before writing new content with insert_paragraph. Output length is hard-capped regardless of document length, so it can never approximate the full text. Does not save or share anything — combine with create_share_link for that.

    View tool JSON
    {
      "name": "summarize_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Summarizes one WHOLE document by id (unlike summarize_selection, which only reads the user's live text selection). Use this for a quick summary of an entire document, or to understand it before writing new content with insert_paragraph. Output length is hard-capped regardless of document length, so it can never approximate the full text. Does not save or share anything — combine with create_share_link for that.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional. Id of the document, as returned by list_documents, search_documents, or open_document. Omit to use the currently open document."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    suggest_document_linksAction

    Analyzes all local documents for likely topical connections and proposes links between pairs of them, each with a short reason (shared terms). Use this when the user asks you to find connections or relationships between their documents. Returns only titles, ids, and short reasons — never document bodies. Suggestions are shown to the user as cards and require the user's explicit accept_link_suggestion before becoming permanent — this tool alone changes nothing permanent.

    View tool JSON
    {
      "name": "suggest_document_links",
      "kind": "act",
      "impl": "imperative",
      "description": "Analyzes all local documents for likely topical connections and proposes links between pairs of them, each with a short reason (shared terms). Use this when the user asks you to find connections or relationships between their documents. Returns only titles, ids, and short reasons — never document bodies. Suggestions are shown to the user as cards and require the user's explicit accept_link_suggestion before becoming permanent — this tool alone changes nothing permanent.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    highlight_related_documentsAction

    Highlights, in the page's document list, the documents most related to one given document (by shared terms) — a visual aid only. Use this when the user wants to see what's related to a document without necessarily linking anything. Returns the related documents' ids, titles, and shared terms — never document bodies. This is purely visual and reversible; it does NOT create any permanent link (use suggest_document_links + accept_link_suggestion for that).

    View tool JSON
    {
      "name": "highlight_related_documents",
      "kind": "act",
      "impl": "imperative",
      "description": "Highlights, in the page's document list, the documents most related to one given document (by shared terms) — a visual aid only. Use this when the user wants to see what's related to a document without necessarily linking anything. Returns the related documents' ids, titles, and shared terms — never document bodies. This is purely visual and reversible; it does NOT create any permanent link (use suggest_document_links + accept_link_suggestion for that).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Required. Id of the document, as returned by list_documents, search_documents, or open_document. This is the document to find related documents for."
          }
        },
        "required": [
          "documentId"
        ],
        "additionalProperties": false
      }
    }
    insert_paragraphAction

    Inserts one new paragraph into a document, at the top or the bottom. Matches requests like 'add a short summary paragraph at the top'. The `text` parameter is the exact paragraph content to add. Leaves existing content unchanged; replace_text is the tool for changing existing content. Modifies the document's saved content immediately and returns its new character count.

    View tool JSON
    {
      "name": "insert_paragraph",
      "kind": "act",
      "impl": "imperative",
      "description": "Inserts one new paragraph into a document, at the top or the bottom. Matches requests like 'add a short summary paragraph at the top'. The `text` parameter is the exact paragraph content to add. Leaves existing content unchanged; replace_text is the tool for changing existing content. Modifies the document's saved content immediately and returns its new character count.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional. Id of the document, as returned by list_documents, search_documents, or open_document. Omit to use the currently open document."
          },
          "text": {
            "type": "string",
            "description": "The paragraph text to insert, written by you. Plain text; do not include markdown headers."
          },
          "position": {
            "type": "string",
            "enum": [
              "top",
              "bottom"
            ],
            "description": "'top' inserts as the first paragraph; 'bottom' appends as the last paragraph."
          }
        },
        "required": [
          "text",
          "position"
        ],
        "additionalProperties": false
      }
    }
    replace_textAction

    Finds the first exact occurrence of a snippet of text within a document's body and replaces it with new text. Use this for targeted edits like fixing a sentence or updating a specific phrase — NOT for adding new content (use insert_paragraph for that). The match is case-sensitive and must match exactly, including punctuation. Actually modifies the document's saved content immediately. Returns ok: false if no match was found.

    View tool JSON
    {
      "name": "replace_text",
      "kind": "act",
      "impl": "imperative",
      "description": "Finds the first exact occurrence of a snippet of text within a document's body and replaces it with new text. Use this for targeted edits like fixing a sentence or updating a specific phrase — NOT for adding new content (use insert_paragraph for that). The match is case-sensitive and must match exactly, including punctuation. Actually modifies the document's saved content immediately. Returns ok: false if no match was found.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional. Id of the document, as returned by list_documents, search_documents, or open_document. Omit to use the currently open document."
          },
          "find": {
            "type": "string",
            "description": "The exact, case-sensitive text to search for in the document body. Must match exactly, including punctuation."
          },
          "replaceWith": {
            "type": "string",
            "description": "The text that replaces the first match of `find`. An empty string removes the matched text."
          }
        },
        "required": [
          "find",
          "replaceWith"
        ],
        "additionalProperties": false
      }
    }
    save_documentAction

    Confirms a document's edits are saved to local storage and returns a final snapshot (title, character count, saved time). Matches 'save it' or 'save this document'. Edits from insert_paragraph/replace_text already persist immediately; this call gives a definitive confirmation. Does not create a shareable link — for a combined 'save and share' request, call create_share_link alone instead, which saves first.

    View tool JSON
    {
      "name": "save_document",
      "kind": "act",
      "impl": "imperative",
      "description": "Confirms a document's edits are saved to local storage and returns a final snapshot (title, character count, saved time). Matches 'save it' or 'save this document'. Edits from insert_paragraph/replace_text already persist immediately; this call gives a definitive confirmation. Does not create a shareable link — for a combined 'save and share' request, call create_share_link alone instead, which saves first.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional. Id of the document, as returned by list_documents, search_documents, or open_document. Omit to save the currently open document."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    create_share_linkAction

    Saves the document and generates a shareable URL opening a read-only snapshot of it, viewable by anyone with the link, without access to this browser's storage. The snapshot is a capped summary only, never the full document text. Matches 'save it and give me a link I can share' or 'give me a link to this document' — one call handles both saving and sharing. Returns the url in the response.

    View tool JSON
    {
      "name": "create_share_link",
      "kind": "act",
      "impl": "imperative",
      "description": "Saves the document and generates a shareable URL opening a read-only snapshot of it, viewable by anyone with the link, without access to this browser's storage. The snapshot is a capped summary only, never the full document text. Matches 'save it and give me a link I can share' or 'give me a link to this document' — one call handles both saving and sharing. Returns the url in the response.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "documentId": {
            "type": "string",
            "description": "Optional. Id of the document, as returned by list_documents, search_documents, or open_document. Omit to share the currently open document."
          }
        },
        "required": [],
        "additionalProperties": false
      }
    }
    accept_link_suggestionAction

    Accepts one pending suggestion from suggest_document_links, permanently linking the two documents it named. Use this only after the user has agreed to a specific suggestion. Requires the suggestionId from a prior suggest_document_links call — not a document id. Calling it again on an already-resolved suggestion has no further effect.

    View tool JSON
    {
      "name": "accept_link_suggestion",
      "kind": "act",
      "impl": "imperative",
      "description": "Accepts one pending suggestion from suggest_document_links, permanently linking the two documents it named. Use this only after the user has agreed to a specific suggestion. Requires the suggestionId from a prior suggest_document_links call — not a document id. Calling it again on an already-resolved suggestion has no further effect.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "suggestionId": {
            "type": "string",
            "description": "The id of a pending suggestion, exactly as returned in the 'suggestionId' field of a prior suggest_document_links call. This is not a document id."
          }
        },
        "required": [
          "suggestionId"
        ],
        "additionalProperties": false
      }
    }
    reject_link_suggestionAction

    Rejects one pending suggestion from suggest_document_links, removing it from the pending list without linking the documents. Use this only after the user has declined a specific suggestion. Requires the suggestionId from a prior suggest_document_links call — not a document id. Calling it again on an already-resolved suggestion has no further effect.

    View tool JSON
    {
      "name": "reject_link_suggestion",
      "kind": "act",
      "impl": "imperative",
      "description": "Rejects one pending suggestion from suggest_document_links, removing it from the pending list without linking the documents. Use this only after the user has declined a specific suggestion. Requires the suggestionId from a prior suggest_document_links call — not a document id. Calling it again on an already-resolved suggestion has no further effect.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "suggestionId": {
            "type": "string",
            "description": "The id of a pending suggestion, exactly as returned in the 'suggestionId' field of a prior suggest_document_links call. This is not a document id."
          }
        },
        "required": [
          "suggestionId"
        ],
        "additionalProperties": false
      }
    }