Tool tree
gradeNot graded
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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}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": "/agentprose-demo/"
}get_site_infoAnswer
Returns what this site is: name, description, language, feeds, number of posts, latest post date, useful links (subscribe, about, contact) and which content sources the tools read.
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 (subscribe, about, contact) and which content sources the tools read.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/agentprose-demo/"
}get_subscribe_linkAnswer
Returns the link where the user can subscribe to this site (newsletter or feed). Show it to the user; this tool does not subscribe anyone.
View tool JSON
{
"name": "get_subscribe_link",
"kind": "answer",
"impl": "imperative",
"description": "Returns the link where the user can subscribe to this site (newsletter or feed). Show it to the user; this tool does not subscribe anyone.",
"inputSchema": {
"type": "object",
"properties": {}
},
"page": "/agentprose-demo/"
}