omni.

Reference

MCP

The Omni MCP server lets an AI app read the same listings, certs, and indexes as the terminal. It cannot buy, bid, or open a pack.

URL
/api/mcp
Transport
HTTP
Gate
API key
Writes
None

MCP is the Model Context Protocol. An AI app asks the server for a tool, the server calls Omni, and the app reads the result. The server follows the tools specification: one job per tool, a described input, a read-only annotation, and errors returned as tool results.

API key

Create the key on Dashboard after you sign in. The secret is shown once.

Put the key in the connection header. Cursor:

{
  "mcpServers": {
    "omni": {
      "url": "https://omnitcg.xyz/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

Powered by Omni

Every successful result includes poweredBy: "Powered by Omni" and source: "https://omnitcg.xyz". Leave that on anything you publish from the data.

Tools

search_listings
Live asks, the Alt value, and the last sale for that grade. query is the card, set, number, or cert. Optional grader, exactGrade (10, 9.5, P-10, BL), venue, and listingType (all, auction, buy-now). Full Art also matches Alternate Art and Illustration. Alt rows include the cert from the listing.
below_market
Buy-now asks under the lower of the last sale and the Alt.xyz value for that grade. Discounts under 3% are already dropped. Each row still includes the raw last sale.
card_detail
Alt value, last sale, the lower of the two, spread, population, and the last few points. A high spread means mixed prints or an outlier. Pass query, or assetId, plus grader and grade. Pass cert to match that slab. Black Label is grade 10.5.
cert_lookup
A PSA, BGS, or CGC certification number, then the listings Omni can see for that card.
read_index
Level, changes, constituent count, basket, and the last few points. query can be a name or an id such as market-pokemon. Empty returns the main baskets.
omni500
The Omni500 board. totalMarketCap is the sum of all 500 cards. Each row is rank, name, marketCap, psa10, highestSold, copies, grades, and change1y. query filters by card or set. Empty returns the top of the board. Market cap is each PSA grade's population times that grade's latest sale. A grade with no sale is left out. Updates once a day.
market_tape
The largest fresh PSA 10 sale, the loudest set rise, the loudest set drop, the chosen index, how many set indexes rose and fell, and a card move. Same facts as @omnisibot.
tape
Bids, sales, and listings at $50,000 or more, newest first. kind is sale, bid, or listing. Optional query, venue, and minPrice. One row per sale. This is the Tape page, not market_tape.
check_listing
Re-read an https ask. eBay, Fanatics Collect, Collector Crypt, and Alt are checked on the venue. Alt includes the cert. Goldin stays on the last indexed ask from search_listings.
my_book
Watches, alerts, and escrow bids for a signed-in wallet. A normal MCP connection is not signed in, so this returns signedIn false. It cannot create a watch or fund a bid.

Connect

The short version, with example questions, is on MCP. Copy that page, or this one, and paste it into the AI app. Ask it to add the Omni MCP. It will ask you for an API key before the tools turn on.

This pagehttps://omnitcg.xyz/docs/mcp
  1. Copy this page
    The address is the link above. Paste that, not a screenshot.
  2. Paste it into the app
    Cursor, Claude, ChatGPT, or any other AI app. Tell it to add the Omni MCP from that page.
  3. Give it the key
    The app asks for an API key. Create one on the Dashboard, under API, and paste the secret. It is shown once.

If the app asks for a server URL instead, use https://omnitcg.xyz/api/mcp and send the key as Authorization: Bearer. After it connects, ask the app to call omni500, tape, or market_tape.

Cursor

Settings, then MCP, or ~/.cursor/mcp.json.

{
  "mcpServers": {
    "omni": {
      "url": "https://omnitcg.xyz/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

VS Code with GitHub Copilot

Command Palette, MCP: Add Server, HTTP. Or .vscode/mcp.json. VS Code uses servers, not mcpServers.

{
  "servers": {
    "omni": { "type": "http", "url": "https://omnitcg.xyz/api/mcp" }
  }
}

Claude Code

claude mcp add --transport http omni https://omnitcg.xyz/api/mcp

Claude Desktop and Claude.ai

Settings, Connectors, Add custom connector. URL https://omnitcg.xyz/api/mcp. If a desktop build only accepts a local command, bridge it:

{
  "mcpServers": {
    "omni": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://omnitcg.xyz/api/mcp"]
    }
  }
}

ChatGPT and Codex

ChatGPT: Settings, Apps, Advanced settings, turn on Developer mode, then Create app and paste the URL. Codex and the ChatGPT desktop app: Settings, MCP servers, Add server, Streamable HTTP, same URL. See ChatGPT's MCP guide.

Windsurf

Windsurf Settings, Cascade, MCP Servers. Windsurf's file uses serverUrl.

{
  "mcpServers": {
    "omni": { "serverUrl": "https://omnitcg.xyz/api/mcp" }
  }
}

Other clients

Any client that speaks remote Streamable HTTP can use the URL. That includes Gemini CLI, Zed, and Continue when they are set to HTTP. A client that only speaks stdio uses the npx mcp-remote bridge above. Cline is in that second group.

What it will not do

  • Place an auto-bid, fund escrow, or set an auto-buy. You do that on Auto-bid and Auto-buy, and you sign.
  • Open gacha or move USDC.
  • See another person's watches or bids. my_book only sees a session the client actually sends, which a desktop MCP connection does not.