Manifold Markets MCP Server
매니폴드 마켓 MCP 서버
Manifold Markets 예측 시장과 상호 작용하는 MCP 서버입니다. 이 서버는 깔끔한 MCP 인터페이스를 통해 Manifold 기능에 대한 포괄적인 액세스를 제공하여 정교한 시장 상호 작용과 집단 지성 메커니즘을 구현합니다.
건축학
서버는 구조화된 도구 시스템을 통해 Manifold Markets의 API 기능에 대한 완전한 매핑을 구현합니다.
핵심 구성 요소
스키마 계층 : 모든 작업에 대한 Zod 기반 검증 스키마
API 통합 : Manifold의 REST 엔드포인트에 직접 매핑
도구 핸들러 : 적절한 오류 관리를 통한 요청 처리
타입 안전성 : 전체 TypeScript 구현
도구 카테고리
시장 창출 및 관리
create_market: 시장 생성(BINARY, MULTIPLE_CHOICE, PSEUDO_NUMERIC, POLL)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
매니폴드 마켓 API 키
시장 창출을 위한 최소 M$1000 잔액
설치
1. 패키지 설치
지엑스피1
2. API 키 받기
Manifold Markets 에 로그인하세요
프로필 설정으로 이동하세요
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 키
모든 매개변수에 대한 입력 검증
속도 제한 보호
안전 오류 메시지
역할 기반 액세스 제어
특허
MIT
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