Browser tools: articles and meeting link
Compatible browser agents can discover these tools after visiting a public page. They use document.modelContext.registerTool. Reading this documentation does not enable the browser API or grant an agent permission to execute tools.
WebMCP is a browser API, not a remote MCP server. An absent navigator.modelContext does not establish whether the document API is supported. If document.modelContext is unavailable, ordinary article search and booking links still work. No browser settings or extensions are changed by the site.
Machine-readable tool schemas are generated from the same definitions as registration.
Articles and topics
Search, read and topics expose public published articles only. Draft, future, removed and hidden content is excluded. RU/EN defaults to the current page. Search returns canonical URLs and bounded metadata; reading returns clean prose with explicit continuation and a Markdown link for code examples. Responses are read-only JSON over HTTP, not an MCP transport.
Meeting handoff
get_meeting_booking_link returns the public Cal.com link and the localized contact page. It does not check availability, reserve a time, open the scheduler or create a meeting. bookingCreated is false. The visitor chooses a slot, enters details and confirms in the scheduler. Book a meeting
Exact argument schemas
Unknown arguments are rejected. Each schema below uses the current page language as its default.
search_articles
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"query": {
"default": "",
"type": "string",
"maxLength": 200
},
"language": {
"type": "string",
"enum": [
"ru",
"en"
],
"default": "en"
},
"tag": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"pattern": "^[a-z0-9]+(?:[-_][a-z0-9]+)*$"
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false
}
read_article
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"pattern": "^[a-z0-9]+(?:[-_][a-z0-9]+)*$"
},
"language": {
"type": "string",
"enum": [
"ru",
"en"
],
"default": "en"
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"maxChars": {
"default": 8000,
"type": "integer",
"minimum": 100,
"maximum": 16000
}
},
"required": [
"slug"
],
"additionalProperties": false
}
list_topics
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"ru",
"en"
],
"default": "en"
},
"limit": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 20
},
"offset": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false
}
get_meeting_booking_link
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"language": {
"type": "string",
"enum": [
"ru",
"en"
],
"default": "en"
}
},
"additionalProperties": false
}