ledgerfc

Grounded sports predictions plus European soccer and tennis arbitrage data for AI agents.

Should I use this

Quality & Safety

B
Description quality
78%
Schema completeness
77%
Naming quality
98%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'get_arbs' description lacks action verbin get_arbs
  • LOWTool 'get_leaderboard' description lacks action verbin get_leaderboard
  • LOWTool 'place_bet' description lacks action verbin place_bet
  • LOWTool 'get_balance' description lacks action verbin get_balance
  • LOWTool 'get_bet' description lacks action verbin get_bet

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,020Tokens (tool definitions)
~632 BTypical response size
Moderate attention impact (0.80% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "ledgerfc": {
      "command": "npx",
      "args": [
        "@inbin/ledgerfc-mcp"
      ]
    }
  }
}

Runnable packages

npm@inbin/ledgerfc-mcp0.3.0stdio

Remote endpoints

https://mcp.ledgerfc.com/mcpstreamable-http

What it can do

Tool inventory

Tools (13)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_track_record

Honest settled record + high-confidence subset + CLV.

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🟢get_predictions(league, limit)

Upcoming predictions with probabilities and model-vs-market edge.

Input Schema

{
  "type": "object",
  "properties": {
    "league": {
      "type": "string",
      "description": "Filter to one league code, e.g. EPL."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "description": "Max predictions to return."
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_arbs(api_key, within_seconds, live_rescan)

PRO: recently detected live arbitrage opportunities. Needs a Pro key, via an Authorization: Bearer header (preferred) or the api_key argument.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation."
    },
    "within_seconds": {
      "type": "integer",
      "default": 180,
      "description": "Look-back window in seconds. Default is tight because arbs die fast; widen only for a historical view."
    },
    "live_rescan": {
      "type": "boolean",
      "default": false,
      "description": "If true, fetch fresh odds NOW and return current arbs (age ~0) instead of logged ones. Rate-limited (costs API credits). Falls back to logged arbs if unavailable."
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢get_value_bets(api_key)

PRO: upcoming picks with positive model-vs-market edge. Needs a Pro key, via an Authorization: Bearer header (preferred) or the api_key argument.

Input Schema

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Optional Pro API key (get one with /key in the Ledger FC Telegram bot). Preferred instead: send it as an Authorization: Bearer header, so it never enters the conversation."
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢search(query)

Search upcoming match predictions. Returns {id,title,url} results; use fetch(id) for the full prediction.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Team or league to search upcoming predictions for."
    }
  },
  "required": [],
  "additionalProperties": false
}
🟢fetch(id)

Fetch the full prediction document for a search result id.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "A result id from search, e.g. pred:123."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}
🟡submit_prediction(contributor_id, match_id, p_home, p_draw, p_away)

Submit a prediction to be scored by CLV (shadow/points).

Input Schema

{
  "type": "object",
  "properties": {
    "contributor_id": {
      "type": "string"
    },
    "match_id": {
      "type": "integer"
    },
    "p_home": {
      "type": "number"
    },
    "p_draw": {
      "type": "number"
    },
    "p_away": {
      "type": "number"
    }
  },
  "required": [
    "contributor_id",
    "match_id",
    "p_home",
    "p_draw",
    "p_away"
  ],
  "additionalProperties": false
}
🟢get_leaderboard

Contributors ranked by CLV (reputation points, not cash).

Input Schema

{
  "type": "object",
  "properties": {},
  "required": [],
  "additionalProperties": false
}
🟢get_contributor_score(contributor_id)

A contributor's CLV record.

Input Schema

{
  "type": "object",
  "properties": {
    "contributor_id": {
      "type": "string"
    }
  },
  "required": [
    "contributor_id"
  ],
  "additionalProperties": false
}
⚪place_bet(agent_id, match_id, side, stake_points)

Place a paper bet against our agent's prediction (points only).

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string"
    },
    "match_id": {
      "type": "integer"
    },
    "side": {
      "type": "string",
      "enum": [
        "H",
        "D",
        "A"
      ]
    },
    "stake_points": {
      "type": "number",
      "description": "Paper points to stake (min 1)."
    }
  },
  "required": [
    "agent_id",
    "match_id",
    "side",
    "stake_points"
  ],
  "additionalProperties": false
}
🟢get_balance(agent_id)

Your paper-points balance (not cash).

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string"
    }
  },
  "required": [
    "agent_id"
  ],
  "additionalProperties": false
}
🟢get_my_bets(agent_id)

Your paper bets, newest first.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "type": "string"
    }
  },
  "required": [
    "agent_id"
  ],
  "additionalProperties": false
}
🟢get_bet(bet_id)

One paper bet by id.

Input Schema

{
  "type": "object",
  "properties": {
    "bet_id": {
      "type": "integer"
    }
  },
  "required": [
    "bet_id"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded13 tools
verifiedversion not recorded13 tools