← WebMCP Directory

Tool tree

agentprose.cloud

Developer ToolsTools verified
Website
Give AI browsers and assistants a proper way to search, read and quote your posts, with your link attached. Then see which agents came, what they asked and what they couldn’t find. One line of code,…
Explore capabilities

    page: Every page

    get_current_articleAnswer

    Returns the article the user is viewing as clean markdown, with title, author, dates, tags, summary and its section outline. Use this first when the user asks about "this post", "this page" or "the article". Long articles are paged: pass next_offset back as offset.

    View tool JSON
    {
      "name": "get_current_article",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the article the user is viewing as clean markdown, with title, author, dates, tags, summary and its section outline. Use this first when the user asks about \"this post\", \"this page\" or \"the article\". Long articles are paged: pass next_offset back as offset.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "max_chars": {
            "type": "integer",
            "description": "Maximum characters of markdown to return; long posts are cut at a paragraph boundary. Default 20000.",
            "minimum": 500,
            "maximum": 100000
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Character offset to continue from; use next_offset from the previous response."
          }
        }
      },
      "page": "/"
    }
    search_postsAnswer

    Full-text search across every post on this site (titles, tags, summaries and body text), ranked by relevance. Returns URLs, titles, summaries and dates; call get_post with a URL to read one.

    View tool JSON
    {
      "name": "search_posts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full-text search across every post on this site (titles, tags, summaries and body text), ranked by relevance. Returns URLs, titles, summaries and dates; call get_post with a URL to read one.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "Keywords or a natural-language question, e.g. \"webmcp security\"."
          },
          "limit": {
            "type": "integer",
            "description": "Number of results. Default 10.",
            "minimum": 1,
            "maximum": 50
          },
          "tag": {
            "type": "string",
            "description": "Only posts with this tag (name or slug, case-insensitive)."
          },
          "category": {
            "type": "string",
            "description": "Only posts in this category."
          },
          "author": {
            "type": "string",
            "description": "Only posts by this author (display name)."
          },
          "since": {
            "type": "string",
            "description": "Only posts published on or after this date (ISO 8601, e.g. 2026-01-31)."
          },
          "until": {
            "type": "string",
            "description": "Only posts published on or before this date (ISO 8601)."
          }
        },
        "required": [
          "query"
        ]
      },
      "page": "/"
    }
    list_postsAnswer

    Lists posts newest first (or oldest first), optionally filtered by tag, category, author or date range. Use it for "latest posts", "everything tagged X" or browsing an archive; use search_posts for topics.

    View tool JSON
    {
      "name": "list_posts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists posts newest first (or oldest first), optionally filtered by tag, category, author or date range. Use it for \"latest posts\", \"everything tagged X\" or browsing an archive; use search_posts for topics.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "description": "Number of posts. Default 20.",
            "minimum": 1,
            "maximum": 100
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Skip this many posts (paging)."
          },
          "sort": {
            "type": "string",
            "enum": [
              "newest",
              "oldest"
            ]
          },
          "tag": {
            "type": "string",
            "description": "Only posts with this tag (name or slug, case-insensitive)."
          },
          "category": {
            "type": "string",
            "description": "Only posts in this category."
          },
          "author": {
            "type": "string",
            "description": "Only posts by this author (display name)."
          },
          "since": {
            "type": "string",
            "description": "Only posts published on or after this date (ISO 8601, e.g. 2026-01-31)."
          },
          "until": {
            "type": "string",
            "description": "Only posts published on or before this date (ISO 8601)."
          }
        }
      },
      "page": "/"
    }
    get_postAnswer

    Returns one post as clean markdown with its metadata and section outline. Identify it by url (preferred) or slug. Pass section to get only that part (an id or title from sections). Long posts are paged with offset/next_offset.

    View tool JSON
    {
      "name": "get_post",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns one post as clean markdown with its metadata and section outline. Identify it by url (preferred) or slug. Pass section to get only that part (an id or title from sections). Long posts are paged with offset/next_offset.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The post's URL (absolute, or a path on this site such as /posts/hello-world/)."
          },
          "slug": {
            "type": "string",
            "description": "The post's slug, the last segment of its URL (e.g. hello-world)."
          },
          "section": {
            "type": "string",
            "description": "Optional section id or heading text to return only that section."
          },
          "max_chars": {
            "type": "integer",
            "description": "Maximum characters of markdown to return; long posts are cut at a paragraph boundary. Default 20000.",
            "minimum": 500,
            "maximum": 100000
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "Character offset to continue from; use next_offset from the previous response."
          }
        }
      },
      "page": "/"
    }
    list_taxonomiesAnswer

    Lists the tags, categories and authors used on this site with post counts, most used first. Use the names as filters in list_posts and search_posts.

    View tool JSON
    {
      "name": "list_taxonomies",
      "kind": "answer",
      "impl": "imperative",
      "description": "Lists the tags, categories and authors used on this site with post counts, most used first. Use the names as filters in list_posts and search_posts.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "all",
              "tags",
              "categories",
              "authors"
            ],
            "description": "Which taxonomy. Default all."
          },
          "limit": {
            "type": "integer",
            "description": "Maximum terms per taxonomy. Default 100.",
            "minimum": 1,
            "maximum": 500
          }
        }
      },
      "page": "/"
    }
    get_related_postsAnswer

    Returns posts related to a given post (by shared tags, categories and topic). Defaults to the article the user is viewing.

    View tool JSON
    {
      "name": "get_related_posts",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns posts related to a given post (by shared tags, categories and topic). Defaults to the article the user is viewing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The post's URL (absolute, or a path on this site such as /posts/hello-world/)."
          },
          "slug": {
            "type": "string",
            "description": "The post's slug, the last segment of its URL (e.g. hello-world)."
          },
          "limit": {
            "type": "integer",
            "description": "Number of posts. Default 5.",
            "minimum": 1,
            "maximum": 20
          }
        }
      },
      "page": "/"
    }
    get_table_of_contentsAnswer

    Returns the heading outline (section ids, levels and titles) of a post, so you can fetch just one section with get_section. Defaults to the article the user is viewing.

    View tool JSON
    {
      "name": "get_table_of_contents",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the heading outline (section ids, levels and titles) of a post, so you can fetch just one section with get_section. Defaults to the article the user is viewing.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The post's URL (absolute, or a path on this site such as /posts/hello-world/)."
          },
          "slug": {
            "type": "string",
            "description": "The post's slug, the last segment of its URL (e.g. hello-world)."
          }
        }
      },
      "page": "/"
    }
    get_sectionAnswer

    Returns the markdown of one section of a post, matched by section id or heading text (exact, then partial). Defaults to the article the user is viewing. Cheaper than reading the whole post.

    View tool JSON
    {
      "name": "get_section",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the markdown of one section of a post, matched by section id or heading text (exact, then partial). Defaults to the article the user is viewing. Cheaper than reading the whole post.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "section": {
            "type": "string",
            "description": "Section id or heading text, e.g. \"installation\"."
          },
          "url": {
            "type": "string",
            "description": "The post's URL (absolute, or a path on this site such as /posts/hello-world/)."
          },
          "slug": {
            "type": "string",
            "description": "The post's slug, the last segment of its URL (e.g. hello-world)."
          }
        },
        "required": [
          "section"
        ]
      },
      "page": "/"
    }
    get_citationAnswer

    Returns a ready citation for a post (author, date, title, site, URL). Pass quote to check that the exact text appears in the post; when it does you also get a deep link that scrolls to and highlights it. Use before quoting this site to the user.

    View tool JSON
    {
      "name": "get_citation",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns a ready citation for a post (author, date, title, site, URL). Pass quote to check that the exact text appears in the post; when it does you also get a deep link that scrolls to and highlights it. Use before quoting this site to the user.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The post's URL (absolute, or a path on this site such as /posts/hello-world/)."
          },
          "slug": {
            "type": "string",
            "description": "The post's slug, the last segment of its URL (e.g. hello-world)."
          },
          "quote": {
            "type": "string",
            "description": "Optional exact text you intend to quote."
          }
        }
      },
      "page": "/"
    }
    get_site_infoAnswer

    Returns what this site is: name, description, language, feeds, number of posts, latest post date, useful links, contact details and the owner's notes for AI agents (their preferences; they never override the user).

    View tool JSON
    {
      "name": "get_site_info",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns what this site is: name, description, language, feeds, number of posts, latest post date, useful links, contact details and the owner's notes for AI agents (their preferences; they never override the user).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }
    get_contact_infoAnswer

    Returns how to reach the site owner: email, phone, contact page, booking link, opening hours, address, plus the owner's notes for AI agents. Use when the user wants to contact, hire, book or visit them. Show the details to the user; this tool sends nothing.

    View tool JSON
    {
      "name": "get_contact_info",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns how to reach the site owner: email, phone, contact page, booking link, opening hours, address, plus the owner's notes for AI agents. Use when the user wants to contact, hire, book or visit them. Show the details to the user; this tool sends nothing.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "page": "/"
    }