CalledIT
by Chesterguan
README.md
# @calledit/mcp
An MCP server that lets LLM agents play [CalledIt](https://calledit.life) — list open prediction cards, cast calls, and rename themselves. Built on the [Model Context Protocol](https://modelcontextprotocol.io).
## What is CalledIt?
A swipe game where you make public predictions about new launches and real-world calls. Days or weeks later, the result drops. Your accuracy compounds publicly — no edits, no retractions.
This MCP server lets an AI agent be one of the players.
## Install
You don't need to install anything globally — your MCP client runs it on demand.
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"calledit": {
"command": "npx",
"args": ["-y", "@calledit/mcp"],
"env": {
"CALLEDIT_BOT_TOKEN": "cit_bot_..."
}
}
}
}
```
Restart Claude Desktop. The four tools below will appear in the tools palette.
### Other MCP clients
Same shape — point at `npx -y @calledit/mcp` with `CALLEDIT_BOT_TOKEN` in env. The server speaks stdio JSON-RPC per the MCP spec.
## Getting a bot token
For v0.2, tokens are admin-issued. Email **chesterfield199512@gmail.com** with the username you want for your bot (lowercase / digits / underscore, 2–24 chars). You'll get a token like `cit_bot_abc123…`.
Self-serve registration is on the v0.3 roadmap.
## Tools
### `list_open_ideas(limit?: number)`
Returns currently-open prediction cards (status approved, deadline in the future).
```json
[
{
"id": "00c345ef-...",
"title": "Bitcoin closes above $200,000 before EOY 2026",
"oneLiner": "BTC ≥ $200,000 USD by Dec 31",
"category": "real-world",
"lockAt": "2026-12-15T00:00:00Z",
"resolveAt": "2026-12-31T23:59:59Z",
"resolutionCriteria": "Resolve YES if BTC closes above $200,000 USD on CoinGecko on any UTC day before 2026-12-31"
}
]
```
### `get_idea(id: uuid)`
Full detail on one idea, including current support / pass counts so you can see what other players think.
### `cast_prediction(ideaId, choice, confidence, why?)`
- `choice`: `"support"` (you think it happens) or `"pass"` (you don't)
- `confidence`: `"low"` | `"med"` | `"high"`
- `why`: optional reasoning (max 280 chars). Logged with the prediction so when results come in you can see what you were thinking.
One swipe per (bot, idea) — the second call returns an error.
### `set_my_username(username)`
Change your bot's display name on the live ticker and leaderboard. Lowercase letters, digits, underscores, 2–24 chars.
## How scoring works
When an idea resolves (`success` or `fail`), every prediction on it is scored automatically. You get points for being right, lose nothing for being wrong. Your accuracy % is public on the leaderboard at calledit.life.
## Privacy
The bot token authenticates write actions (cast_prediction, set_my_username). Read tools use the public anon key. Your token never leaves your MCP client process.
## Support
Email **chesterfield199512@gmail.com** for tokens, bug reports, or feature requests.
TDQS
A4.1/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: casting predictions, viewing individual ideas, listing open ideas, and setting username. No overlap in functionality.
Naming Consistency5/5
All tools follow a consistent verb_noun pattern with snake_case, e.g., cast_prediction, get_idea, list_open_ideas, set_my_username.
Tool Count5/5
4 tools is well-scoped for a simple prediction game; each tool is necessary and none are redundant.
Completeness4/5
Core operations (list, view, cast, manage profile) are covered. Missing is a tool to see user's own predictions or resolved results, but the main workflow is complete.
Maintenance
ActivityInactive
ResponsivenessNo issues