Documentation
Connect Lattis to your AI tools in under a minute.
Remote MCP Server
mcp.lattis.dev/mcp
Per-Site MCP
mcp.lattis.dev/s/{site}/mcp
REST API
api.lattis.dev/search
WebMCP
navigator.modelContext
Remote MCP Server
One URL gives your AI agent real-time data about 150+ products. No install, no API key, no local process.
Connect
claude mcp add lattis --transport http https://mcp.lattis.dev/mcp
Or add to .mcp.json / ~/.claude/settings.json:
{
"mcpServers": {
"lattis": {
"type": "http",
"url": "https://mcp.lattis.dev/mcp"
}
}
}
Works with Claude Code, Cursor, and any MCP client that supports HTTP transport.
Tools
| Tool | What it does |
|---|---|
lattis_search | Semantic search across all indexed sites — returns ranked markdown passages with source URLs |
lattis_list_sites | List every indexed site with category, page count, and AI Visibility Score |
lattis_get_site | Metadata and AI Visibility Score for a single site — which questions it answers, which it misses |
lattis_get_page | Full markdown of a specific page, given a domain and path |
Example
After connecting, just ask your AI naturally:
Per-Site MCP
Every indexed site gets its own MCP endpoint. Connect to just the sites you care about.
URL pattern
https://mcp.lattis.dev/s/{site-slug}/mcp
# Examples:
# https://mcp.lattis.dev/s/supabase-com/mcp
# https://mcp.lattis.dev/s/posthog-com/mcp
# https://mcp.lattis.dev/s/clerk-com/mcp
The slug is the domain with dots replaced by dashes (e.g. supabase.com → supabase-com).
Connect a specific site
claude mcp add supabase --transport http https://mcp.lattis.dev/s/supabase-com/mcp
Per-site tools
Each per-site MCP exposes 4 tools scoped to that domain:
| Tool | What it does |
|---|---|
search | Semantic search within this site — returns ranked markdown passages |
get_info | Site metadata and AI Visibility Score |
list_pages | Every indexed page on the site with path, URL, and title |
get_page | Full markdown of a specific page by path |
For website owners
If you own the site, add your MCP endpoint to your docs so your users get real data via AI:
## AI / MCP
AI agents can query our product directly:
```
https://mcp.lattis.dev/s/{your-slug}/mcp
```
Add to Claude Code:
```sh
claude mcp add {name} --transport http https://mcp.lattis.dev/s/{your-slug}/mcp
```
Claim your domain at app.lattis.dev to get a verified badge and unlock full page crawling.
Claude Code
Multiple ways to connect Lattis to Claude Code:
Option 1: Remote MCP (recommended)
claude mcp add lattis --transport http https://mcp.lattis.dev/mcp
Option 2: Skills installer
npx skills add wastedcode/lattis-skill
Works with 40+ agent platforms.
Option 3: Local MCP server
If you prefer a local process, add to ~/.claude/settings.json:
{
"mcpServers": {
"lattis": {
"command": "npx",
"args": ["-y", "@lattis-dev/cli", "mcp"]
}
}
}
Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"lattis": {
"type": "http",
"url": "https://mcp.lattis.dev/mcp"
}
}
}
Or use the local server: "command": "npx", "args": ["-y", "@lattis-dev/cli", "mcp"]
REST API
Base URL: https://api.lattis.dev
Endpoints
The API and the remote MCP expose the same underlying surface. If you're building an agent, prefer the MCP. Use REST when you need a single endpoint from another language or environment.
| Method | Path | Description |
|---|---|---|
| POST | /search | Semantic search across all indexed sites — returns ranked markdown passages with source URLs |
| GET | /sites | List every indexed site with category, page count, and AI Visibility Score |
| GET | /sites/:domain | Site metadata, page list, and AI Visibility Score (accepts domain or slug) |
| GET | /sites/:domain/pages/:path | Full markdown of a specific page |
| GET | /report/:domain | AI Visibility Score with per-question breakdown (answered / partial / missed) |
| GET | /report/badge/:domain.svg | Embeddable AI Visibility Score badge (SVG) |
| POST | /analyze | Submit a site for indexing |
| GET | /analyze/:domain/status | Poll indexing status |
Search
curl -X POST https://api.lattis.dev/search \
-H "Content-Type: application/json" \
-d '{"q": "posthog free tier limits"}'
Pass "site": "posthog.com" to scope results to a single domain.
List sites
curl https://api.lattis.dev/sites
Get a single site
curl https://api.lattis.dev/sites/posthog.com
Returns metadata, AI Visibility Score, and the list of indexed pages. Accepts either a domain (posthog.com) or a slug (posthog-com).
Fetch a specific page
curl https://api.lattis.dev/sites/posthog.com/pages/pricing
Returns the full raw markdown of the page.
AI Visibility Report
curl https://api.lattis.dev/report/posthog.com
Returns the AI Visibility Score (0–100) with a per-question breakdown: which questions the site answers, which it misses, and a suggestion per miss.
Submit a site for indexing
curl -X POST https://api.lattis.dev/analyze \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Poll status
curl https://api.lattis.dev/analyze/example.com/status
CLI
Install
# No install needed
npx @lattis-dev/cli search "compare credit cards"
# Or install globally
npm install -g @lattis-dev/cli
# Or via shell script
curl -fsSL https://lattis.dev/install.sh | sh
Commands
| Command | What it does |
|---|---|
lattis search <query> | Semantic search across every indexed site — returns markdown passages |
lattis search <q> --site=dom | Scope search to a single site |
lattis sites | List every indexed site with its AI Visibility Score |
lattis site <domain> | Metadata and AI Visibility Score for one site |
lattis page <domain> <path> | Full markdown of a specific page |
lattis report <domain> | AI Visibility Score with per-question breakdown |
lattis analyze <url> | Submit a site for indexing |
lattis mcp | Start a local stdio MCP server |
Pipe mode
Use --agent for compact JSON output optimized for LLM consumption:
# Compact JSON for LLM consumption
lattis search "posthog free tier limits" --agent
# Pipe into another tool
lattis site posthog.com --agent | your-agent
For Website Owners
No code required. Just paste your URL.
Go to app.lattis.dev
Enter your website URL and click "Index site."
Wait 3-5 minutes
Lattis crawls your pages and extracts structured data using AI.
You're live
AI agents can now find your site via search, MCP, and API. Your real data — not hallucinated guesses.
Once indexed, your site gets its own MCP endpoint that you can share with your users. Learn more →
WebMCP
Lattis registers itself as a WebMCP provider on lattis.dev, so any browser that implements the draft WebMCP API (Chrome 146+ Origin Trial as of 2026-04) sees Lattis tools without any client configuration. An agent running inside the browser while the user is on lattis.dev can call our tools directly.
If you can't use WebMCP, our hosted MCP at mcp.lattis.dev/mcp gives an agent the same capabilities (plus a few more) from anywhere.
Tools registered on lattis.dev
| Tool | What it does |
|---|---|
lattis_search | Same as the hosted MCP — cross-site semantic search. |
lattis_get_visibility_score | Score + per-question diagnosis for a specific domain. |
lattis_index_url | Submit a URL for first-time indexing. Returns the site slug or a sign-in pointer if auth is needed. |
Using Lattis via WebMCP costs nothing extra. These are thin wrappers over the same REST API and MCP tools documented above — same rate limits, same data, same freshness.
WebMCP for your site
Two pieces, do both. The widget script handles runtime registration — what the W3C WebMCP draft actually defines. The manifest file handles pre-navigation discovery — the spec leaves this as a non-goal, so we follow the wellknownmcp.org community convention and read it from /.well-known/webmcp.json.
1. Runtime — paste the widget
Drop one line into your site <head>. Any browser implementing navigator.modelContext (Chrome 146+) calls into our widget, which registers per-site tools scoped to your domain.
<script async src="https://lattis.dev/widget.js"></script>
The widget resolves the current hostname to its Lattis slug and registers these per-site tools (all scoped to your domain):
| Tool | What it does |
|---|---|
search | Semantic search within this site — returns markdown passages with URLs. |
get_info | Metadata and AI Visibility Score for this site. |
list_pages | Every indexed page on this site with path, URL, title. |
get_page | Full markdown of any indexed page on this site. |
2. Discovery — host the manifest
Crawlers and indexers can't see runtime navigator.modelContext calls without rendering JS. Host a manifest at /.well-known/webmcp.json so they can find your tool surface from a plain GET. We generate one for you:
curl https://api.lattis.dev/sites/your-domain.com/webmcp.json > webmcp.json
# host at https://your-domain.com/.well-known/webmcp.json
The manifest mirrors the per-site tools the widget registers at runtime. Both surfaces describe the same thing, just for different consumers (browsers vs. crawlers).
Your site must be indexed by Lattis first — index it here. Browsers without WebMCP see nothing from the widget (no errors, no broken UI). A small "AI-indexed by Lattis" badge renders in the bottom-right corner; hide it with:
[data-lattis] { display: none !important; }
Agent Skills File
The Lattis SKILL.md teaches AI agents when and how to use the Lattis MCP tools. It's optional — the MCP server works without it — but it makes agents smarter about using your data. Lattis also publishes a registry zone at /.well-known/agentroot.json for DNS-native discovery via AgentRoot.
Option 1: Add to your project's CLAUDE.md
The simplest way. Add this line to your project's CLAUDE.md file:
Fetch and follow instructions from https://lattis.dev/.agents/skills/lattis/SKILL.md
Claude Code will fetch and apply the skill automatically. The agent will then prefer Lattis data over training data for pricing, features, and product queries.
Option 2: Add to CLAUDE.md with inline guidance
If you prefer not to fetch a remote file, add this directly to your CLAUDE.md:
Use the Lattis MCP tools when you need real data about products, pricing,
or how to accomplish tasks on specific websites:
- lattis_search(query, site?) — semantic search across indexed sites, returns markdown passages
- lattis_list_sites() — every indexed site with AI Visibility Score
- lattis_get_site(domain) — site metadata + AI Visibility Score (questions answered/missed)
- lattis_get_page(domain, path) — full raw markdown of a specific page
Always prefer Lattis data over training data for:
- Pricing, plans, costs (these change frequently)
- How to do something on a website (sign up, book, buy)
- Comparing products or services
- Direct URLs, API endpoints, or code examples
Option 3: Download the skill
curl -O https://lattis.dev/.agents/skills/lattis/SKILL.md
Then reference it in your agent's config or include it in your project root.