---
title: "WebMCP na stronie firmy: wdrożenie i pomiar | ASAPDevs"
description: "Jak wdrożyliśmy WebMCP w origin trial Chrome, serwer MCP, markdown każdej strony i Content Signals na asapdevs.it. Lighthouse Agentic Browsing przed i po."
url: https://asapdevs.it/blog/webmcp-strona-firmowa-agenci-ai
last_updated: 2026-10-06
---

# WebMCP, serwer MCP i markdown: strona firmy gotowa na agentów AI

Formularze opisane dla agentów, pięć narzędzi do odczytu w przeglądarce i w serwerze MCP, markdown pod każdym adresem. Co zmieniło się w Lighthouse i jak liczymy zapytania wysłane przez agentów.

**Od 6 października 2026 agent AI może na naszej stronie pobrać ofertę, cennik i realizacje jako dane, przeczytać każdą stronę w markdownie i wypełnić formularz zapytania, który potem wysyła człowiek.** Wdrożyliśmy WebMCP w origin trial Chrome, serwer MCP strony, wersje markdown wszystkich adresów i sygnały treści w robots.txt. Lighthouse w kategorii Agentic Browsing zalicza teraz wszystkie siedem testów, łącznie z trzema testami WebMCP. Poniżej opisujemy, co dokładnie zmieniliśmy, jak to sprawdzić i jak liczymy zapytania wysłane przez agentów.

## Jak wyglądała strona dla agenta przed zmianami?

Czytał HTML i drzewo dostępności, czyli uproszczony opis strony, z którego korzystają też czytniki ekranu, i na tej podstawie zgadywał, które pole do czego służy. W [Pogotowiu IT](https://asapdevs.it/offers/it-emergency) Lighthouse 13.5 oznaczył drzewo jako źle zbudowane: pole wyboru pakietu nie miało etykiety, więc agent widział listę z cenami bez nazwy. W pozostałych formularzach etykiety nie były powiązane z polami, a pola nie miały autouzupełniania e-maila ani telefonu. Narzędzi WebMCP nie było wcale, więc trzy testy WebMCP w Lighthouse dostawały wynik „nie dotyczy”, a agent musiał zgadywać na podstawie samego HTML i etykiet, które nie wskazywały pól.

**Chcesz, żeby asystent klienta w ChatGPT, Gemini albo Claude znalazł produkt w Twoim sklepie, sprawdził cenę i przygotował zamówienie bez zgadywania?** Pierwszy krok to test agentem. [Zobacz ofertę dla sklepów →](https://asapdevs.it/offers/agentic-commerce-webmcp)

## Co wdrożyliśmy?

| Kanał | Co daje agentowi | Gdzie |
| --- | --- | --- |
| WebMCP deklaratywny | 3 formularze zapytań opisane jako narzędzia z parametrami | oferty, Pogotowie IT, samorządy |
| WebMCP imperatywny | 5 narzędzi do odczytu: usługi, case study, blog, cennik, kontakt | każda strona w Chrome z WebMCP |
| Serwer MCP | te same 5 narzędzi dla asystentów z obsługą MCP | `/api/mcp` |
| Markdown | treść strony bez menu, skryptów i stopki | dowolny adres + `.md` albo nagłówek `Accept: text/markdown` |
| Content Signals | zgoda na wyszukiwanie, odpowiedzi AI i trenowanie modeli | `/robots.txt` |
| ARD | opis serwera MCP do automatycznego wykrycia | `/.well-known/ard.json` |

## Jak działa WebMCP w formularzu kontaktowym?

Wersja deklaratywna to atrybuty HTML na istniejącym formularzu, a formularz Pogotowia IT wygląda dla agenta jak narzędzie `zamow_pogotowie_it` z polami imię, firma, e-mail, telefon, pakiet i opis potrzeby. Pakiet przychodzi jako lista wartości z cenami, więc agent nie musi czytać cennika osobno.

```
<form toolname="zamow_pogotowie_it"
      tooldescription="Wysyła do zespołu ASAPDEVS zapytanie o abonament Pogotowie IT…">
  <input name="email" type="email" autocomplete="email"
         toolparamdescription="Adres e-mail, na który przyjdzie odpowiedź">
  …
</form>
```

Formularze nie mają atrybutu `toolautosubmit`, więc agent je wypełnia, a człowiek klika „Wyślij”. Po wysyłce strona oddaje agentowi wynik przez `respondWith()`: potwierdzenie z adresem e-mail albo treść błędu, a ukryte pole-pułapka na boty jest dla agenta zwykłym parametrem, dlatego przy wysyłce przez agenta je pomijamy. Limit: 5 zgłoszeń na 10 minut z jednego IP.

![Formularz Pogotowia IT wypełniony przez Claude in Chrome danymi testowymi, przed kliknięciem Wyślij](https://asapdevs.it/assets/img/blog/webmcp-formularz-claude-in-chrome.webp)

Claude in Chrome wypełnił formularz Pogotowia IT danymi testowymi. Wysyłka czeka na kliknięcie człowieka.

## Narzędzia do odczytu w przeglądarce i przez MCP

Pięć narzędzi korzysta z jednego modułu danych, tego samego, z którego zbudowane są strony: `list_offers`, `list_case_studies`, `search_blog`, `get_pricing` i `get_contact`. W przeglądarce rejestrujemy je przez `registerTool` dopiero wtedy, gdy Chrome ma WebMCP, a dane pobieramy z API przy wywołaniu, więc zwykły odwiedzający nie ładuje ani bajta więcej. Każde narzędzie ma oznaczenie `readOnlyHint`.

Ten sam zestaw udostępnia endpoint `/api/mcp` w trybie Streamable HTTP. Sprawdzisz go poleceniem:

```
npx -y @modelcontextprotocol/inspector --cli https://asapdevs.it/api/mcp \
  --transport http --method tools/list
```

Serwer nie ma narzędzi do zapisu, więc zapytanie ofertowe dalej wysyła się przez formularz, a ostatnie kliknięcie należy do człowieka.

## Markdown każdej strony i sygnały w robots.txt

Każdy adres ma wersję markdown: wystarczy dopisać `.md`, np. `/offers/it-emergency.md`, albo wysłać nagłówek `Accept: text/markdown`. Odpowiedź zaczyna się od tytułu, opisu, adresu kanonicznego i daty aktualizacji, a dalej jest sama treść z nagłówkami, tabelami i linkami, a cała odpowiedź ma `noindex`. Odpowiedź na nagłówek Accept nie trafia do cache CDN, bo Cloudflare przed naszą stroną nie rozróżnia wariantów HTML po nagłówku `Vary`.

W robots.txt dodaliśmy politykę [Content Signals](https://contentsignals.org/) Cloudflare: `search=yes, ai-input=yes, ai-train=yes`, bo chcemy, żeby asystenci AI znali naszą ofertę i ją cytowali, więc zgadzamy się na wszystkie trzy zastosowania.

## Jak sprawdzić to samo na swojej stronie?

1.  Lighthouse 13.3 lub nowszy: `npx lighthouse@latest https://twoja-strona.pl --only-categories=agentic-browsing`. U nas przed zmianami drzewo dostępności było niezaliczone, a po zmianach przechodzą wszystkie testy, łącznie z trzema testami WebMCP, które wcześniej nie miały czego sprawdzić.
2.  Testy WebMCP wymagają Chrome 149+ z flagą `chrome://flags/#enable-webmcp-testing` albo tokenu z [programu origin trial](https://developer.chrome.com/origintrials/). Nasz token działa do 30 marca 2027 i obejmuje subdomeny, więc u odwiedzających z Chrome 149 lub nowszym WebMCP działa bez żadnej flagi.
3.  Test agentem: daj Claude in Chrome zadanie typu „znajdź cenę abonamentu IT i przygotuj zapytanie” i zobacz, gdzie się zatrzymuje.

## Jak liczymy zapytania od agentów?

Gdy formularz wysyła agent, przeglądarka ustawia w zdarzeniu wysyłki pole `agentInvoked`, a my przekazujemy je do GA4 jako parametr `agent=webmcp` przy konwersji `generate_lead`, z osobnym wymiarem „Agent AI”. Raport rozdziela ludzi i agentów. Licznik działa od 6 października 2026, a wyniki pierwszego kwartału dopiszemy do tego artykułu.

## Czego nie wdrożyliśmy i dlaczego

-   **agents.txt i agents.json**: żaden z nich nie jest standardem. agents.txt ma w IETF dwa niezależne szkice indywidualne ([draft-car-agents-txt-wellknown](https://datatracker.ietf.org/doc/draft-car-agents-txt-wellknown/) i wygasły draft-srijal-agents-policy), których nie przyjęła żadna grupa robocza, a agents.json to specyfikacja jednej firmy w wersji 0.1. Narzędzia strony opisują już WebMCP i ard.json, które Lighthouse sprawdza.
-   **NLWeb**: pełna wyszukiwarka konwersacyjna ma sens w serwisie z tysiącami podstron i katalogiem produktów, a u nas kilkadziesiąt wpisów obsługuje zwykłe `search_blog`.
-   **Protokoły płatności agentów** (ACP, UCP, x402): nie sprzedajemy przez stronę. Dla sklepów opisujemy je w [ofercie agentic commerce](https://asapdevs.it/offers/agentic-commerce-webmcp).

## Źródła

1.  [Chrome for Developers: WebMCP, Declarative API](https://developer.chrome.com/docs/ai/webmcp/declarative-api)
2.  [Chrome for Developers: Lighthouse Agentic Browsing](https://developer.chrome.com/docs/lighthouse/agentic-browsing/scoring)
3.  [W3C Web Machine Learning CG: specyfikacja WebMCP](https://github.com/webmachinelearning/webmcp)
4.  [Content Signals Policy](https://contentsignals.org/)
5.  [Agentic Resource Discovery, specyfikacja v0.91](https://agenticresourcediscovery.org/spec/)
6.  [Model Context Protocol](https://modelcontextprotocol.io/)

![Kamil Perzowski](https://asapdevs.it/assets/img/kamil-asapdevs-112.webp)

Kamil Perzowski

CEO i co-founder ASAPDevs. Programuje i utrzymuje sklepy, aplikacje webowe i serwery klientów. [LinkedIn](https://www.linkedin.com/in/kamil-perzowski/) · [Zobacz ofertę dla sklepów](https://asapdevs.it/offers/agentic-commerce-webmcp#kontakt)

Masz ten sam problem?

## Chcesz, żeby asystent klienta w ChatGPT, Gemini albo Claude znalazł produkt w Twoim sklepie, sprawdził cenę i przygotował zamówienie bez zgadywania?

![Kamil Perzowski, ASAPDevs](https://asapdevs.it/assets/img/kamil-asapdevs-112.webp)

Kamil Perzowski

CEO & Co-founder, ASAPDevs

Pierwszy krok to test agentem.

★★★★★

> Współpraca z ASAPDevs przebiega bardzo profesjonalnie. Zleciliśmy przeniesienie naszego sklepu internetowego na nową platformę i cały proces przebiegł bardzo sprawnie. Specjaliści bez problemu wdrażają wszystkie modyfikacje.

Weronika S., opinia w Google

★★★★★

> Współpraca z ASAPDevs przebiegła bardzo profesjonalnie. Zespół był odpowiedzialny za przygotowanie naszej platformy do sprzedaży biletów i wywiązał się z zadania doskonale – wszystko zostało zrealizowane terminowo, zgodnie z ustaleniami.

Hubert K., opinia w Google

FAQ

## Pytania i odpowiedzi

### Czym jest WebMCP?

To proponowany standard W3C, w którym strona opisuje swoje formularze i akcje jako narzędzia dla agenta AI działającego w przeglądarce: nazwa, opis, parametry. Chrome udostępnia go w origin trial od wersji 149, Edge od 150. Przeglądarki bez WebMCP, czyli dziś Firefox i Safari, ignorują dodatkowe atrybuty formularza, więc strona i formularze działają w nich dokładnie tak jak przed wdrożeniem.

### Czy agent może sam wysłać formularz kontaktowy?

U nas nie. Agent wypełnia pola, ale wysyłkę klika człowiek, bo formularze nie mają atrybutu toolautosubmit. Sam agent może wywoływać tylko narzędzia, które pobierają dane: listę usług, case study, wyszukiwarkę bloga, cennik i dane kontaktowe.

### Jak sprawdzić, czy strona obsłuży agenta?

Uruchom Lighthouse w wersji 13.3 lub nowszej z kategorią agentic-browsing. Sprawdza drzewo dostępności, narzędzia WebMCP i ich schematy, plik llms.txt i stabilność układu strony. WebMCP wymaga flagi albo tokenu.

### Po co strona firmowa ma serwer MCP?

Asystent z obsługą MCP, np. Claude, może podłączyć serwer i pobierać ofertę, ceny i realizacje jako dane, zamiast czytać HTML. Nasz serwer pod https://asapdevs.it/api/mcp ma pięć narzędzi, żadne niczego nie zapisuje, a podłączenie nie wymaga logowania.

### Czy markdown dla agentów nie zaszkodzi w Google?

Wersje markdown mają nagłówek X-Robots-Tag: noindex, więc nie konkurują w indeksie ze stronami HTML. Odpowiedź na nagłówek Accept: text/markdown nie trafia do cache CDN, żeby przeglądarka nigdy nie dostała markdownu zamiast strony.

## Przeczytaj też

### [Sklep gotowy na agentów AI →](https://asapdevs.it/offers/agentic-commerce-webmcp)

WebMCP, dane produktu i feedy dla ChatGPT i Gemini.

### [Pozycjonowanie w AI →](https://asapdevs.it/offers/pozycjonowanie-w-ai)

Żeby asystenci AI znali i cytowali Twoją firmę.

### [Serwery MCP dla Claude →](https://asapdevs.it/offers/serwery-mcp)

Dostęp agentów do Twoich systemów z uprawnieniami.

### [Bezpieczniki serwera MCP →](https://asapdevs.it/blog/serwer-mcp-bezpieczniki)

Uprawnienia, limity i logi dla agentów.
