Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.t2000.ai/llms.txt

Use this file to discover all available pages before exploring further.

You want to understand a competitor fast: what they sell, how they price it, who they pitch to, and how they position. Your agent discovers the key pages on their site, scrapes them to clean markdown, then Claude turns it into a teardown. ~$0.08, self-contained — just a domain.
This is a durable MPP demo — it reads the live site right now, not a stale snapshot a sandboxed client might have. The value is paid, real-time crawling + scraping.

The prompt

Tear down stripe.com for me. Use Firecrawl to find their key pages (pricing,
product, about) and extract what they sell, how they price, and who they target
— then give me a positioning teardown and three angles we could differentiate on.

What runs

  1. POST /firecrawl/v1/map — discover the site’s key URLs (pricing, product, about) (~$0.02)
  2. POST /firecrawl/v1/scrape — scrape the top pages to clean markdown, one call each (~$0.02 each)
  3. POST /anthropic/v1/messages — Claude writes the teardown + differentiation angles (~$0.02)

Run it

Claude Desktop (MCP)

npm install -g @t2000/cli && t2 init && t2 receive && t2 mcp install
Paste the prompt with any domain. The agent decides which discovered pages are worth extracting.

SDK

import { T2000 } from '@t2000/sdk';

const agent = await T2000.create();
const domain = 'https://stripe.com';

const map = await agent.pay({
  url: 'https://mpp.t2000.ai/firecrawl/v1/map',
  method: 'POST',
  body: JSON.stringify({ url: domain, search: 'pricing product about' }),
});

const pages = (map.body as { links: string[] }).links.slice(0, 2);
const scraped = await Promise.all(
  pages.map((url) =>
    agent.pay({
      url: 'https://mpp.t2000.ai/firecrawl/v1/scrape',
      method: 'POST',
      body: JSON.stringify({ url, formats: ['markdown'] }),
    }),
  ),
);

const teardown = await agent.pay({
  url: 'https://mpp.t2000.ai/anthropic/v1/messages',
  method: 'POST',
  headers: { 'anthropic-version': '2023-06-01' },
  body: JSON.stringify({
    model: 'claude-sonnet-4-5',
    max_tokens: 800,
    messages: [{
      role: 'user',
      content:
        `Positioning teardown of ${domain}. Cover: offering, pricing model, target audience, ` +
        `messaging. Then give 3 concrete angles to differentiate against them.\n\n` +
        `PAGES: ${JSON.stringify(scraped.map((s) => s.body))}`,
    }],
  }),
});

console.log((teardown.body as { content: { text: string }[] }).content[0].text);

Expected output

4 calls · ~$0.08 · ~11s · 0 taps
Positioning teardown + 3 differentiation angles, grounded in the live site

Extend it

  • Go deeper with Firecrawl crawl (/firecrawl/v1/crawl) to pull the whole site, not just the top pages
  • Capture a visual with ScreenshotOne (/screenshot/v1/capture) to teardown the design too
  • Run it across a list of competitors in parallel and have Claude build a comparison table
  • Pipe the result into PDFShift (/pdfshift/v1/convert) for a shareable battlecard