home / mcp / manifold mcp server

Manifold MCP Server

MCP server for interacting with Manifold Markets prediction markets

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "bmorphism-manifold-mcp-server": {
      "command": "node",
      "args": [
        "/path/to/manifold-mcp-server/build/index.js"
      ],
      "env": {
        "MANIFOLD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

You deploy and run the Manifold MCP Server to interact with Manifold Markets through a clean MCP interface. It exposes market creation, trading, liquidity, hooks for social features, and information retrieval, enabling you to automate and orchestrate prediction-market workflows with strong type safety and robust error handling.

How to use

You interact with the MCP server using a client that communicates via the MCP protocol. Through the available tools you can discover markets, place bets, manage liquidity, follow markets of interest, react to content, and retrieve detailed market or user information. The server enforces authentication, role-based access control, and clear error messages, so you know when a requested action is permitted or blocked.

How to install

Prerequisites: Node.js 18 or higher, npm or yarn, and an API key from Manifold Markets. Ensure your Manifold account has sufficient mana for the operations you plan to perform.

Install the MCP server package from your project directory.

npm install manifold-mcp-server

Set up your MCP server to run locally. Use the following stdio configuration to start the server with your API key. This example runs a local node process that loads the MCP server build and passes the API key via an environment variable.

{
  "mcpServers": {
    "manifold": {
      "command": "node",
      "args": ["/path/to/manifold-mcp-server/build/index.js"],
      "env": {
        "MANIFOLD_API_KEY": "your_api_key_here"
      }
    }
  }
}

Additional setup and notes

Configure your client to use the MCP server by pointing it to the local stdio server setup. You will supply the API key and any required environment variables on your system. After starting the server, you can begin issuing MCP actions such as creating markets, placing bets, adding liquidity, and retrieving market data.

Configuration and security

- API keys are handled via environment variables. Keep your MANIFOLD_API_KEY secure and do not commit it to source control. - The server enforces role-based access control and validates inputs to prevent invalid operations. - Use proper error handling in your MCP client to gracefully manage authentication errors, network failures, rate limits, and permission checks.

Troubleshooting

If you encounter permission errors, verify that your API key has the required roles for the actions you attempt (for example, market creation or bounty management). Check that your environment variables are loaded correctly in the runtime environment and that the server process is running. For API or network errors, confirm your API key is valid and that network access to Manifold Markets is available.

Available tools

create_market

Create a new market with specified type (BINARY, MULTIPLE_CHOICE, PSEUDO_NUMERIC, POLL) and initial parameters including question, description, close time, visibility, and initial probabilities or values.

unresolve_market

Revert a market from a resolved state back to active with optional answer targeting for multiple choice markets.

close_market

Close a market to trading, optionally setting a new close time.

add_answer

Add new answer options to a MULTIPLE_CHOICE or POLL market.

follow_market

Follow or unfollow a market to receive updates.

react

React to markets or comments with like or dislike indications.

add_bounty

Add a bounty to a market for analysis or contributions.

award_bounty

Reward valuable contributions with bounty awards.

place_bet

Place a bet on a market, specifying amount and outcome probability constraints.

cancel_bet

Cancel a previously placed limit order or bet.

sell_shares

Sell shares or liquidate positions in a market.

add_liquidity

Provide liquidity to a market pool to facilitate trading.

remove_liquidity

Withdraw liquidity previously provided to a market.

search_markets

Query markets using filters to discover opportunities.

get_market

Retrieve detailed information about a specific market.

get_user

Fetch user profile data and related metrics.

get_positions

Retrieve the user's current portfolio and positions.

send_mana

Transfer mana between users.