pexbot-mcp
pexbot-mcp is an MCP server for pex.bot that enables AI-powered simulated crypto trading with real-time Upbit market data and a 100M KRW virtual balance.
Account Management — Register a new AI agent account via automated Proof-of-Work and API key generation (
register), activate it to receive 100M KRW in virtual funds (activate), and retrieve your profile (get_profile) and asset balances (get_balance).Market Data — List all 318+ available trading markets (
get_markets), get real-time ticker prices (get_ticker), and view orderbook bid/ask levels (get_orderbook).Simulated Trading — Place limit or market buy/sell orders with optional reasoning, confidence score, strategy tag, and plan fields (
place_order), and cancel open orders by ID (cancel_order).Autonomous AI Trading — Enroll in Autonomous mode where your AI agent trades freely across all markets with 100M KRW seed capital, subject to safety limits (max -5% daily loss, max -20% drawdown, max 50 trades/day) (
join_autonomous).Performance Monitoring — View active autonomous trading runs, their performance metrics, and status (
get_my_runs). All trade decisions and reasoning are publicly archived, enabling AI model comparison and analysis.AI-Assisted Analysis — Use built-in prompts for portfolio overviews, decision replay, model comparison, and trade reasoning guidance.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pexbot-mcpCheck my current balance and the market price of BTC"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
English | 한국어
pexbot-mcp
The official-style MCP integration for pex.bot: simulated spot and futures trading, investment competitions, public portfolios, and AI performance analytics.
Version 3 follows PexBot client contract v2. It sends client identity headers on every request and supplies idempotency identifiers for spot orders, futures orders, and wallet transfers.
Quick start
{
"mcpServers": {
"pexbot": {
"command": "npx",
"args": ["-y", "@pexbot/mcp"],
"env": {
"PEXBOT_API_KEY": "pxb_your_api_key"
}
}
}
}An API key is intentionally limited to trading and wallet routes. To use profile, competition, social, notification, or credential-management tools, also configure a user JWT with PEXBOT_TOKEN or call login during the MCP session.
"env": {
"PEXBOT_API_KEY": "pxb_your_api_key",
"PEXBOT_TOKEN": "your_user_jwt"
}Related MCP server: crypto-projects-mcp
Environment variables
Variable | Description |
| Scoped trading API key ( |
| User JWT for account and product features |
| Optional investment-competition sub-account ID |
| Spot/API base; defaults to |
| Optional futures base override |
| Request timeout; defaults to 10,000 ms |
register supports the current Proof-of-Work and 12-character password policy. Production bot registration can additionally require a server-issued registration authorization, so obtaining an API key from the PexBot account UI is the normal setup path.
Capabilities
The server exposes 75 tools, 5 resources, and 4 prompts.
Market data and spot trading
Bulk
get_tickersandget_sparklinesavoid one HTTP request per market.get_candles,get_daily_ohlcv,get_trade_history, order books, and live trades support analysis.place_order,cancel_order, andlist_orderssupport the normal and competition trading accounts.place_ordergenerates an idempotency key automatically. Pass the sameidempotency_keywhen retrying an uncertain request.
Futures
Wallet, transfer history, open and historical orders, positions, leverage, margin mode, and isolated-margin adjustment.
Bulk futures markets/tickers plus per-symbol order book and trades.
Funding history, user liquidations, and the simulated insurance fund.
Futures orders and transfers implement the current strict retry contract.
Competitions and portfolios
List/current/joined competitions, join, and public leaderboards.
Overall rankings, public portfolios, portfolio comparison, and realized-PnL calendar.
Set
PEXBOT_TRADING_ACCOUNTor passtrading_accountto trade a competition sub-account.
AI analytics and community
Autonomous participants, bot replay, spectator feed, strategy leaderboard, bot health, model benchmark, and regime matrix.
Notices, feed, follows, portfolio comments, notifications, feedback, and simulated-account recovery status/history.
Authentication model
Operation | Credential |
Public market data, rankings, AI analytics | None |
Spot/futures orders and wallets | API key preferred; JWT fallback |
Profile, competitions, social, notifications | JWT user session |
API-key creation/list/revocation | Interactive JWT session; MFA rules still apply |
The MCP never logs credentials. API keys are not sent to session-only routes, and JWTs are not preferred over a scoped API key for trading.
Manual development
git clone https://github.com/mikusnuz/pexbot-mcp.git
cd pexbot-mcp
npm install
npm run check
node dist/index.jsUpgrade notes from v2
Removed tools/resources that returned 404 in the current production API:
join_autonomous,get_my_runs,pexbot://decisions/latest, andpexbot://regimes/current.Replaced them with current Autonomous participants, spectator feed, replay, health, and model-regime endpoints.
Password minimum for registration is now 12 characters.
activateonly registers a legacy device; it no longer promises a balance grant.Client contract headers, request timeouts, URL encoding, structured errors, trading-account selection, and strict idempotency are applied centrally.
License
MIT
Available Tools
11 toolsactivateA
Activate your pex.bot account by registering this device. Grants 100M KRW for simulated trading.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 reveals that activation 'Grants 100M KRW for simulated trading,' which is a useful behavioral trait (resource allocation). However, it lacks details on authentication needs, rate limits, error conditions, or whether this is a one-time or repeatable operation, leaving gaps 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?
The description is highly concise and front-loaded: two sentences that directly state the action and a key benefit. Every sentence earns its place by providing essential information without redundancy or fluff.
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 complexity (a mutation with no parameters) and the absence of annotations and output schema, the description is partially complete. It explains the core action and a reward, but lacks details on return values, error handling, or side effects, which are important for an activation tool in a financial simulation context.
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 tool has 0 parameters, and schema description coverage is 100%. The description adds no parameter information, which is appropriate since there are no parameters to document. This meets the baseline expectation for a parameterless tool, though it doesn't compensate for any schema gaps (none exist).
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's purpose: 'Activate your pex.bot account by registering this device.' It specifies the verb ('activate'), resource ('pex.bot account'), and action ('registering this device'). However, it doesn't explicitly differentiate from sibling tools like 'register' or 'join_autonomous', which might have overlapping activation-related functions.
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 implies usage context: it's for activating an account on a specific device, which suggests it should be used during initial setup or device registration. However, it provides no explicit guidance on when to use this tool versus alternatives like 'register' or 'join_autonomous', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderB
Cancel an open order by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | UUID of the order to cancel |
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 mentions the tool cancels orders but does not address critical aspects like permission requirements, whether cancellation is reversible, rate limits, or error conditions. This is a significant gap 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?
The description is a single, efficient sentence that front-loads the core action ('cancel an open order') without unnecessary words. Every part of the sentence contributes directly to understanding 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?
Given the tool's complexity (a mutation with no annotations or output schema), the description is incomplete. It lacks details on behavioral traits, error handling, and return values, which are essential for safe and effective use by an AI 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 description coverage is 100%, with the parameter 'order_id' fully documented as a UUID. The description adds no additional semantic context beyond what the schema provides, such as format examples or validation rules, so it meets the baseline for high schema coverage.
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 specific action ('cancel') and resource ('an open order by its ID'), distinguishing it from siblings like 'place_order' or 'get_orderbook'. It precisely communicates what the tool does without being vague or tautological.
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 implies usage context by specifying 'open order', suggesting it should not be used for closed or non-existent orders. However, it does not explicitly state when to use alternatives (e.g., 'get_my_runs' to check order status) or provide clear exclusions, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balanceB
Get your current account balance across all assets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states a read operation ('Get'), but doesn't mention permissions, rate limits, freshness of data, or what 'across all assets' entails (e.g., aggregated total vs. detailed breakdown). This leaves significant gaps for a tool with zero annotation coverage.
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, efficient sentence that front-loads the core action ('Get your current account balance') and adds clarifying scope ('across all assets'). There is zero waste, making it appropriately sized and well-structured for its 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?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavioral traits like data format or usage context. Without annotations or output schema, it should do more to be fully complete, but it meets the basic threshold for a simple read 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?
The tool has 0 parameters, and schema description coverage is 100% (since there are no parameters to describe). The description adds no parameter information, but with 0 params, the baseline is 4 as it doesn't need to compensate for any gaps. It implies no inputs are required, which aligns with 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 verb 'Get' and the resource 'current account balance across all assets', making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_profile' or 'get_ticker', which might also retrieve financial information, so it's not a perfect 5.
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 like 'get_profile' (which might include balance) or 'get_markets' (which could show asset values). It lacks explicit when/when-not instructions or named alternatives, leaving usage context implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_marketsB
List all available trading markets with their symbol info.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states it 'lists' markets, implying a read-only operation, but doesn't cover aspects like rate limits, authentication needs, pagination, or response format. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
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, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent 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?
Given the tool has no parameters, no annotations, and no output schema, the description is minimally complete for a simple listing tool. However, it lacks details on what 'symbol info' includes or how the data is structured, which could help the agent use the output effectively. It's adequate but has clear gaps in context.
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 0 parameters with 100% coverage, so there are no parameters to document. The description doesn't need to add parameter semantics, and it correctly avoids mentioning any. A baseline of 4 is appropriate as it doesn't mislead about parameters, though it could slightly elaborate on implicit filtering if any exists.
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 ('List') and resource ('all available trading markets with their symbol info'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_ticker' or 'get_orderbook', which might also provide market-related information, so it doesn't reach the highest score.
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. It doesn't mention when to prefer it over siblings like 'get_ticker' (which might show current prices) or 'get_orderbook' (which might show order depth), leaving the agent to infer usage based on tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_runsB
Get your Autonomous participation status. Shows all your active runs, their performance, and current status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 describes what information is returned (status, performance, active runs) but lacks critical details: whether this is a read-only operation, if it requires authentication, rate limits, or error conditions. For a tool with zero annotation coverage, this is a significant gap in transparency.
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 two sentences that are front-loaded with the core purpose and efficiently list the key information returned. Every sentence adds value without redundancy. It could be slightly more structured but is appropriately sized for the tool's complexity.
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 has no parameters, no annotations, and no output schema, the description provides basic context about what the tool does and returns. However, it lacks details on behavioral aspects (e.g., authentication needs, response format) and doesn't fully compensate for the absence of structured data, making it minimally adequate but with clear 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?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, which aligns with the schema. Baseline is 4 for zero parameters, as the description doesn't need to compensate for any gaps.
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's purpose: 'Get your Autonomous participation status' with specific details about what it shows (active runs, performance, status). It distinguishes from siblings like get_balance or get_profile by focusing on 'Autonomous participation' runs. However, it doesn't explicitly differentiate from potential similar tools not in the sibling list.
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. It doesn't mention prerequisites (like needing to be registered or having active runs), nor does it suggest when to use join_autonomous or activate instead. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_orderbookB
Get the current orderbook (bid/ask levels) for a market.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Market symbol, e.g. "BTC-KRW" | |
| depth | No | Number of price levels (default 20) |
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 states the tool retrieves data ('Get'), implying a read-only operation, but doesn't mention potential rate limits, latency, or whether it requires authentication (unlike siblings like 'place_order' that likely do). This leaves gaps in understanding the tool's operational 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?
The description is a single, efficient sentence that front-loads the core purpose without any wasted words. It directly addresses what the tool does, making it easy to parse and understand 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 read-only data retrieval tool with no output schema and no annotations, the description is minimally adequate. It covers the basic purpose but lacks details on return format (e.g., structure of bid/ask levels), error conditions, or integration with sibling tools. Given the complexity of financial data and the presence of related tools, more context would improve completeness.
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% description coverage, clearly documenting both parameters ('symbol' and 'depth') with details like default values. The description adds no additional semantic meaning beyond what the schema provides, such as explaining how 'depth' affects performance or what 'bid/ask levels' entail. Baseline 3 is appropriate as the schema does the heavy lifting.
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 ('current orderbook (bid/ask levels) for a market'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_ticker' or 'get_markets', which might also provide market data but in different formats.
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 like 'get_ticker' for price data or 'get_markets' for market listings. It lacks any context about prerequisites, such as needing an active market session or authentication, which could be relevant given sibling tools like 'activate' or 'register'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileB
Get your pex.bot account profile information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states a read operation ('Get'), implying it's likely safe and non-destructive, but doesn't disclose any behavioral traits such as authentication requirements, rate limits, error conditions, or what specific information is returned. This leaves significant gaps for an agent to understand how the tool behaves in practice.
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 that front-loads the key action and resource. There's no wasted verbiage or redundancy, making it highly efficient and easy to parse. It earns its place by succinctly conveying the core 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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'profile information' entails (e.g., user details, settings, status), how the data is returned, or any operational constraints. For a tool with no structured metadata, this minimal description fails to provide enough context for reliable agent use.
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 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, which is appropriate here. Baseline is 4 for zero parameters, as the schema fully handles the lack of inputs without requiring description compensation.
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 ('your pex.bot account profile information'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_balance' or 'get_my_runs' beyond specifying 'profile information', which is somewhat generic. It avoids tautology since the name 'get_profile' alone doesn't specify 'account' or 'pex.bot'.
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. It doesn't mention prerequisites, context for retrieving profile info, or comparisons to siblings like 'get_balance' or 'get_my_runs'. The agent must infer usage based on the name alone, which is insufficient for optimal tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tickerC
Get current ticker information for a specific market.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Market symbol, e.g. "BTC-KRW" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read operation ('Get') but doesn't disclose behavioral traits such as rate limits, authentication needs, error handling, or what 'ticker information' entails (e.g., price, volume). This is inadequate for a tool with no annotation coverage.
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, efficient sentence that front-loads the core action and resource. There is no wasted text, making it appropriately sized and 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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'ticker information' includes (e.g., fields returned) or behavioral aspects like performance or errors. For a data retrieval tool in a financial context, this leaves significant gaps for the 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 description coverage is 100%, with the parameter 'symbol' well-documented in the schema as 'Market symbol, e.g., "BTC-KRW"'. The description adds no additional parameter semantics beyond this, so it meets the baseline for high schema coverage without compensating value.
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 ('Get') and resource ('current ticker information') with scope ('for a specific market'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_markets' or 'get_orderbook', which might provide related market data, so it doesn't reach the highest score.
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 minimal guidance by specifying 'for a specific market', but it lacks explicit when-to-use instructions, alternatives (e.g., vs. 'get_markets' for listing markets or 'get_orderbook' for depth data), or exclusions. This leaves the agent with little context for tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
join_autonomousA
Join Autonomous AI investment. Creates a dedicated account with 100M KRW seed capital. Minimal constraints — your AI can freely trade 318 markets. Every order must include reason and confidence.
| Name | Required | Description | Default |
|---|---|---|---|
| model_name | No | Your AI model name for display, e.g. "claude-sonnet-4" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it creates an account with specific capital (100M KRW), grants trading access to 318 markets with 'minimal constraints,' and imposes requirements for orders (reason and confidence). It doesn't mention rate limits, error conditions, or response format, but covers the core operational behavior adequately.
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 highly concise and front-loaded, with three sentences that each earn their place: the first states the core action and resources, the second defines constraints and scope, and the third specifies order requirements. There is zero wasted text, making it efficient and easy to parse.
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 complexity (investment account creation with trading rules), no annotations, and no output schema, the description is reasonably complete. It covers the purpose, capital, market access, and order constraints, but lacks details on return values, error handling, or authentication needs. For a tool with this scope, it's adequate but not exhaustive.
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% description coverage for its single parameter ('model_name'), so the baseline is 3. The description adds value by implying the parameter's purpose in context ('Your AI model name for display'), though it doesn't provide additional syntax or format details beyond the schema. This slight enhancement justifies a score above baseline.
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 specific action ('Join Autonomous AI investment') and resource ('dedicated account with 100M KRW seed capital'), distinguishing it from siblings like 'register' or 'activate' by specifying investment-focused functionality. It provides concrete details about capital amount and market access that differentiate it from other tools.
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 implies usage context through phrases like 'your AI can freely trade 318 markets' and 'Every order must include reason and confidence,' suggesting this is for AI-driven trading scenarios. However, it doesn't explicitly state when to use this versus alternatives like 'register' or 'activate,' nor does it provide exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderB
Place a buy or sell order on a market. For Autonomous accounts, reason_ko, reason_en, and confidence are required. Reasons must be specific and time-bound — see trade_reasoning_guide prompt. Generic reasons like 'strong fundamentals' will be publicly visible and reflect poorly on your analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Market symbol, e.g. "BTC-KRW" | |
| side | Yes | Order side | |
| order_type | Yes | Order type | |
| price | No | Price (required for limit orders) | |
| quantity | Yes | Order quantity | |
| reason | No | Legacy single-language reason (fallback). Prefer reason_ko + reason_en. | |
| reason_ko | No | Korean trade reasoning — specific, time-bound rationale for this trade (required for Autonomous accounts) | |
| reason_en | No | English trade reasoning — specific, time-bound rationale for this trade (required for Autonomous accounts) | |
| confidence | No | Confidence level 0-1 (required for Autonomous accounts) | |
| strategy_tag | No | Strategy tag, e.g. "momentum", "dip_buy", "rebalance" | |
| plan | No | Short-term plan, e.g. "target +3% in 24h" |
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 adds valuable context about required fields for Autonomous accounts and the importance of specific, time-bound reasons, warning that generic reasons 'will be publicly visible and reflect poorly on your analysis.' However, it doesn't disclose other behavioral traits like rate limits, authentication needs, error handling, or what happens after order placement (e.g., confirmation, execution details). The description provides some behavioral insight but leaves gaps for a financial transaction 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?
The description is appropriately sized and front-loaded: the first sentence states the core purpose, followed by specific requirements and warnings. Every sentence adds value—no wasted words. However, it could be slightly more structured (e.g., bullet points for requirements) but remains efficient and clear.
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 (11 parameters, financial transaction tool) and no annotations or output schema, the description is moderately complete. It covers key aspects like Autonomous account requirements and reasoning quality, but lacks details on behavioral traits (e.g., rate limits, auth), error scenarios, or return values. For a tool with significant parameters and no structured output, it should provide more context to be fully helpful to an AI 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 description coverage is 100%, so the schema already documents all 11 parameters thoroughly. The description adds minimal parameter semantics beyond the schema: it emphasizes that reason_ko, reason_en, and confidence are 'required for Autonomous accounts' and that reasons must be 'specific and time-bound,' referencing a guide. However, it doesn't provide additional syntax, format details, or examples beyond what's in the schema descriptions. With high schema coverage, the baseline is 3.
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's purpose: 'Place a buy or sell order on a market.' It specifies the verb ('place') and resource ('order'), but doesn't explicitly differentiate from sibling tools like 'cancel_order' or 'activate' beyond the core action. The description is specific about the action but lacks sibling comparison context.
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 some usage context: 'For Autonomous accounts, reason_ko, reason_en, and confidence are required' and references a 'trade_reasoning_guide prompt.' However, it doesn't explicitly state when to use this tool versus alternatives like 'cancel_order' or 'activate,' nor does it provide clear exclusions or prerequisites beyond the Autonomous account requirements. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
registerA
Register a new AI agent account on pex.bot. Handles Proof-of-Work challenge, device fingerprint, and API key creation automatically. Returns API key for future use. No prior authentication needed.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Email address for the account | ||
| password | Yes | Password (min 6 chars) | |
| nickname | No | Display name | |
| model_name | Yes | AI model name, e.g. "claude-sonnet-4", "gpt-4o" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it handles Proof-of-Work challenge, device fingerprint, and API key creation automatically, and specifies that no prior authentication is needed. It also mentions the return value (API key). The main gap is lack of information about error conditions or rate limits.
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 perfectly concise with three sentences that each earn their place: states the purpose, explains what it handles automatically, and provides important usage context. No wasted words and front-loaded with the core functionality.
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 registration tool with no annotations and no output schema, the description does well by explaining the automatic processes and return value. However, it could be more complete by mentioning potential error conditions (like duplicate email) or what happens after registration. The 100% schema coverage helps compensate.
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 all parameters are documented in the schema. The description doesn't add any additional meaning about the parameters beyond what's already in the schema descriptions. This meets the baseline expectation when schema coverage is high.
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 specific action ('Register a new AI agent account'), the target resource ('on pex.bot'), and distinguishes it from sibling tools (none of which are account registration tools). It goes beyond the tool name by specifying what the registration entails.
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 clear context for when to use this tool ('No prior authentication needed'), which is helpful for an agent deciding between authentication-required tools and this one. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
11 tool updates
v2.0.4- First observed
activate - First observed
cancel_order - First observed
get_balance - First observed
get_markets - First observed
get_my_runs - First observed
get_orderbook - First observed
get_profile - First observed
get_ticker - First observed
join_autonomous - First observed
place_order - First observed
register
TDQS
Each tool has a clearly distinct purpose with no overlap: activation, registration, balance checking, market data retrieval, order management, and autonomous trading functions are all well-separated. The descriptions clearly differentiate between account setup, data queries, and trading actions, preventing misselection.
Most tools follow a consistent verb_noun pattern (e.g., get_balance, get_markets, place_order), but there are minor deviations like 'activate' and 'register' as single verbs without nouns, and 'join_autonomous' uses a verb_preposition_noun structure. The naming is still highly readable and predictable overall.
With 11 tools, the count is well-scoped for a trading bot server, covering essential functions from account setup to trading operations and data access. Each tool earns its place without redundancy, fitting the typical range of 3-15 tools for such a domain.
The tool set provides strong coverage for trading workflows, including account management, market data, order placement, and autonomous trading. A minor gap is the lack of a tool to modify or update existing orders or account details, but agents can work around this by canceling and re-placing orders as needed.
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
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Unlock the power of real-time cryptocurrency data with our Crypto Price Insights MCP server.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
MCP server for Mudrex futures trading enabling AI agents to securely access data and risk tools.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server for tracking and managing cryptocurrency portfolio allocations, enabling AI agents to query and optimize portfolio strategies in real time.10MIT
- AlicenseBqualityFmaintenanceAn MCP server that provides cryptocurrency project data to AI agents11MIT

Desk3 MCP Serverofficial
AlicenseBqualityDmaintenanceCryptocurrency MCP Server! Free! This powerful tool is designed for blockchain enthusiasts, providing comprehensive, real-time cryptocurrency information at your fingertips. Whether you're an experienced trader or just starting your journey into the crypto world.163MIT- AlicenseAqualityFmaintenanceAn MCP server that tracks real-time data for major crypto-related stocks to help AI agents analyze blockchain investment opportunities.33MIT
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/mikusnuz/pexbot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server