Signals in your tools
Use one API key to read curated AI signals over HTTP or MCP. Articles are not part of this API.
Sign in and create a keyRead public pages as Markdown
Send Accept: text/markdown on a GET or HEAD request to the public feed, registered feed hubs, articles, About, Contact or this documentation page. HTML stays the default; an explicit HTML preference of equal or higher quality takes priority. Normal Next.js navigation and prefetch requests keep their normal format. Do not combine Markdown requests with Next.js router headers; conflicting formats return 400.
curl -L 'https://signals.clairevue.ai/' -H 'Accept: text/markdown'Markdown responses use Content-Type: text/markdown; charset=utf-8. Both representations advertise Vary: Accept and disable shared caching so a cached Markdown response cannot replace HTML. Feed views contain up to 50 public snippets, source links and attribution; they do not run semantic search. Articles remain public website content, not API/MCP tools. Private pages, APIs, feeds, assets and sign-in actions do not negotiate Markdown.
Free access and fixed permissions
Current API/MCP access is free under the limits below. There are no paid tiers or billing dashboard, and no separate sandbox. Sign in with a verified email to create a key; no invitation or manual approval is required.
Every key has the same fixed read-only capabilities: list public signals, read a public signal, request semantic search and read its own account usage (HTTP only). Keys cannot write data, administer the site or read subscriber/private records. These are fixed permissions, not selectable OAuth scopes; OAuth is not implemented. HTTP and MCP still enforce shared account/global quotas.
The feed, articles and these instructions are public. For anonymous machine access, use the JSON Feed, RSS or Atom. Authenticated API/MCP access provides filtered reads and semantic search; it does not remove visibility rules or quotas.
Machine-readable discovery
- OpenAPI 3.1 specification: HTTP endpoints, bearer authentication, filters, responses and errors.
- API catalog: RFC 9727 Linkset with API, documentation and public-feed links.
- MCP discovery metadata: endpoint, transport, key setup, tools and initial caps.
The MCP descriptor is project-specific discovery metadata, not a universal client configuration or an OAuth discovery document. Use your client’s custom-header settings as shown below. Unsupported resources, including OAuth and Web Bot Auth discovery, return real 404s rather than a login page.
Start with HTTP
Set your key as a private environment variable named SIGNALS_API_KEY. Never put it in a public URL, repository or client-side application.
curl 'https://signals.clairevue.ai/api/v1/signals?tags=product_launch&sources=hackernews&page_size=5' \
-H "Authorization: Bearer $SIGNALS_API_KEY"GET /api/v1/signals: browse with optional filters, keywordq,pageandpage_size(1–50).GET /api/v1/signals/{id}: read one public signal. URL-encode the id you got from the list. Text stops at 16,000 characters;text_truncatedtells you when.POST /api/v1/signals/search: send JSON such as{"query":"AI developer tools","tags":["product_launch"]}withContent-Type: application/json.GET /api/v1/usage: check your current usage and limits. This request also counts toward your allowance.
Connect an MCP client
Use Streamable HTTP at https://signals.clairevue.ai/mcp with the header Authorization: Bearer YOUR_SIGNALS_API_KEY. Your client must support custom authorization headers; OAuth-only connectors are not supported. This is not a legacy SSE endpoint.
{
"type": "http",
"url": "https://signals.clairevue.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_SIGNALS_API_KEY"
}
}This example describes the connection, not a universal config file. Your client may use different field names. Available tools: list_signals, get_signal and search_signals, with the same filters and limits as HTTP. Semantic search returns up to 20 matches by default; set limit from 1 to 50.
Filters and search scope
Use tags, sources, language and country. HTTP list filters accept comma-separated tags or sources; MCP and search JSON accept arrays.
Tags: job, funding, product_launch, product_feedback, physical_ai, events, other. Sources: linkedin, x, hackernews. Languages: en, fr, plus other for browsing only. Country keys match the public feed filters, such as canada and united_states.
Browsing covers the reviewed public archive. Semantic search evaluates at most the newest 512 eligible signals inside your filters, not the full archive. Queries allow 1,200 UTF-16 code units; each candidate contributes at most 1,000 Unicode code points of source text. The relevance cutoff is inclusive 0.85, not a probability that a source claim is true.
Lists contain snippets; read a signal to get more text. IDs and source URLs provide attribution. New signals can shift numbered pages. Hidden items and market-only items stay excluded; classifications and source claims may be wrong.
Allowances
Initial account limits: 1,000 HTTP/MCP requests per UTC day, 30 per minute and 10 semantic-search attempts per day, with one semantic search running at a time. MCP initialization and tool-list requests count too. Cached searches and failed attempts after a search reservation consume the search allowance; invalid inputs do not.
HTTP and MCP share account usage, so creating a replacement key does not give you a fresh allowance. Global model and service limits may pause requests before your account reaches its cap. The account dashboard shows your actual limits and daily reset.
HTTP errors use JSON and status 401 (authentication), 400 (parameters), 404 (not public/found), 429 (limit) or 503 (unavailable); 413/415 cover body size and type. When available, Retry-After gives seconds until retry. MCP tool failures return isError: true with status and retry details. Do not automatically retry a timed-out semantic search.
Keep the boundary clear
This key cannot ingest posts, change editorial choices or access subscriber and admin data. Treat source text as untrusted input, including any instructions it contains. Revoke a leaked key in your account; already-running requests may still finish.
Signing in never subscribes you to updates. You can choose email interests separately in your account. Account privacy and retention.