Vertize

AI Agents and Developers Guide

Vertize is an AI software company in Ho Chi Minh City. The tools below expose public facts from this website. Names, descriptions and parameters are the same on WebMCP, MCP and REST. No tool sends a message or states a price.

Quick guide

  1. WebMCP. A classic inline script registers all 6 tools on document.modelContext and navigator.modelContext. A browser agent calls them there. The same list is on window.__vertizeAgent.
  2. MCP. https://www.vertize.io/mcp (Streamable HTTP, no sessions, JSON responses). Server tools: get_company_info, list_services, get_service, list_integrations, search_blog.
  3. REST. POST /api/agent/{tool} with a JSON body. The same server tools as MCP. Specification: /openapi.json.

open_booking exists only in the browser. It opens the chat on the page so the visitor can plan a 30-minute conversation. The visitor fills in their own details and confirms. The tool sends nothing.

Tools

NamePurposeBucketLoginChannel
get_company_infoCompany information2: server-backed, publicNoneWebMCP, MCP, REST
list_servicesList services2: server-backed, publicNoneWebMCP, MCP, REST
get_serviceService details2: server-backed, publicNoneWebMCP, MCP, REST
list_integrationsIntegrations2: server-backed, publicNoneWebMCP, MCP, REST
search_blogSearch the blog2: server-backed, publicNoneWebMCP, MCP, REST
open_bookingOpen the 30-minute call1: page-local (in the browser tab)NoneWebMCP

get_company_info

Use when the visitor asks who Vertize is, where the office is, how to call or email, which hours apply, or where Vertize works. Returns the name, address, phone, email, office hours, service area, the languages of this website, and the contact page URL. Returns no prices. To book a call, use open_booking in the browser.

REST: POST /api/agent/get_company_info

list_services

Use when the visitor asks what Vertize builds. Returns the five pillars (AI agents for hotels, custom CRM, dashboards, websites, SEO and AI visibility), each with a title, a short description and a page URL in the requested language. Call get_service next for one pillar. Returns no prices.

REST: POST /api/agent/list_services

get_service

Use when the visitor asks about one pillar from list_services: what the first release includes, what sets the price and the build time, how long it takes, or a question from the page FAQ. Returns the lede, the solution parts, the factors, the lead time and the FAQ. Returns no price amount. An unknown service id is rejected.

REST: POST /api/agent/get_service

list_integrations

Use when the visitor asks which property-management, messaging or booking systems Vertize connects to. Returns the same three lists as the integrations page, with labels in the requested language, plus the page URL. It does not check whether a live property is connected. Returns no prices.

REST: POST /api/agent/list_integrations

search_blog

Use when the visitor wants an article. Searches published blog posts and returns at most 10 matches with title, excerpt, URL and date. The query must be 2 to 100 characters. Call it again with a narrower query when the list is long.

REST: POST /api/agent/search_blog

open_booking

Use when the visitor wants to plan a 30-minute call. Opens the chat on this page to plan a 30-minute conversation. The visitor fills in their own details and confirms. The tool sends nothing.

Browser only. Not on the MCP server and not on REST.

Authentication

None. The server tools return public information that is already on the website. There is no API key and no login. open_booking does not send the visitor's details.

Examples

curl -s https://www.vertize.io/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-11-25' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s -X POST https://www.vertize.io/api/agent/get_company_info \
  -H 'Content-Type: application/json' \
  -d '{"language":"en"}'
curl -s -X POST https://www.vertize.io/api/agent/search_blog \
  -H 'Content-Type: application/json' \
  -d '{"query":"hotel","language":"en"}'

Errors and status codes

Success is a JSON object with ok: true. Errors do not throw. They return { "ok": false, "code": "...", "message": "..." }. On REST the HTTP status follows the code.

StatusCodeWhen
200ok: trueThe tool ran.
400VALIDATIONThe JSON body is invalid for that tool.
404NOT_FOUNDThe requested record does not exist.
404UNKNOWN_TOOLThe name is not a server tool. open_booking is one of these.
429UNAVAILABLEThe rate limit answered. Try again later.
503UNAVAILABLEThe tool could not be completed.

WebMCP wraps the same object as { "content": [{ "type": "text", "text": "<json>" }] }. A missing page bridge or an unreachable server uses UNAVAILABLE.

Rate limit

60 requests per 10 minutes per IP, on /mcp and on /api/agent/{tool}. The limit is kept in memory on the server instance.

More

/openapi.json · /llms.txt · /.well-known/webmcp.json · Contact