内容
# 🔮 观点 MCP 服务器
[](https://www.npmjs.com/package/@iqai/mcp-opinion)
[](https://opensource.org/licenses/MIT)
## 📖 概述
观点 MCP 服务器使 AI 代理能够与 [Opinion.trade](https://opinion.trade) 交互,这是一个基于 BNB Chain 的预测市场平台。该服务器提供对市场数据、实时定价、订单簿和用户投资组合信息的全面访问。
通过实现模型上下文协议(MCP),该服务器允许大型语言模型(LLM)直接在其上下文窗口中发现预测市场、分析赔率(概率)并跟踪交易活动,从而弥合了 AI 与去中心化预测市场之间的差距。
## ✨ 功能
* **市场发现**:按状态、类型(二元/分类)和关键词搜索和筛选预测市场。
* **实时定价**:访问任何结果代币的实时价格数据、隐含概率和市场深度(订单簿)。
* **投资组合跟踪**:监控用户仓位、交易历史和特定钱包地址的未实现盈亏。
* **元数据访问**:检索详细的市场规则、解决标准和可用的报价代币。
## 📦 安装
### 🚀 使用 npx(推荐)
无需全局安装即可使用此服务器:
```bash
npx @iqai/mcp-opinion
```
### 🔧 从源代码构建
```bash
git clone https://github.com/IQAIcom/mcp-opinion.git
cd mcp-opinion
pnpm install
pnpm run build
```
## ⚡ 使用 MCP 客户端运行
在您的 MCP 客户端设置中添加以下配置(例如 `claude_desktop_config.json`)。
### 📋 最小配置
```json
{
"mcpServers": {
"opinion": {
"command": "npx",
"args": ["-y", "@iqai/mcp-opinion"],
"env": {
"OPINION_API_KEY": "your_api_key_here"
}
}
}
}
```
### ⚙️ 高级配置(本地构建)
```json
{
"mcpServers": {
"opinion": {
"command": "node",
"args": ["/absolute/path/to/mcp-opinion/dist/index.js"],
"env": {
"OPINION_API_KEY": "your_api_key_here",
"OPINION_CHAIN_ID": "56"
}
}
}
}
```
## 🔐 配置(环境变量)
| 变量 | 是否必需 | 描述 | 默认值 |
| :--- | :--- | :--- | :--- |
| `OPINION_API_KEY` | 是 | 您的 Opinion.trade API 密钥 | - |
| `OPINION_CHAIN_ID` | 否 | BNB Chain ID(主网为 56,测试网为 97) | `56` |
| `OPINION_PRIVATE_KEY` | 否 | 为未来的交易能力保留 | - |
## 💡 使用示例
### 🔍 市场发现
* "Opinion 上目前有哪些热门的预测市场?"
* "搜索与 'Bitcoin' 或 'BTC' 相关的市场。"
* "查找关于美国选举的活跃市场。"
### 📊 分析与定价
* "显示代币 0x123... 的订单簿并检查价差。"
* "根据 'Yes' 代币的价格,当前的概率是多少?"
* "获取过去 24 小时内该市场代币的 1 小时价格历史记录。"
### 💼 投资组合管理
* "我当前在钱包 0xabc... 中持有哪些仓位?"
* "总结我上个月的交易历史。"
* "检查我是否有需要兑现的获胜仓位。"
## 🛠️ MCP 工具
<!-- AUTO-GENERATED TOOLS START -->
### `GET_LATEST_PRICE`
获取预测市场代币的当前/最新交易价格
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `tokenId` | 字符串 | ✅ | 要获取最新价格的代币 ID |
### `GET_MARKET_DETAILS`
通过 ID 获取特定预测市场的详细信息
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `marketId` | 数字 | ✅ | 市场的唯一标识符 |
### `GET_MARKETS`
从 Opinion.trade 获取预测市场列表,并可选择按状态和市场类型筛选
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `limit` | 数字 | | 10 | 要返回的市场数量(最多 20 个) |
| `status` | 数字 | | | 按状态筛选:1=已创建,2=活跃,3=正在解决,4=已解决 |
| `marketType` | 数字 | | | 市场类型:0=二元,1=分类,2=全部 |
| `page` | 数字 | | | 分页的页码 |
### `GET_ORDERBOOK`
获取特定预测市场代币的订单簿(买入和卖出)
| 参数 | 类型 | 是否必需 | 描述 |
|-----------|------|----------|-------------|
| `tokenId` | 字符串 | ✅ | 要获取订单簿的代币 ID |
### `GET_POSITIONS`
获取钱包地址持有的当前预测市场仓位
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `walletAddress` | 字符串 | ✅ | | 要获取仓位的钱包地址 |
| `limit` | 数字 | | 20 | 要返回的仓位最大数量 |
| `page` | 数字 | | | 分页的页码 |
### `GET_PRICE_HISTORY`
获取预测市场代币的历史价格数据
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `tokenId` | 字符串 | ✅ | | 要获取价格历史的代币 ID |
| `interval` | 字符串 | | "1h" | 时间间隔:1m(1 分钟),5m(5 分钟),1h(1 小时),1d(1 天) |
### `GET_QUOTE_TOKENS`
获取 Opinion.trade 上可用于交易的可用报价代币(货币)列表
_无参数_
### `GET_TRADE_HISTORY`
获取 Opinion.trade 上钱包地址的交易历史
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `walletAddress` | 字符串 | ✅ | | 要获取交易历史的钱包地址 |
| `limit` | 数字 | | 20 | 要返回的交易最大数量 |
| `page` | 数字 | | | 分页的页码 |
### `SEARCH_MARKETS`
按市场标题中的关键词搜索预测市场
| 参数 | 类型 | 是否必需 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `query` | 字符串 | ✅ | | 市场标题中要查找的搜索关键词 |
| `limit` | 数字 | | 10 | 要返回的结果最大数量 |
| `status` | 数字 | | | 按状态筛选:1=已创建,2=活跃,3=正在解决,4=已解决 |
<!-- AUTO-GENERATED TOOLS END -->
## 👨💻 开发
### 🏗️ 构建项目
```bash
pnpm run build
```
### 👁️ 开发模式(监听)
```bash
pnpm run watch
```
### ✅ linting 和格式化
```bash
pnpm run lint
pnpm run format
```
### 📁 项目结构
* `src/tools/`:单个工具定义
* `src/services/`:API 客户端和业务逻辑
* `src/lib/`:共享实用程序
* `src/index.ts`:服务器入口点
## 📚 资源
* [Opinion.trade API 文档](https://docs.opinion.trade/developer-guide/opinion-open-api)
* [模型上下文协议(MCP)](https://modelcontextprotocol.io)
* [Opinion.trade 平台](https://opinion.trade)
## ⚠️ 免责声明
本项目是一个非官方工具,与 Opinion.trade 没有直接关联。它与金融和预测市场数据交互。用户应谨慎行事,并独立验证所有数据。交易预测市场涉及风险。
## 📄 许可证
[MIT](LICENSE)