MCP server
Connect Claude, Cursor, VS Code or any other Model Context Protocol client to Divination, and your assistant can do what you do in the app: ask questions, forecast them, check the leaderboard, settle questions, invite people and run your groups — all as you, with your permissions.
1. Add the server to your client
It is a remote server over streamable HTTP at:
https://divination.io/api/mcp
That URL is all your client needs. There is no token to copy: you sign in with your Divination account in the next step.
Claude Code
claude mcp add --transport http divination https://divination.io/api/mcp
Then run /mcp in Claude Code, pick divination and choose Authenticate.
Claude and Claude Desktop
Under Settings → Connectors, choose Add custom connector, paste the URL above and click Connect.
Cursor
In ~/.cursor/mcp.json (or a project's .cursor/mcp.json), then click Connect next to the server under Settings → MCP:
{
"mcpServers": {
"divination": { "url": "https://divination.io/api/mcp" }
}
}VS Code
In .vscode/mcp.json. VS Code asks you to sign in when the server first starts:
{
"servers": {
"divination": { "type": "http", "url": "https://divination.io/api/mcp" }
}
}Any other client that supports OAuth for remote MCP servers works the same way: give it the URL and let it handle sign-in.
2. Sign in
Your client opens a browser window. Sign in to Divination (or sign up, if you're new) and approve the connection. That's it: your client keeps itself signed in from then on.
- The connection acts as you and can use every tool. It reaches your groups with your role in each, so admin-only tools only work where you are an admin.
- Want an assistant that can look but not touch, or one that runs a group rather than acting as you? Use an API token instead.
3. Ask away
Once it is connected, just talk to your assistant:
- “What questions are open in Team forecasts that I haven't predicted yet?”
- “Ask the group whether the v2 launch slips past March 1st, closing in two weeks.”
- “I now think the launch is 35% likely to slip — update my forecast.”
- “Resolve the Q3 revenue question at $1.24M and show me who scored best.”
- “Invite sam@acme.com and make Priya an admin.”
Everything your assistant does is credited to you and notifies the group by email and Slack, exactly as if you had used the app. Tools that settle questions or remove people are marked as destructive, so well-behaved clients ask before calling them.
Using an API token instead
The server also accepts the same tokens as the API, sent as Authorization: Bearer dvn_…. Use one when you want to limit what your assistant can do, when nobody is around to sign in (a script or a CI job), or for a client that can't sign in with OAuth.
- Mint a personal token at Settings → API tokens and copy the
dvn_…secret. It is shown only once. The scopes you tick decide which tools your assistant sees: tick only the:readones for an assistant that can look but not touch. - A group token(from a group's settings) works too, for a bot that runs one group. It sees only the tools a group can use, so it can't forecast, join or leave groups.
Claude Code
claude mcp add --transport http divination https://divination.io/api/mcp \ --header "Authorization: Bearer dvn_…"
Cursor
{
"mcpServers": {
"divination": {
"url": "https://divination.io/api/mcp",
"headers": { "Authorization": "Bearer dvn_…" }
}
}
}VS Code
VS Code asks for the token the first time and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "divination-token",
"description": "Divination API token",
"password": true
}
],
"servers": {
"divination": {
"type": "http",
"url": "https://divination.io/api/mcp",
"headers": { "Authorization": "Bearer ${input:divination-token}" }
}
}
}Keeping it safe
- Nothing over MCP can create or revoke API tokens, so an assistant can never widen its own access.
- Every call is checked afresh: lose admin in a group and it applies on the very next call. Revoke a token under Settings → API tokens and it stops working immediately.
- If you use a token, grant only the scopes you want your assistant to use, and give the token an expiry.