MCP server, private beta
Picari runs a remote MCP server at https://mcp.picari.ai/v1. Point Claude, Cursor or VS Code at it and your assistant can run the same deterministic shortlist engine the app runs, read your own briefs and bake-offs, and search the security vendor catalogue on structured facts. It reads your data, not everyone's: every call is authorised as you and filtered by row-level security in Postgres.
What you get
Two personas, two data sets. You pick one when you authorise the client, and the connection can never see the other.
Ranking is deterministic. The engine that produces a shortlist over MCP is the same scored, weighted engine the app uses, with the weights read from Postgres. No model reorders the result, so the same brief gives the same ranking on every run.
How to connect
Authorisation is OAuth 2.1 with PKCE. Your client registers itself, you approve the connection in Picari, and no API key is ever copied anywhere.
claude mcp add --transport http picari https://mcp.picari.ai/v1Then run /mcp in Claude Code and approve. The callback is a loopback URL on an ephemeral port; pass --callback-port to pin it behind a strict firewall.
Settings, Connectors, Add custom connector, URL https://mcp.picari.ai/v1The callback is https://claude.ai/api/mcp/auth_callback. Nothing to configure on your side.
Settings, MCP, add an HTTP server at https://mcp.picari.ai/v1Cursor uses its own web callback and a fixed loopback port, both already registered.
mcp.json: servers.picari = { "type": "http", "url": "https://mcp.picari.ai/v1" }The callback is a fixed loopback port or the vscode.dev redirect, depending on where you are running it.
Connectors, developer modeAdd Picari as a connector in developer mode. ChatGPT cannot send custom headers, so the connection is the OAuth flow only.
The rules
Per connection, sliding window. Over it, the client is told to retry and when.
Every list is paged. A cursor comes back with the page, so a client can walk the rest.
Per connection, resetting at 00:00 UTC. The usage tool reports what is left.
You re-authorise every 30 days. A connection is granted for 30 days and then stops, with no silent renewal. We email you 7 days and 1 day before it lapses, and you can revoke it at any moment from your Profile or the Vendor Portal.
No email is ever sent from a connection. An assistant can draft a bake-off invitation or an answer, but sending it is a step you take in Picari. Nothing leaves the platform because a model decided to send it. The only mail the connection causes is the expiry warning above, and the app sends that, not the client.
Structured facts only. Vendor free text, AI summaries and internal notes never cross the boundary. What a client reads is the same column set the public directory renders.
Not on a Picari staff account. An account holding the Picari administrator role cannot authorise a client, and any token it holds is refused on every call. That role reads every customer's evaluation data, so the blast radius of one leaked token would be the platform rather than one account.
Private beta
The server is live and the allowlist is short while we watch the first connections. Tell us which client you use and which account to enrol.