Search blog posts
Search the published blog posts rendered on the current blog index page.
Availability
This tool runs through browser WebMCP on a GoVisit page that registers search_blog_posts. It needs that page’s published context; it has no stateless HTTP endpoint or generated Agent Skill.
Call in a compatible browser
const modelContext = document.modelContext;
if (!modelContext) throw new Error("This browser does not expose WebMCP on this page.");
const tool = (await modelContext.getTools()).find((entry) => entry.name === 'search_blog_posts');
if (!tool) throw new Error('search_blog_posts is not registered for the current page.');
const result = await modelContext.executeTool(tool, {"query": "travel", "limit": 5});
console.log(result);
Registration is page-scoped; the exact URL patterns below the contract are generated from the catalog. Check getTools() before calling.
Input and output contract
Input schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional title, summary, or category text to match."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"items": {
"type": "array"
},
"count": {
"type": "integer",
"minimum": 0
}
},
"required": [
"items",
"count"
]
}
},
"required": [
"data"
]
}The schemas above are rendered server-side from config/webmcp-tools.json, the canonical reviewed tool catalog. The WebMCP manifest also publishes the machine-readable contract; native RegisteredTool entries advertise an output-contract URL because that interface does not provide an inline outputSchema field.
Interpretation limits
Search is limited to blog links rendered on the current page. It does not search the whole GoVisit website.
For the full current contract and linked context, see the WebMCP manifest and the WebMCP overview.