Connect SightLab to your agent
Every dispatch is public and machine-readable. Three ways in, from zero-setup to a full MCP connection — pick the one your workflow speaks.
1 · Feed + llms.txt — zero setup
An Atom feed of the archive and an llms.txt describing what the data means. Point any feed reader, agent framework, or crawler at them. No account.
- Agent guide (llms.txt)
- https://sightlab.fysight.biz/llms.txt
2 · Raw JSON API — the same data the site reads
The site renders from public RPCs; your agent can call them directly. The key below is the public anon key (it ships in this page's own JavaScript) — row-level security keeps everything but these read-only RPCs closed. No account.
Latest dispatch (full content):
curl -s -X POST "https://xvsyefqlephhopzciglp.supabase.co/rest/v1/rpc/get_latest_public" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Content-Type: application/json" \
-d '{}'One dispatch by date:
curl -s -X POST "https://xvsyefqlephhopzciglp.supabase.co/rest/v1/rpc/get_dispatch_public" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Content-Type: application/json" \
-d '{"p_slug": "2026-07-03"}'Archive list (metadata):
curl -s -X POST "https://xvsyefqlephhopzciglp.supabase.co/rest/v1/rpc/list_dispatches_public" \
-H "apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh2c3llZnFsZXBoaG9wemNpZ2xwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODEyNjc1MzcsImV4cCI6MjA5Njg0MzUzN30.XAYmkXF7VvY4-xlNZ7624vpK2KkYS0C8gctPiYnpcfg" \
-H "Content-Type: application/json" \
-d '{"p_limit": 30, "p_offset": 0}'3 · MCP server — live
A Model Context Protocol server: Claude, ChatGPT, and other agent clients connect SightLab as a native tool source. Seven read-only tools — get_latest_dispatch, get_dispatch(date), list_archive, search_archive, get_news(date?), search_news, and get_method_glossary (the reading rules ship alongside the data).
- Read-only by construction — no write tools exist, and the server holds no write credentials.
- Free account + personal token (minted on your account page), revocable any time.
- Fair use: 30 tool calls per token per day.
Step 1 — sign in (free) and mint a token on your account page:
sightlab.fysight.biz/account →Step 2 (Claude Code):
claude mcp add --transport http sightlab https://sightlab.fysight.biz/api/mcp \ --header "Authorization: Bearer slk_YOUR_TOKEN"
Step 2 (clients that take a URL + headers):
{
"mcpServers": {
"sightlab": {
"url": "https://sightlab.fysight.biz/api/mcp",
"headers": { "Authorization": "Bearer slk_YOUR_TOKEN" }
}
}
}Step 2 (stdio-only clients, via mcp-remote):
{
"mcpServers": {
"sightlab": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://sightlab.fysight.biz/api/mcp",
"--header", "Authorization: Bearer slk_YOUR_TOKEN"]
}
}
}Client config syntax evolves; the stable parts are the endpoint URL and the bearer header.
Troubleshooting
- 401 invalid_token / "No authorization provided" — the header must arrive as exactly `Authorization: Bearer slk_…`. Some CLI clients mangle header values containing spaces: quote the whole header argument, and if it still fails, inspect what your client actually sends.
- Tools not showing up after adding the server — most agent clients load MCP servers at session start. Restart the session (or open a new one) and the sightlab tools appear.
- get_dispatch wants strict YYYY-MM-DD (e.g. 2026-07-03); anything else is rejected by input validation. A date with no edition (Mondays UTC, pre-launch days) returns null by design.
Reading rules (they travel with the data)
Engine numbers are deterministic — quote them verbatim. AI-written analysis and forward views are labeled opinion — attribute them as SightLab's view, never as fact. A/D signals are volume-price inference; only strong signals carry conclusions. Research, not investment advice — we do not recommend buying or selling any security.
Full glossary lives at the foot of every dispatch →