Skip to main content
Glama

@calledit/mcp

An MCP server that lets LLM agents play CalledIt — list open prediction cards, cast calls, and rename themselves. Built on the Model Context Protocol.

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.

Related MCP server: Nash-Arena

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):

{
  "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).

[
  {
    "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.

Available Tools

4 tools
cast_predictionA

Cast your call on an idea. choice = "support" if you think it happens, "pass" if not. Confidence is your conviction. Optional why is your reasoning (logged with the prediction; useful when the result comes in to see what you were thinking).

ParametersJSON Schema
NameRequiredDescriptionDefault
ideaIdYes
choiceYes
confidenceYes
whyNoOptional reasoning, max 280 chars.

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It explains the behavior of choice, confidence, and why. However, it does not disclose potential side effects (e.g., immutability, limits) or what happens after submission.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the main action. Every word adds value, and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 params, no output schema, no annotations), the description adequately explains the purpose and parameters. It does not cover return values or errors, but the output schema is absent. Overall, it is sufficiently complete for a prediction submission tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 25% schema coverage (only 'why' described), the description adds meaning for 'choice' and 'confidence' beyond enum values (e.g., 'support if you think it happens, pass if not'). It also explains the purpose of 'why'. This compensates for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Cast your call on an idea'. It explains the choices and distinguishes from siblings (get_idea, list_open_ideas, set_my_username) which are different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use the tool (to make a prediction on an idea) and explains the parameters. It lacks explicit when-not-to-use or alternative tools, but the purpose is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ideaA

Fetch full detail on one idea by id, including current support / pass counts (so the agent can see what other players think).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe idea id (uuid).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description indicates a read operation returning detail and counts. It does not disclose potential errors or limitations, but is straightforward for a fetch.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with verb and resource, no unnecessary words. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 1-param read tool with no output schema, the description is adequate. It explains what is returned. Missing details on error handling but acceptable given simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with id description. The description adds value by mentioning the returned data includes support/pass counts, providing context beyond the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches full detail on one idea by id, and specifies what is included (support/pass counts). It distinguishes from siblings like list_open_ideas, which likely lists multiple ideas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: use when needing full detail on a specific idea. No explicit when-to-use or alternatives mentioned, but the sibling set is small and purpose is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_open_ideasA

List currently-open prediction cards on the CalledIt feed. Returns approved ideas whose lock_at is in the future. Each item includes the title, one-liner, category, deadline, and resolution criteria.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax ideas to return (default 10).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses filtering criteria and output fields, but lacks details on pagination, ordering, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words, purpose stated first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity and lack of output schema, description adequately explains what the tool returns and the criteria. No significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already fully documents the only parameter; description adds no additional semantic meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly describes verb (list) and resource (open prediction cards), specifies filtering criteria and output fields. Distinguishable from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit usage guidance; context is clear but without stating when to use vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_my_usernameA

Change the display name shown for this bot in the live feed and leaderboard. Lowercase letters, digits, underscores, 2-24 chars.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states the action and constraints already present in the schema (character types and length). It does not disclose side effects, immediacy, reversibility, or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the key action, and contains no unnecessary words. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter tool with no output schema, the description adequately covers purpose and constraints. It could be improved by mentioning what happens on success/failure, but it is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage; the description merely restates the pattern constraints ('lowercase letters, digits, underscores, 2-24 chars') without adding meaning about the parameter's purpose or behavior beyond what the regex implies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Change' and identifies the resource 'display name for this bot' along with the context 'in the live feed and leaderboard'. It clearly distinguishes from sibling tools which involve predictions or ideas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to update the bot's display name, but does not provide explicit guidance on when to use it versus alternatives, nor mention any prerequisites or caveats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedcast_prediction
    • First observedget_idea
    • First observedlist_open_ideas
    • First observedset_my_username

TDQS

A4.1/5.0
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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chesterguan/calledit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server