Skip to main content

Model Context Protocol server for Fatebook prediction tracking

Project description

Fatebook MCP Server

PyPI version Python 3.13+ CI

A Model Context Protocol (MCP) server that provides integration with Fatebook, a prediction tracking platform. This server allows AI assistants like Claude to create, manage, and track predictions directly through MCP.

Fatebook Server MCP server

Features

  • Create Questions: Make predictions with forecasts (0-100% probability)
  • List Questions: View your predictions with filtering options
  • Get Question Details: Retrieve comprehensive information about specific questions
  • Add Forecasts: Update your predicted probabilities on existing questions
  • Add Comments: Add commentary to track your reasoning
  • Resolve Questions: Mark questions as resolved (YES/NO/AMBIGUOUS)
  • Edit Questions: Update question titles, resolve dates, and notes
  • Delete Questions: Remove questions you no longer need
  • Count Forecasts: Track your forecasting activity

Testing and Compatibility

This MCP server has been tested on Mac OS X 14.5 with:

  • Claude Code (CLI)
  • Claude Desktop
  • MCP Inspector

As far as I know, it doesn't violate any MCP protocol requirements but given that MCP is an evolving protocol, certain features or MCP clients may not be fully supported. If you encounter issues with other MCP implementations, please report them as GitHub issues.

Installation

Prerequisites

  • Python 3.13 or higher
  • uv (recommended) or pip
  • A Fatebook account and API key

Getting your Fatebook API Key

  1. Sign in to Fatebook
  2. Navigate to API Setup
  3. Generate and copy your API key

Option 1: Install from PyPI (Recommended)

Install the package directly from PyPI:

pip install fatebook-mcp

Or using uv:

uv add fatebook-mcp

Option 2: Install from Source

For development or the latest features:

  1. Clone the repository:
git clone https://github.com/an1lam/fatebook-mcp.git
cd fatebook-mcp
  1. Install dependencies using uv:
uv sync

Quick Start

Running Directly with uvx

The easiest way to test the server after installation is with uvx:

# Run directly from PyPI (no installation needed)
uvx fatebook-mcp

# Or run from local directory during development
uvx --from . fatebook-mcp

The server will start and wait for MCP client connections via stdio. Use Ctrl+C to stop it.

Usage with Claude Desktop and Claude Code

Claude Desktop

Add one of the following configurations to your Claude Desktop configuration file:

macOS

Location: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows

Location: %APPDATA%\Claude\claude_desktop_config.json

Option 1: Using PyPI Package (Recommended)

{
  "mcpServers": {
    "fatebook": {
      "command": "uvx",
      "args": ["fatebook-mcp"],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Note: If Claude Desktop can't find uvx, use the full path instead:

{
  "mcpServers": {
    "fatebook": {
      "command": "/Users/yourusername/.local/bin/uvx",
      "args": ["fatebook-mcp"],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Find your uvx path with: which uvx

Option 2: Development/Source Installation

{
  "mcpServers": {
    "fatebook": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/fatebook-mcp",
        "run",
        "python",
        "-m",
        "fatebook_mcp"
      ],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Replace /path/to/fatebook-mcp with the actual path to where you cloned this repository.

Claude Code (CLI)

For Claude Code, you can add this server in several ways:

Option 1: Using PyPI Package (Recommended)

# Add the Fatebook MCP server using uvx
claude mcp add fatebook --env FATEBOOK_API_KEY=your-api-key-here -- uvx fatebook-mcp

# Verify it was added successfully
claude mcp list

Option 2: Import from Claude Desktop

If you already have this configured in Claude Desktop, you can import those settings:

claude mcp add-from-claude-desktop

Option 3: Project-specific configuration

Create a .mcp.json file in your project:

Using PyPI package:

{
  "mcpServers": {
    "fatebook": {
      "command": "uvx",
      "args": ["fatebook-mcp"],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

If uvx is not found, use the full path (find with which uvx):

{
  "mcpServers": {
    "fatebook": {
      "command": "/Users/yourusername/.local/bin/uvx",
      "args": ["fatebook-mcp"],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Using development/source installation:

{
  "mcpServers": {
    "fatebook": {
      "command": "uv",
      "args": ["--directory", "/path/to/fatebook-mcp", "run", "python", "-m", "fatebook_mcp"],
      "env": {
        "FATEBOOK_API_KEY": "your-api-key-here"
      }
    }
  }
}

Replace /path/to/fatebook-mcp with the actual path to where you cloned this repository.

Development & Testing

Additional setup

Beyond the above setup that's needed even just to use the MCP server, running the MCP server as standalone and running its tests require fetching your API key and exporting it in your environment.

You can do this either by exporting it directly:

export FATEBOOK_API_KEY="your-api-key-here"

Or create a .env file:

FATEBOOK_API_KEY=your-api-key-here

Running integration tests

Run the integration tests to verify your setup:

uv run test_client.py

This will test all available endpoints and confirm the server is working correctly.

Note: These tests will only succeed if you have the right API key for the test user. If you're developing such that you need to run these tests, for now email me (the author).

Running the Server Locally

Using uvx (recommended):

uvx --from . fatebook-mcp

Using uv run with module:

uv run python -m fatebook_mcp

The server will start and wait for MCP client connections.

Testing and Compatibility

This MCP server has been tested with:

  • Claude Code (CLI)
  • Claude Desktop
  • MCP Inspector

As MCP is an evolving protocol, certain features or MCP clients may not be fully supported. If you encounter issues with other MCP implementations, please report them as GitHub issues.

Troubleshooting

uvx Command Not Found

If Claude Desktop shows "command not found" errors for uvx:

  1. Find your uvx path:

    which uvx
    
  2. Use the full path in your configuration:

    "command": "/Users/yourusername/.local/bin/uvx"
    
  3. Common uvx locations:

    • macOS: /Users/yourusername/.local/bin/uvx
    • Linux: /home/yourusername/.local/bin/uvx

API Key Issues

  • Ensure your API key is valid and active
  • Check that the API key is properly set in environment or config
  • Try providing the API key directly in the request

Connection Issues

  • Verify the server path in your Claude Desktop config is correct
  • Check that Python 3.13+ is installed and accessible
  • Ensure uv dependencies are properly installed with uv sync

Question Format

  • Dates should be in YYYY-MM-DD format
  • Forecast values must be between 0.0 and 1.0
  • Question IDs are provided when creating questions

Claude Desktop Examples

Creating and tracking a prediction: example interaction

Reviewing your predictions: example review interaction

API Documentation

For more details about the Fatebook API, see:

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Support

For issues with:

  • This MCP server: Open an issue on GitHub
  • Fatebook API: Contact Fatebook support
  • MCP/Claude Desktop: See MCP documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fatebook_mcp-0.1.0.tar.gz (240.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fatebook_mcp-0.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file fatebook_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: fatebook_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 240.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.20

File hashes

Hashes for fatebook_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5a616c0cc1f9b1df071491197a3e1232b3b99014f0b9b7db5b03bf7e35889315
MD5 2abb3dc1f5ebfe83b94bc316f64e5634
BLAKE2b-256 6390d03a225c6130f94f4a3fa7cbdeb7b4dbabfe58f6164573bed6046301eff4

See more details on using hashes here.

File details

Details for the file fatebook_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fatebook_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d74cb8157137c7e87d97f19e507fef901536c9e9aeef742a4f3800a8bfbeb03
MD5 25540a95054ddfff6a3d69e2ca7f13c9
BLAKE2b-256 9ebea8e4b4d75ded4fb9f307b98f69ed929d8fef6034b5d6fcf971f79f857e4d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page