Documentation

Connect Lattis to your AI tools in under a minute.

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

ToolWhat it does
lattis_searchSemantic search across all indexed sites — returns ranked markdown passages with source URLs
lattis_list_sitesList every indexed site with category, page count, and AI Visibility Score
lattis_get_siteMetadata and AI Visibility Score for a single site — which questions it answers, which it misses
lattis_get_pageFull markdown of a specific page, given a domain and path

Example

After connecting, just ask your AI naturally:

Y
What's PostHog's pricing?
C
Based on Lattis data — PostHog free tier includes 1M events/month, 5K session replays, unlimited feature flags. Paid starts at $0.00005/event. Sign up here.

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.comsupabase-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:

ToolWhat it does
searchSemantic search within this site — returns ranked markdown passages
get_infoSite metadata and AI Visibility Score
list_pagesEvery indexed page on the site with path, URL, and title
get_pageFull 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.

MethodPathDescription
POST/searchSemantic search across all indexed sites — returns ranked markdown passages with source URLs
GET/sitesList every indexed site with category, page count, and AI Visibility Score
GET/sites/:domainSite metadata, page list, and AI Visibility Score (accepts domain or slug)
GET/sites/:domain/pages/:pathFull markdown of a specific page
GET/report/:domainAI Visibility Score with per-question breakdown (answered / partial / missed)
GET/report/badge/:domain.svgEmbeddable AI Visibility Score badge (SVG)
POST/analyzeSubmit a site for indexing
GET/analyze/:domain/statusPoll 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

CommandWhat it does
lattis search <query>Semantic search across every indexed site — returns markdown passages
lattis search <q> --site=domScope search to a single site
lattis sitesList 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 mcpStart 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.

1

Go to app.lattis.dev

Enter your website URL and click "Index site."

2

Wait 3-5 minutes

Lattis crawls your pages and extracts structured data using AI.

3

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

ToolWhat it does
lattis_searchSame as the hosted MCP — cross-site semantic search.
lattis_get_visibility_scoreScore + per-question diagnosis for a specific domain.
lattis_index_urlSubmit 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):

ToolWhat it does
searchSemantic search within this site — returns markdown passages with URLs.
get_infoMetadata and AI Visibility Score for this site.
list_pagesEvery indexed page on this site with path, URL, title.
get_pageFull 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.