npm package: @iqai/mcp-opinion
Description: MCP server for interacting with Opinion.trade prediction markets on BNB Chain
Latest version: 0.1.1

# Opinion MCP Server

MCP server for interacting with [Opinion.trade](https://opinion.trade) prediction markets on BNB Chain.

## Features

- **Market Data**: Browse and search prediction markets
- **Order Books**: View real-time bid/ask spreads
- **Price History**: Access historical OHLCV data
- **User Portfolios**: Check positions and trade history
- **Quote Tokens**: List available trading currencies

## Installation

```bash
# Clone the repository
git clone https://github.com/IQAIcom/mcp-opinion
cd mcp-opinion

# Install dependencies
pnpm install

# Build
pnpm run build
```

## Configuration

### Required Environment Variable

```bash
OPINION_API_KEY=your_api_key_here
```

To obtain an API key, apply through the [Opinion Builders Program](https://docs.google.com/forms/d/1h7gp8UffZeXzYQ-lv4jcou9PoRNOqMAQhyW4IwZDnII).

### Optional Environment Variables

```bash
# BNB Chain ID (default: 56 for mainnet, use 97 for testnet)
OPINION_CHAIN_ID=56

# Reserved for future trading support
OPINION_PRIVATE_KEY=your_private_key_here
```

## Claude Desktop Configuration

Add to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "opinion": {
      "command": "node",
      "args": ["/path/to/mcp-opinion/dist/index.js"],
      "env": {
        "OPINION_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

Or if published to npm:

```json
{
  "mcpServers": {
    "opinion": {
      "command": "npx",
      "args": ["mcp-opinion"],
      "env": {
        "OPINION_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

## Available Tools

### Market Tools

| Tool | Description |
|------|-------------|
| `GET_MARKETS` | List prediction markets with filters (status, type, pagination) |
| `GET_MARKET_DETAILS` | Get detailed information about a specific market |
| `SEARCH_MARKETS` | Search markets by keyword in question, description, or tags |

### Token Tools

| Tool | Description |
|------|-------------|
| `GET_ORDERBOOK` | View the order book (bids/asks) for a token |
| `GET_PRICE_HISTORY` | Get historical OHLCV price data |
| `GET_LATEST_PRICE` | Get the current/latest trade price |

### User Tools

| Tool | Description |
|------|-------------|
| `GET_POSITIONS` | Get positions held by a wallet address |
| `GET_TRADE_HISTORY` | Get trade history for a wallet address |

### Reference Tools

| Tool | Description |
|------|-------------|
| `GET_QUOTE_TOKENS` | List available quote currencies for trading |

## Usage Examples

### List Active Markets

```
Use GET_MARKETS with limit: 5, status: "activated"
```

### Search for Markets

```
Use SEARCH_MARKETS with query: "bitcoin", limit: 10
```

### Check Order Book

```
Use GET_ORDERBOOK with tokenId: "0x1234..."
```

### View Price History

```
Use GET_PRICE_HISTORY with tokenId: "0x1234...", interval: "1h"
```

### Check Wallet Positions

```
Use GET_POSITIONS with walletAddress: "0xYourWallet..."
```

## Development

```bash
# Watch mode
pnpm run watch

# Run development server
pnpm run start

# Lint
pnpm run lint

# Format
pnpm run format
```

## API Reference

This MCP server uses the Opinion OpenAPI:

- **Base URL**: `https://proxy.opinion.trade:8443/openapi`
- **Rate Limit**: 15 requests/second per API key
- **Documentation**: [Opinion Developer Guide](https://docs.opinion.trade/developer-guide/opinion-open-api)

## Future Enhancements

Trading support via the Opinion CLOB SDK is planned for a future release. This will include:

- Place limit orders
- Place market orders
- Cancel orders
- Manage open orders
- Token approvals

## Related Projects

- [Polymarket MCP](https://github.com/IQAIcom/mcp-polymarket) - Similar MCP server for Polymarket
- [Opinion Python SDK](https://pypi.org/project/opinion-clob-sdk/) - Python SDK for trading

## License

MIT