---
title: "For agents: WebMCP, llms.txt and structured data - OkamiOps"
description: "How AI assistants read and operate okamiops.com: llms.txt, JSON-LD, sitemap and five WebMCP tools with human confirmation."
url: https://okamiops.com/agents/
lang: en
alternates:
  en: https://okamiops.com/agents/
  pt-BR: https://okamiops.com/pt/agents/
  de: https://okamiops.com/de/agents/
  x-default: https://okamiops.com/agents/
lastmod: 2026-09-10
---

# This site talks to agents.

okamiops.com/agents/

Everything an assistant needs to answer questions about OKAMI, compare products and start a contact, without scraping HTML. Reading surfaces already published and WebMCP tools to act on the page.

- [See the /llms.txt](https://okamiops.com/llms.txt)
- [/api/tools.json](https://okamiops.com/api/tools.json)

- **Languages**: 3 PT · EN · DE
- **Public routes**: 30 × 3 languages
- **WebMCP tools**: 5 read and act
- **Feeds**: 6 /api/*.json

## What is already published

- **/llms.txt**: Compact site map for search engines and AI assistants: every public route with title and description, always in sync with the build. (text/plain · published)
- **/sitemap.xml**: All routes in PT, EN and DE with hreflang and lastmod. (application/xml · published)
- **Per-page JSON-LD**: Organization, Service, SoftwareApplication, Article, BreadcrumbList. Embedded in the pre-rendered HTML of every route. (application/ld+json · published)
- **/robots.txt**: GPTBot, OAI-SearchBot, ClaudeBot, Claude-User, PerplexityBot and Google-Extended explicitly allowed. (text/plain · published)
- **/api/*.json**: JSON feeds: index, openapi, products, services, insights, tools. (application/json · published)
- **index.md per route**: Every HTML route has a Markdown twin at \<route>index.md. An agent sending Accept: text/markdown gets the Markdown directly, no HTML scraping needed. (text/markdown · published)
- **/llms-full.txt**: Full version of llms.txt, with every public route's content concatenated for clients that prefer to load everything at once. (text/plain · published)
- **/insights/feed.xml**: Insights RSS feed, one per language: /insights/feed.xml (EN), /pt/insights/feed.xml and /de/insights/feed.xml. (application/rss+xml · published)
- **WebMCP tools**: Page actions exposed via navigator.modelContext for browsers and extensions with agent support. Listed below. (Web Model Context · active)
- **okami_contact_form**: The same contact form is also exposed declaratively in the HTML, no JavaScript required. Sending still requires human confirmation. (Declarative HTML (toolname/tooldescription) · form)
- **CORS + cache**: This whole surface (JSON, Markdown, feeds, llms*.txt) accepts CORS/OPTIONS from any origin and uses a 1-hour cache with background revalidation. (Access-Control-Allow-Origin: * · published)

## Five actions, one per intent

Reading is free. Any action with side effects (contact, download) asks for human confirmation in the browser before it runs.

### okami_list_products

read

Lists Okami products with license, platform, link and repository.

input: license

### okami_find_service

read

Finds the OKAMI consulting practice for a problem described in free text.

input: problem

### okami_search_insights

read

Searches OKAMI technical articles by topic and returns title, summary, date and sources.

input: query

### okami_request_contact

action

Opens a contact request with OKAMI. Fills the form and asks for human confirmation before sending.

input: email, name, company, message

### okami_get_baseline

read

Returns the SecOps Baseline for CI/CD links (page with PDF and repository with script).

input: format

Principle

### Tools mirror what a human can already do on the page. Nothing beyond that.

## Declared in the HTML, no extra server

The existing forms get the declarative WebMCP attributes; search and listing are registered via script. An agent in the browser discovers the tools when it opens the page, calls with JSON and receives JSON. Nothing is sent without the user seeing it.

### The agent opens okamiops.com and reads /llms.txt or the JSON-LD.

### It discovers the tools registered in navigator.modelContext.

### It calls okami_find_service with the user's problem and gets the right page.

### If the user wants, okami_request_contact opens the request, with visible confirmation.

search · imperative form · js

```
navigator.modelContext.registerTool({
  name: "okami_find_service",
  description: "Finds the consulting practice
    for a problem described in text.",
  inputSchema: { type: "object",
    properties: { problem: { type: "string" } },
    required: ["problem"] },
  execute: async ({ problem }) => matchService(problem)
});
```

contact · declarative form · html

```
<form
  toolname="okami_contact_form"
  tooldescription="Fills the OKAMI contact
        form. Sending needs human confirmation.">
  <input name="email" type="email" required>
  <input name="name">
  <input name="company">
  <textarea name="message"></textarea>
  <button>Send message</button>
</form>
```

## Your site can also talk to agents

More and more people ask their assistant before opening a site. We prepared your site for it, from llms.txt to tools, and this one is the proof.

- [All services and plans](https://okamiops.com/servicos/)
