Manifold Markets MCP Server
Manifold Markets MCP 服务器
用于与 Manifold Markets 预测市场交互的 MCP 服务器。该服务器通过简洁的 MCP 界面提供对 Manifold 各项功能的全面访问,从而实现复杂的市场交互和集体智能机制。
建筑学
服务端通过结构化的工具体系实现了Manifold Markets API功能的完整映射:
核心组件
模式层:所有操作的基于 Zod 的验证模式
API 集成:直接映射到 Manifold 的 REST 端点
工具处理程序:通过适当的错误管理来处理请求
类型安全:完整的 TypeScript 实现
工具类别
市场创造与管理
create_market:创建市场(二进制、多选、伪数字、轮询)unresolve_market:恢复已解决的市场close_market:关闭交易市场add_answer:向多项选择市场添加选项
市场互动
follow_market:跟踪感兴趣的市场react:喜欢/不喜欢市场和评论add_bounty:添加赏金以供分析award_bounty:奖励有价值的贡献
交易业务
place_bet:执行市场交易cancel_bet:取消限价订单sell_shares:清算头寸
流动性管理
add_liquidity:提供市场流动性remove_liquidity:撤回提供的流动性
信息检索
search_markets:使用过滤器查找市场get_market:详细的市场信息get_user:用户资料数据get_positions:投资组合跟踪
社交功能
send_mana:在用户之间转移法力
Related MCP server: polymarket-mcp
已验证的功能
服务器已经通过全面的交互轨迹测试:
测试成功
市场发现与跟踪
✅ 带过滤器的市场搜索
✅ 市场关注
✅ 详细的市场信息检索
交易业务
✅ 流动性供应
✅ 投注位置及概率更新
✅ 仓位清算
✅ 出售股票
权限管理
✅基于角色的访问控制
✅ 身份验证处理
✅ 错误消息
权限受限操作
这些操作已实现但需要特定的用户角色:
市场解决/未解决(市场创造者)
市场关闭(市场创建者)
赏金管理(市场创造者)
流动性移除(流动性提供者)
先决条件
Node.js 18 或更高版本
npm 或 yarn
Manifold Markets API密钥
创建市场最低余额为 1000 马来西亚林吉特
安装
1. 安装软件包
npm install manifold-mcp-server2. 获取您的 API 密钥
转到您的个人资料设置
生成 API 密钥
确保帐户具有足够的法力以进行预期操作
3. 配置 MCP 设置
对于克劳德桌面
添加到~/Library/Application Support/Claude/claude_desktop_config.json :
{
"mcpServers": {
"manifold": {
"command": "node",
"args": ["/path/to/manifold-mcp-server/build/index.js"],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}对于 Cline(VSCode 扩展)
添加到~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json :
{
"mcpServers": {
"manifold": {
"command": "node",
"args": ["/path/to/manifold-mcp-server/build/index.js"],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}工具文档
市场创造与管理
创建市场
创建一个新的预测市场:
{
outcomeType: 'BINARY' | 'MULTIPLE_CHOICE' | 'PSEUDO_NUMERIC' | 'POLL' | 'BOUNTIED_QUESTION'
question: string
description?: string | {
type: 'doc'
content: any[]
}
closeTime?: number // Unix timestamp ms
visibility?: 'public' | 'unlisted'
initialProb?: number // Required for BINARY (1-99)
min?: number // Required for PSEUDO_NUMERIC
max?: number // Required for PSEUDO_NUMERIC
isLogScale?: boolean
initialValue?: number // Required for PSEUDO_NUMERIC
answers?: string[] // Required for MULTIPLE_CHOICE/POLL
addAnswersMode?: 'DISABLED' | 'ONLY_CREATOR' | 'ANYONE'
shouldAnswersSumToOne?: boolean
totalBounty?: number // Required for BOUNTIED_QUESTION
}未解决的市场
取消解决先前已解决的市场:
{
contractId: string
answerId?: string // For multiple choice markets
}收盘价
关闭交易市场:
{
contractId: string
closeTime?: number // Optional close time
}市场互动
关注市场
关注或取消关注市场:
{
contractId: string
follow: boolean
}反应
对市场或评论做出反应:
{
contentId: string
contentType: 'comment' | 'contract'
remove?: boolean
reactionType: 'like' | 'dislike'
}交易业务
下注
在市场上下注:
{
marketId: string
amount: number
outcome: 'YES' | 'NO'
limitProb?: number // 0.01-0.99
}出售股票
在市场上出售股票:
{
marketId: string
outcome?: 'YES' | 'NO'
shares?: number // Defaults to all
}流动性管理
添加流动性
向市场池添加流动性:
{
marketId: string
amount: number
}移除流动性
从市场池中移除流动性:
{
contractId: string
amount: number
}错误处理
服务器实现了全面的错误处理:
输入验证
通过 Zod 模式检查参数类型
值范围验证
必填字段验证
API 通信
身份验证错误
网络故障
速率限制
权限检查
业务逻辑
余额不足
无效的市场状态
未经授权的操作
错误响应格式
{
code: ErrorCode
message: string
details?: any
}发展
# Clone the repository
git clone https://github.com/bmorphism/manifold-mcp-server.git
cd manifold-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test贡献
欢迎投稿!感兴趣的领域:
先进的市场分析工具
投资组合优化功能
与其他预测平台集成
文档改进
安全
通过环境变量处理的 API 密钥
所有参数的输入验证
速率限制保护
安全错误消息
基于角色的访问控制
执照
麻省理工学院
Available Tools
18 toolsadd_answerB
Add a new answer to a multiple choice market
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| text | Yes | Answer text |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only states the basic action without noting any destructive effects, permission requirements, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no unnecessary words. It efficiently communicates the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool, the description adequately identifies the action but lacks context about preconditions (e.g., market must be accepting answers) and side effects. Missing output schema details are not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with descriptions, so the description adds no additional value. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add') and the resource ('a new answer to a multiple choice market'), distinguishing it from sibling tools like 'create_market' or 'close_market'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites such as the market type or state.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_bountyB
Add bounty to a market
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| amount | Yes | Amount of mana to add as bounty |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states the action. No disclosure of side effects, idempotency, permissions, or success outcomes. A mutation tool with no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded, no redundant words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with 2 params and no output schema, description is minimal. It lacks usage context and behavioral details, making it less helpful for an agent to decide when to invoke this tool versus siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so schema already documents both parameters. The description adds no extra meaning beyond what's in the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Add bounty to a market' uses a specific verb 'add' and clear resource 'bounty' and 'market'. It distinguishes from siblings like 'award_bounty' (which likely assigns bounty to a user) and 'add_liquidity' (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs. alternatives like award_bounty. No mention of prerequisites or context. Siblings exist but no differentiation provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_liquidityB
Add mana to market liquidity pool
| Name | Required | Description | Default |
|---|---|---|---|
| marketId | Yes | Market ID | |
| amount | Yes | Amount of mana to add |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations. Description implies mutation but lacks details on side effects, permissions, or consequences. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. Could be more informative but achieves brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, no annotations. Description omits what 'mana' is, which market's pool, and expected result. Incomplete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes both parameters fully (100% coverage). Description adds no additional context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Add', resource 'mana', and target 'market liquidity pool'. Distinct from siblings like 'remove_liquidity'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs siblings like 'remove_liquidity'. No prerequisites or scenarios described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
award_bountyB
Award bounty to a comment
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| commentId | Yes | Comment ID to award bounty to | |
| amount | Yes | Amount of bounty to award |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. However, it only states 'Award bounty to a comment' without mentioning whether the action is destructive, requires specific permissions, or has side effects (e.g., deducting mana, changing market state). No behavioral details are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. However, it could be slightly more informative without sacrificing conciseness, e.g., by mentioning the effect on the bounty or the comment. It remains efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (3 required parameters, no output schema, no annotations), the description provides the basic purpose and the schema covers parameter semantics. However, the lack of behavioral context (e.g., whether the action is reversible, permissions needed) makes it less complete than ideal.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with clear descriptions for all three parameters (contractId, commentId, amount). The description adds no additional meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Award bounty to a comment' uses a specific verb and resource, clearly indicating the action. It distinguishes from siblings like 'add_bounty' which likely adds a bounty offer, and other tools like 'place_bet', 'close_market', etc. The purpose is immediately clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to use 'add_bounty' instead. The description gives no context about prerequisites, timing, or exclusions, leaving the agent to infer usage solely from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_betB
Cancel a limit order bet
| Name | Required | Description | Default |
|---|---|---|---|
| betId | Yes | Bet ID to cancel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It fails to mention side effects (e.g., refund, state changes) or idempotency, leaving critical gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single-sentence description is extremely concise, with no extraneous words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple cancel action with one parameter and no output schema, the description covers the essential purpose but lacks details on preconditions (e.g., bet status) or postconditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no meaningful detail beyond what the schema already provides for betId. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'cancel' and the object 'a limit order bet', making the tool's purpose immediately understandable and distinct from siblings like place_bet or sell_shares.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as whether cancellation is only for limit orders or if there are prerequisites like unsettled bets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_marketC
Close a market for trading
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| closeTime | No | Optional. Unix timestamp in milliseconds when market will close |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only says 'close a market' without disclosing side effects, reversibility, or required permissions. The behavioral impact is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and concise, but it omits important details that would make it more useful. Not overly verbose, but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description should explain return value, side effects, and restrictions. It does not, leaving the agent underinformed for tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description adds no extra meaning beyond the schema. Baseline 3 is appropriate as the schema already describes the parameters adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Close a market for trading' clearly states the action and resource, but does not distinguish it from sibling tools like 'unresolve_market' which may have a similar effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as 'unresolve_market', 'create_market', or 'cancel_bet'. Prerequisites or context are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_marketC
Create a new prediction market
| Name | Required | Description | Default |
|---|---|---|---|
| outcomeType | Yes | Type of market to create | |
| question | Yes | The headline question for the market | |
| description | No | Optional description for the market | |
| closeTime | No | Optional. ISO timestamp when market will close. Defaults to 7 days. | |
| visibility | No | Optional. Market visibility. Defaults to public. | |
| initialProb | No | Required for BINARY markets. Initial probability (1-99) | |
| min | No | Required for PSEUDO_NUMERIC markets. Minimum resolvable value | |
| max | No | Required for PSEUDO_NUMERIC markets. Maximum resolvable value | |
| isLogScale | No | Optional for PSEUDO_NUMERIC markets. If true, increases exponentially | |
| initialValue | No | Required for PSEUDO_NUMERIC markets. Initial value between min and max | |
| answers | No | Required for MULTIPLE_CHOICE/POLL markets. Array of possible answers | |
| addAnswersMode | No | Optional for MULTIPLE_CHOICE markets. Controls who can add answers | |
| shouldAnswersSumToOne | No | Optional for MULTIPLE_CHOICE markets. Makes probabilities sum to 100% | |
| totalBounty | No | Required for BOUNTIED_QUESTION markets. Amount of mana for bounty |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Create a new prediction market' without revealing any side effects, permissions, or post-creation state. Critical behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (6 words), but it lacks substance. It does not front-load key details or earn its place beyond restating the tool name. Under-specification, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 14 parameters (many conditionally required) and no output schema, the description is woefully incomplete. It does not explain return values, validation, or conditional logic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new prediction market' with a specific verb and resource. However, it does not distinguish this tool from sibling tools that also operate on markets (e.g., close_market, add_liquidity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, when-not-to-use, or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
follow_marketC
Follow or unfollow a market
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| follow | Yes | True to follow, false to unfollow |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It only states 'Follow or unfollow' without mentioning side effects, permission requirements, rate limits, or what happens on failure. Minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence that is front-loaded. However, it may be too brief, lacking necessary context. Efficient but on the edge of under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle tool with only two parameters, the description is minimally adequate. However, without output schema or annotations, it could be more complete (e.g., mentioning that following a market adds it to user's watchlist).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond the schema; it essentially repeats the boolean behavior. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Follow or unfollow' and the resource 'a market', making the action specific. However, it does not differentiate from sibling tools like close_market or place_bet, though the action is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus others, nor any prerequisites (e.g., user must be authenticated, market must exist). The description provides no context for selecting this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marketC
Get detailed information about a specific market
| Name | Required | Description | Default |
|---|---|---|---|
| marketId | Yes | Market ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention that the operation is read-only, safe, or idempotent. The phrase 'detailed information' implies a read, but lacks explicit safety guarantees or side-effect warnings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one short sentence), which is efficient. However, it is borderline under-specified given the complexity of the context (no annotations, many siblings). It earns its place but could use a bit more substance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description only states that it 'gets detailed information'. It does not mention the return format, pagination, or any constraints (e.g., market must exist). For a simple retrieval tool, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds 'detailed information' but does not elaborate on what 'detailed' entails beyond the schema's 'Market ID'. No additional syntax or format hints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('detailed information about a specific market'), which is adequate for a retrieval tool. However, it does not differentiate from sibling tools like 'search_markets' or 'get_positions', missing an opportunity to clarify scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Given the presence of 'search_markets' for listing and other tools, the description should explicitly state that this is for a single market by ID, but it fails to do so.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_positionsB
Get user positions across markets
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | User ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'Get' implies a read-only operation, but with no annotations provided, the description does not explicitly confirm safety, auth requirements, or any side effects. This lack of disclosure is a gap for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, 5-word sentence that conveys the essential purpose without any fluff. Every word earns its place, making it highly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the simple input schema and lack of output schema, the description fails to explain what a 'position' is, what the output looks like, or any usage notes. For a tool with zero annotations and no output schema, this is insufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage for a single parameter ('userId'). The description adds meaning by noting 'across markets', clarifying the scope beyond the schema's minimal 'User ID' description. This helps the agent understand the tool's broader context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get user positions across markets', specifying the verb 'Get', resource 'positions', and scope 'across markets'. It distinguishes from sibling tools like 'get_user' and 'get_market', but could be more specific about what 'positions' entails (e.g., trading positions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as requiring a valid userId or how results differ from other get tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_userA
Get user information by username
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | Username |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While the description implies a read operation, it does not disclose potential behaviors such as error handling (e.g., user not found), response structure, or authentication requirements, which is a gap given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no extraneous information, efficiently conveying the tool's purpose and main parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one parameter and no output schema, the description is nearly complete. It could mention return format, but the core functionality is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the single parameter. The description reinforces the parameter's role but adds no new semantic beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the resource ('user information') with a specific filtering criterion ('by username'), distinguishing it from sibling tools which are mostly mutations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., search_markets for user lists) or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_betB
Place a bet on a market
| Name | Required | Description | Default |
|---|---|---|---|
| marketId | Yes | Market ID | |
| amount | Yes | Amount to bet in mana | |
| outcome | Yes | ||
| limitProb | No | Optional limit order probability (0.01-0.99) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description fails to disclose behavioral traits such as authentication requirements, limits, or side effects (e.g., balance deduction). The simple statement 'Place a bet' is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise, single sentence. While efficient, it lacks important details, but no redundant words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and minimal description. For a betting action, return values (e.g., bet ID, status) and side effects (e.g., fund deduction) are not mentioned. Incomplete for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already explains most parameters. The description adds no additional meaning beyond what's in the schema (e.g., meaning of outcome 'YES' vs 'NO', behavior of limitProb). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Place' and the resource 'a bet on a market'. It effectively distinguishes from sibling tools like cancel_bet or sell_shares.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., cancel_bet, sell_shares). No prerequisites or constraints mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reactC
React to a market or comment
| Name | Required | Description | Default |
|---|---|---|---|
| contentId | Yes | ID of market or comment | |
| contentType | Yes | Type of content to react to | |
| remove | No | Optional. True to remove reaction | |
| reactionType | No | Type of reaction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behaviors. It does not mention that reactions can be removed or that only 'like'/'dislike' are supported, nor the read/write nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, consisting of a single short sentence. While efficient, it omits important details that could be included without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 4 parameters and no output schema or annotations, the description is too sparse. It fails to explain the effects of the 'remove' parameter or the meaning of reaction types.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema, which already describes the parameters with enums and required fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'React' and the target resources 'market or comment', distinguishing it from sibling tools which are different actions like add_bounty or close_market. However, it could be more specific about the scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any when-not-to-use conditions. The description lacks context for selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_liquidityC
Remove liquidity from market pool
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| amount | Yes | Amount of liquidity to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the action, omitting side effects, reversibility, permissions, or impact on the market.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence with no wasted words. Could include more detail without becoming verbose, but current length is appropriate for a simple action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacking details about return values, failure conditions, and relationship to pool shares. Given no output schema, the description should compensate but fails to do so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions; the tool description adds no additional meaning beyond what the schema already provides. Baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Remove liquidity from market pool', providing a specific verb and resource. It implicitly distinguishes from sibling 'add_liquidity'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like cancel_bet or sell_shares. No context about prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_marketsC
Search for prediction markets with optional filters
| Name | Required | Description | Default |
|---|---|---|---|
| term | No | Search query | |
| limit | No | Max number of results (1-100) | |
| filter | No | ||
| sort | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must disclose safety and behavior. It only states 'search,' implying read-only, but does not confirm this or mention other traits like result limits, pagination, or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 6 words, which is concise but too brief to be effective. It lacks structure and front-loading of key details, resulting in under-specification rather than efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 parameters, no output schema, no annotations, and minimal description, the tool definition is incomplete. It does not specify return format, behavior of filters, or ordering, leaving significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (term and limit described, filter and sort not). The description adds only 'optional filters,' adding minimal meaning beyond the schema, failing to compensate for the uncovered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for prediction markets with optional filters. It distinguishes itself from siblings like get_market (single) and create_market, but does not explicitly contrast with other list tools, though none exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description lacks information on when to use this tool, when not to use it, or alternatives, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_manaC
Send mana to other users
| Name | Required | Description | Default |
|---|---|---|---|
| toIds | Yes | Array of user IDs to send mana to | |
| amount | Yes | Amount of mana to send (min 10) | |
| message | No | Optional message to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose that sending mana reduces the sender's balance, requires authentication, or any error handling. Merely states the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words. However, it is underspecified; slightly more detail could improve without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations. Description fails to mention return value, side effects (e.g., balance deduction), or constraints beyond schema. Incomplete for a transactional tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (send) and resource (mana) to other users. It differentiates from sibling tools like add_bounty or award_bounty which have different purposes, though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like award_bounty or when not to use it. Missing context on prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unresolve_marketC
Unresolve a previously resolved market
| Name | Required | Description | Default |
|---|---|---|---|
| contractId | Yes | Market ID | |
| answerId | No | Optional. Answer ID for multiple choice markets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It only states 'Unresolve' without explaining side effects, permissions, or reversibility. This is insufficient for a potentially destructive mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two words, with no wasted text. However, it lacks structure (e.g., bullet points or line breaks) but still effectively communicates the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and only two parameters, the description is too minimal. It fails to explain what happens when unresolved, any conditions, or side effects, leaving the agent with gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents the parameters. The description adds no extra meaning beyond what is in the schema, so baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Unresolve' and the resource 'market', indicating the action is reverting a previous resolution. It is distinct from siblings like close_market or create_market, though it doesn't explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites (e.g., the market must be resolved). The agent must infer context from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose, such as adding liquidity, placing bets, or searching markets. No two tools overlap in functionality, making it easy for an agent to select the correct tool.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., add_liquidity, get_market, sell_shares). There are no deviations or mixed conventions, ensuring predictability.
With 18 tools covering market creation, trading, liquidity, user info, and more, the count is well-scoped for a prediction market server. It provides comprehensive functionality without being excessive.
The tool set covers most core operations, including create, read, trade, and liquidity management. However, missing explicit tools for resolving markets and creating comments represent notable gaps that agents may need to work around.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The Manifold Markets MCP server provides comprehensive access to prediction market features, enabling users to create and manage markets, execute trades, and manage liquidity through a clean interface. It facilitates sophisticated market interactions with Manifold's platform, including market discovery, trading operations, information retrieval for users and portfolios, and social features like following markets and transferring mana.
Read-only MCP server for live Polymarket, Kalshi, Limitless odds; Manifold sentiment.
Hosted MCP for Kalshi prediction markets: search, odds, order books, settlement rules, and trading.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for Polymarket prediction markets, enabling search, market details, pricing, and bet analysis through 6 tools, with optional authenticated trading via API key.637MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to query Polymarket prediction markets and analyze market data through the MCP interface.8
- AlicenseNot gradedqualityBmaintenanceWraps the Manifold Markets public REST API into an MCP server, providing 40 tools for querying markets, users, groups, bets, comments, and more.12MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for querying and optionally trading across prediction markets (Polymarket, Kalshi, Limitless, Manifold) through a unified API.31MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bmorphism/manifold-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server