> This site registers five tools for AI agents through the W3C WebMCP API. Try each one on this page, or read the definitions behind them.
>
> Web page: https://balazscsorba.com/webmcp · Language: English · Also available in: [Deutsch](https://balazscsorba.com/de/webmcp.md) · [Magyar](https://balazscsorba.com/hu/webmcp.md)

WebMCP

# This site talks to AI agents

The site registers five tools through the W3C WebMCP API, so a browser agent can search and read articles, fetch contact details and open pages instead of scraping the HTML. Below, you can run each tool yourself.

Tools

## The five tools

Each card shows what an agent sees: the name, the description and the input schema. The page runs the same definitions that the site registers, so you can try any of them here.

-   `get_page_content`Read-only

    ### Read a page

    Reads a page of the site as Markdown.

    What the agent sees

    Returns the full text of one page of Balázs Csorba's portfolio (senior fullstack & AI engineer in Austria) as Markdown. For a single blog post or AI tool review, use get\_article.

    #### Parameters

    `page`string, required

    home: overview and the current job offer · about: career, skills and values · references: 20 projects (AI agent tooling and client work) · expertise-ai-engineer, expertise-vue-nuxt-developer, expertise-b2b-ecommerce-developer: the three expertise pages · blog: the blog index · tools: the index of AI tool reviews · webmcp: this site's WebMCP tools, documented and runnable by hand · game: Dragon Voyage, a real-time multiplayer 3D sailing game with quests and pirate battles, built with three.js/WebGL · accessibility, privacy, imprint: legal pages

    Values:`home``about``references``expertise-ai-engineer``expertise-vue-nuxt-developer``expertise-b2b-ecommerce-developer``blog``tools``webmcp``game``accessibility``privacy``imprint`

    `language`string, optional

    en = English, de = German, hu = Hungarian. Defaults to the language currently shown.

    Values:`en``de``hu`

-   `search_articles`Read-only

    ### Search articles

    Finds blog posts and tool reviews by words, newest first when the query is empty.

    What the agent sees

    Searches the blog posts and AI tool reviews of Balázs Csorba by the words in their title, summary or keywords. Returns the best matches first, or the newest without a query, with slug, summary, date, keywords and URLs. Read a match with get\_article.

    #### Parameters

    `query`string, optional

    Words to look for. Every word must appear in the title, summary or keywords; case and accents are ignored. Leave it out to list the newest.

    `section`string, optional

    blog: blog posts · tools: AI tool reviews · all: both (default)

    Values:`blog``tools``all`

    `language`string, optional

    en = English, de = German, hu = Hungarian. Defaults to the language currently shown.

    Values:`en``de``hu`

    `limit`integer 1–20, optional

    How many results to return, from 1 to 20 (default 8).

-   `get_article`Read-only

    ### Read an article

    Reads one blog post or tool review as Markdown.

    What the agent sees

    Returns one blog post or AI tool review of Balázs Csorba as Markdown. Get valid slugs from search\_articles.

    #### Parameters

    `section`string, required

    blog: a blog post · tools: an AI tool review

    Values:`blog``tools`

    `slug`string, required

    The slug from search\_articles: the last part of the article URL.

    `language`string, optional

    en = English, de = German, hu = Hungarian. Defaults to the language currently shown.

    Values:`en``de``hu`

-   `get_contact_details`Read-only

    ### Contact details

    Returns name, role, e-mail, LinkedIn, location and languages.

    What the agent sees

    Returns how to contact Balázs Csorba about a job or project: email, LinkedIn, location and languages.

    #### Parameters

    No parameters.

-   `open_page`Changes the page

    ### Open a page

    Opens a page or an article in this tab.

    What the agent sees

    Opens a page of this website in the visitor's current tab, for example the references or one blog post or AI tool review. Give either page or article.

    #### Parameters

    `page`string, optional

    home: overview and the current job offer · about: career, skills and values · references: 20 projects (AI agent tooling and client work) · expertise-ai-engineer, expertise-vue-nuxt-developer, expertise-b2b-ecommerce-developer: the three expertise pages · blog: the blog index · tools: the index of AI tool reviews · webmcp: this site's WebMCP tools, documented and runnable by hand · game: Dragon Voyage, a real-time multiplayer 3D sailing game with quests and pirate battles, built with three.js/WebGL · accessibility, privacy, imprint: legal pages

    Values:`home``about``references``expertise-ai-engineer``expertise-vue-nuxt-developer``expertise-b2b-ecommerce-developer``blog``tools``webmcp``game``accessibility``privacy``imprint`

    `article`string, optional

    Instead of page: "blog/<slug>" or "tools/<slug>", with a slug from search\_articles.

    `language`string, optional

    en = English, de = German, hu = Hungarian. Defaults to the language currently shown.

    Values:`en``de``hu`

Connect

## Connect an agent

Support is still limited, and some of it is in trials. As of October 2026:

1.  01

    Chrome 149 runs an origin trial. For local testing, enable chrome://flags/#enable-webmcp-testing and relaunch Chrome.

2.  02

    Edge 150 has an origin trial.

3.  03

    ChatGPT Desktop supports WebMCP. Brave has experimental support in Leo.

4.  04

    Chrome's Model Context Tool Inspector extension lists and runs a page's tools.

[WebMCP specification (W3C)](https://webmachinelearning.github.io/webmcp/)[Chrome's WebMCP guide](https://developer.chrome.com/docs/ai/webmcp)

Under the hood

## How it is built

The five tool definitions live in one module. The plugin registers them with the browser, and this page runs the same definitions, so the two cannot drift apart.

```
await document.modelContext.registerTool({
  name: 'search_articles',
  title: 'Search articles',
  description: 'Finds blog posts and tool reviews by keyword.',
  inputSchema: {
    type: 'object',
    properties: { query: { type: 'string', description: 'Words to search for' } },
  },
  annotations: { readOnlyHint: true },
  async execute({ query }) {
    // Return a string or a plain object. Throw an Error with a clear message to fail.
    return await findArticles(query)
  },
})
```

Further reading:

-   [WebMCP in practice: making a website agent-ready with declared tools](https://balazscsorba.com/blog/webmcp-agent-ready-website-guide)
-   [WebMCP: publishing tools instead of pixels](https://balazscsorba.com/tools/webmcp)

For agents

## Other doors for agents

-   [/llms.txt](https://balazscsorba.com/llms.txt)

    A table of contents for agents, with a summary of every article and tool.

-   [/llms-full.txt](https://balazscsorba.com/llms-full.txt)

    The full text of every English page, in one file.

-   [/webmcp.md](https://balazscsorba.com/webmcp.md)

    Every page is also available as Markdown: add .md to the address, or send the header Accept: text/markdown.

Privacy

## Where the tools run

The tools run in your browser. The site's server only sees the normal page and Markdown requests, and the site sends nothing to any AI provider.
