Bybit MCP Server
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., "@Bybit MCP Serverget the current price of BTCUSDT"
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.
Bybit MCP Server
Multi-language Documentation
A Model Context Protocol (MCP) server for Bybit exchange, enabling AI coding tools like Claude Code and Cursor to interact with Bybit's trading platform.
Quick Start
Installation
npm install -g bybit-mcp-serverConfiguration
This MCP server can be used with various AI tools that support MCP:
Claude Code Configuration
For Testnet (Recommended - Safe for testing):
Add to claude_desktop_config.json:
{
"mcpServers": {
"bybit": {
"command": "npx",
"args": ["bybit-mcp-server"],
"env": {
"BYBIT_API_KEY": "your_testnet_api_key",
"BYBIT_API_SECRET": "your_testnet_api_secret",
"BYBIT_ENVIRONMENT": "testnet"
}
}
}
}For Mainnet (⚠️ WARNING: Uses real funds):
Add to claude_desktop_config.json:
{
"mcpServers": {
"bybit": {
"command": "npx",
"args": ["bybit-mcp-server"],
"env": {
"BYBIT_API_KEY": "your_mainnet_api_key",
"BYBIT_API_SECRET": "your_mainnet_api_secret",
"BYBIT_ENVIRONMENT": "mainnet"
}
}
}
}Cursor Configuration
Use the same configuration as Claude Code above, but add to .cursor/mcp_config.json with mcp.servers instead of mcpServers.
Environment Setup
Option 1: Testnet (Recommended)
BYBIT_API_KEY=your_testnet_api_key_here
BYBIT_API_SECRET=your_testnet_api_secret_here
BYBIT_ENVIRONMENT=testnet
DEBUG=falseOption 2: Mainnet (⚠️ Real funds)
BYBIT_API_KEY=your_mainnet_api_key_here
BYBIT_API_SECRET=your_mainnet_api_secret_here
BYBIT_ENVIRONMENT=mainnet
DEBUG=falseGetting API Keys
For Testnet:
Visit Bybit Testnet
Register an account
Go to API Management and create API keys
Enable required permissions (read, trade)
For Mainnet:
Visit Bybit
Complete account verification
Go to API Management and create API keys
Enable required permissions (read, trade)
Set IP restrictions for additional security
Related MCP server: CCXT MCP Server
Available Tools
Market Data
get_price- Get current price for a trading symbolget_orderbook- Get order book depth for a trading symbolget_klines- Get historical candlestick dataget_24hr_ticker- Get 24-hour trading statistics
Account Management
get_account_info- Get account information and balancesget_wallet_balance- Get wallet balance for specific account typeget_open_orders- Get list of open/active ordersget_order_history- Get historical orders
Trading (⚠️ Can use real funds on mainnet)
place_order- Place a new ordercancel_order- Cancel an existing ordercancel_all_orders- Cancel all orders for a symbol or category
Usage Examples
Ask your AI assistant to:
"Get the current price of BTCUSDT on Bybit"
"Show me the order book for ETHUSDT with 50 levels"
"Get my account balance"
"Place a limit buy order for 0.1 BTC at $45000"
"Cancel all my open orders for BTCUSDT"
"Get my trading history for the last 20 orders"
Security
⚠️ Important Security Notes:
TESTNET is the default and recommended environment for safety
MAINNET operations use real funds - use with extreme caution
API keys are automatically redacted from error messages
Always test thoroughly on testnet before using mainnet
Trading operations will display warnings when using mainnet
🔐 API Key Safety:
Never commit API keys to version control
Use environment variables for credentials
Regularly rotate your API keys
Use IP restrictions in Bybit API settings
Development
npm run build # Compile TypeScript
npm run dev # Development mode
npm run lint # Run linting
npm run typecheck # Type checking
npm run watch # Watch modeLocal Development
Clone the repository:
git clone https://github.com/your-username/bybit-mcp-server.git
cd bybit-mcp-serverInstall dependencies:
npm installSet up environment:
cp .env.example .env
# Edit .env with your API credentialsRun in development mode:
npm run devConfiguration Options
Variable | Description | Default | Required |
| Your Bybit API key | - | ✅ |
| Your Bybit API secret | - | ✅ |
|
|
| ❌ |
| Custom API base URL | Auto-detected | ❌ |
| Enable debug logging |
| ❌ |
API Reference
This server implements Bybit's V5 API endpoints. For detailed API documentation:
Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add some amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
MIT License - see LICENSE file for details.
Support
Available Tools
11 toolscancel_all_ordersA
Cancel all orders for a symbol or category (⚠️ WARNING: Affects real orders on mainnet)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | Product type | |
| symbol | No | Trading symbol (optional, if not provided cancels all orders in category) |
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 effectively warns about the real-world impact ('Affects real orders on mainnet'), indicating a destructive operation. However, it lacks details on permissions, rate limits, or error handling, which would enhance 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 front-loaded with the core action and includes a critical warning in a single, efficient sentence. Every word serves a purpose, with no unnecessary elaboration, making it highly concise and well-structured.
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 (destructive operation with real-world impact) and lack of annotations or output schema, the description is somewhat incomplete. It covers the main risk but misses details like response format, error conditions, or prerequisites, which are important for safe usage.
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 parameters well. The description adds minimal value by mentioning 'symbol or category' but does not provide additional semantics beyond what the schema specifies, such as usage examples or edge cases.
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 ('Cancel all orders') and the target ('for a symbol or category'), making the purpose specific and unambiguous. It directly addresses what the tool does without being tautological or vague.
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 it affects 'real orders on mainnet,' which helps distinguish it from test environments. However, it does not explicitly mention when to use this tool versus alternatives like 'cancel_order' (a sibling tool), leaving some guidance gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderC
Cancel an existing order (⚠️ WARNING: Affects real orders on mainnet)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | ||
| symbol | Yes | ||
| orderId | No | ||
| orderLinkId | No |
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 important context about affecting 'real orders on mainnet' (indicating this is a production environment with real consequences), but doesn't disclose other critical behavioral traits like authentication requirements, rate limits, error conditions, or what happens when cancellation succeeds/fails.
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 concise with just one sentence that includes both the core purpose and a critical warning. The warning is front-loaded with an emoji for emphasis. However, the structure could be improved by separating the warning into its own sentence for better readability.
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 destructive order cancellation tool with 4 parameters (2 required), 0% schema description coverage, no annotations, and no output schema, the description is insufficient. It covers the high-level purpose and production environment warning but lacks parameter explanations, usage guidance, behavioral details, and information about what the tool returns.
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 0%, meaning none of the 4 parameters have descriptions in the schema. The tool description provides absolutely no information about parameters, their meanings, or how they should be used together. This leaves the agent with no semantic understanding of the required 'category' and 'symbol' parameters or the optional 'orderId' and 'orderLinkId' 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 action ('Cancel') and resource ('an existing order'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate this from sibling tools like 'cancel_all_orders' beyond the singular vs. plural distinction.
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 'cancel_all_orders' or when to use it versus other order-related tools. The warning about affecting real orders is helpful but doesn't constitute usage guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_24hr_tickerC
Get 24-hour trading statistics for symbols
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No |
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 what the tool does but doesn't cover aspects like rate limits, authentication needs, error handling, or the format of returned statistics, which are critical for safe and effective use.
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 with no wasted words, clearly front-loading the core purpose. It's appropriately sized for the tool's complexity, 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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what statistics are returned, how data is structured, or any prerequisites, leaving gaps for a tool that interacts with trading data and has siblings with overlapping functions.
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 0%, so the description must compensate. It mentions 'symbols' but doesn't explain the parameter's semantics beyond the schema's hint. The description adds minimal value, as it doesn't detail symbol formats or the effect of omitting the parameter, leading to a baseline score.
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 ('24-hour trading statistics for symbols'), making the purpose understandable. However, it doesn't differentiate from siblings like get_price or get_klines, which also retrieve trading data, so it misses full distinction.
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 get_price for current prices or get_klines for historical data. The description lacks context on specific use cases or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_account_infoB
Get account information and balances
| 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 the tool retrieves information, implying a read-only operation, but doesn't specify details like authentication requirements, rate limits, or what specific account data is returned (e.g., types of balances). This leaves significant gaps in understanding the tool's 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 function without any unnecessary words. It is front-loaded and wastes no space, 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 and no output schema, the description is minimally adequate but lacks depth. It doesn't explain what 'account information' includes or how balances are structured, which could be important for an agent to use it correctly in a financial context. With no annotations, more detail 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 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing on the tool's purpose instead. A baseline of 4 is applied since it doesn't need to compensate for any schema 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 with a specific verb ('Get') and resource ('account information and balances'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_wallet_balance', which might cover similar ground, preventing a perfect 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, such as 'get_wallet_balance' or other sibling tools. It lacks context about specific use cases or exclusions, leaving the agent to infer usage based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_klinesC
Get historical candlestick data for a trading symbol
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| interval | Yes | ||
| limit | No |
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 of behavioral disclosure. It states the tool retrieves historical data, implying a read-only operation, but doesn't cover critical aspects like rate limits, authentication requirements, data freshness, or error handling. For a financial data tool with zero annotation coverage, this leaves significant gaps in understanding its operational 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 function without unnecessary words. It's front-loaded with the core purpose, making it easy to parse quickly. Every word earns its place, achieving optimal conciseness for such a straightforward tool.
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 financial data retrieval, lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the returned candlestick data includes (e.g., open, high, low, close, volume), time ranges, or any limitations. For a tool with 3 parameters and critical market data, more context is needed to ensure proper usage.
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 0%, so the schema provides no parameter descriptions. The tool description mentions 'historical candlestick data for a trading symbol,' which hints at the 'symbol' parameter's purpose but doesn't explain 'interval' or 'limit.' It adds minimal value beyond the schema's property names, failing to fully compensate for the coverage gap, warranting a baseline score.
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 historical candlestick data for a trading symbol.' It specifies the verb ('Get') and resource ('historical candlestick data'), making it easy to understand. However, it doesn't explicitly differentiate from sibling tools like 'get_price' or 'get_24hr_ticker,' which also retrieve market data but for different metrics.
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 scenarios like technical analysis, backtesting, or comparing with real-time data from other tools. With siblings like 'get_price' for current prices and 'get_24hr_ticker' for daily summaries, the lack of differentiation leaves the agent guessing about appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_open_ordersC
Get list of open/active orders
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | ||
| symbol | No | ||
| limit | No |
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. While 'Get list' implies a read-only operation, it doesn't specify authentication requirements, rate limits, pagination behavior, or what constitutes 'open/active' orders. The description lacks critical behavioral context needed for safe and effective use.
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 just 5 words, front-loading the core purpose without any wasted words. Every word earns its place, and there's no unnecessary elaboration. This is a model of efficiency in tool description structure.
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 tool with 3 parameters, no annotations, no output schema, and 0% schema description coverage, the description is severely incomplete. It doesn't explain what the tool returns, how parameters interact, or any behavioral constraints. The agent lacks sufficient context to use this tool effectively beyond the most basic understanding.
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 description provides zero information about parameters, while the schema has 0% description coverage. With 3 parameters (category, symbol, limit) completely undocumented in both schema and description, the agent has no semantic understanding of what these parameters mean or how they affect the query. This is a critical gap.
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 ('list of open/active orders'), making the purpose immediately understandable. However, it doesn't distinguish this tool from sibling tools like 'get_order_history' or 'cancel_order', which also deal with orders. The description is specific about the type of orders (open/active) but lacks differentiation from similar 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 provides no guidance on when to use this tool versus alternatives like 'get_order_history' or 'cancel_order'. There's no mention of prerequisites, use cases, or exclusions. The agent must infer usage from the tool 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_orderbookC
Get the order book depth for a trading symbol
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| limit | No |
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 what the tool does but lacks details on traits like rate limits, authentication requirements, or what 'order book depth' entails (e.g., bid/ask levels). This leaves gaps for an AI agent to understand operational constraints.
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 unnecessary words. It's appropriately sized and front-loaded, 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?
Given the complexity of a trading tool with 2 parameters, no annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects, parameter details, or return values, leaving significant gaps for an AI agent to effectively use the 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 description coverage is 0%, so the description must compensate, but it only mentions 'trading symbol' without adding meaning beyond the schema's 'symbol' parameter. It doesn't explain the 'limit' parameter or provide context like default behavior or typical values, resulting in minimal added 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 action ('Get') and resource ('order book depth for a trading symbol'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_price' or 'get_24hr_ticker', which might also relate to trading data, so it lacks sibling distinction for a perfect 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. For example, it doesn't mention that this is for depth data rather than price or ticker information, nor does it reference sibling tools like 'get_price' for different market data needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_historyC
Get historical orders
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | ||
| symbol | No | ||
| limit | No |
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 of behavioral disclosure. 'Get historical orders' only indicates a read operation without details on permissions, rate limits, data freshness, pagination, or error handling. For a tool with 3 parameters and no 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 a single, efficient phrase with no wasted words. It's front-loaded and easy to parse, though it could benefit from more detail given the tool's complexity. The brevity is appropriate but borders on 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?
Given the tool has 3 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It lacks details on behavior, parameter usage, return values, and differentiation from siblings. For a historical data retrieval tool in a trading context, more context is needed to guide effective 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?
Schema description coverage is 0%, meaning none of the 3 parameters (category, symbol, limit) are documented in the schema. The description adds no parameter information beyond what's implied by the tool name. It doesn't explain what 'category' refers to, how 'symbol' is used, or the meaning of 'limit' in context, failing to compensate for the schema gap.
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 'Get historical orders' states the basic action (get) and resource (historical orders), which is clear but vague. It doesn't specify what constitutes 'historical' (e.g., completed vs. all past orders) or how it differs from sibling tools like 'get_open_orders' or 'get_24hr_ticker'. The purpose is understandable but lacks specificity for sibling differentiation.
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 choose it over 'get_open_orders' for current orders or 'get_24hr_ticker' for recent market data, nor does it specify prerequisites like authentication or account access. Usage is implied but not explicitly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priceC
Get the current price for a trading symbol
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
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 of behavioral disclosure. It states the action ('Get') but does not reveal any behavioral traits such as whether this is a read-only operation, if it requires authentication, rate limits, or what the response format might be. This leaves significant gaps for an agent to understand how the tool behaves.
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 wasted words. It is front-loaded with the core action and resource, making it easy to scan and understand quickly. This efficiency is ideal for tool selection.
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 a financial tool with no annotations, no output schema, and low schema description coverage, the description is incomplete. It does not cover behavioral aspects like safety, response format, or error handling, which are crucial for an agent to use the tool effectively in a trading context with multiple sibling tools.
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 1 parameter with 0% description coverage, so the schema provides no semantic details. The description mentions 'trading symbol' but does not add meaning beyond what is implied by the parameter name 'symbol'. It lacks specifics like format examples or constraints, though it partially compensates by hinting at the parameter's purpose. Given the low schema coverage, this is a minimal 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 verb ('Get') and resource ('current price for a trading symbol'), making the purpose understandable. However, it does not explicitly differentiate from siblings like 'get_24hr_ticker' or 'get_orderbook', which might also provide price-related information, so it falls short of a perfect 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. For example, it does not specify if this is for real-time prices, how it differs from 'get_24hr_ticker' (which might include 24-hour statistics), or any prerequisites like market hours. This lack of context makes it harder for an agent to choose correctly among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_balanceC
Get wallet balance for a specific account type
| Name | Required | Description | Default |
|---|---|---|---|
| accountType | Yes | ||
| coin | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states it 'gets' data (implying read-only), but doesn't mention authentication requirements, rate limits, error conditions, or what the return format looks like (e.g., numeric balance, structured object). For a financial tool with zero annotation coverage, this is a significant gap.
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 function without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the core purpose effectively.
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 financial balance tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what the return value contains (balance format, currency units), error handling, or prerequisites. The agent would struggle to use this correctly without additional 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?
Schema description coverage is 0%, so the description must compensate. It mentions 'account type' and implies 'coin' is optional ('if not provided, returns all coins'), adding some semantic context beyond the bare schema. However, it doesn't explain what the account types represent (e.g., UNIFIED vs SPOT) or provide examples, leaving important parameter meaning unclear.
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 ('wallet balance') with the specific scope 'for a specific account type', making the purpose unambiguous. However, it doesn't differentiate from potential sibling tools like 'get_account_info' which might provide overlapping functionality, preventing a perfect 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 like 'get_account_info' from the sibling list. It mentions 'account type' but doesn't explain why one would choose this over other account-related tools, leaving the agent with insufficient context for proper selection.
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 new order (⚠️ WARNING: Can use real funds on mainnet)
| Name | Required | Description | Default |
|---|---|---|---|
| category | Yes | ||
| symbol | Yes | ||
| side | Yes | ||
| orderType | Yes | ||
| qty | Yes | ||
| price | No | ||
| timeInForce | No |
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. The warning '⚠️ WARNING: Can use real funds on mainnet' is crucial behavioral information that alerts the agent to the financial risk and real-world consequences of this operation. This goes beyond what the input schema provides and is essential for safe tool invocation.
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 - just one sentence with a warning. Every word earns its place: 'Place a new order' states the purpose, and the warning provides critical behavioral context. There's no fluff or unnecessary elaboration.
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 financial transaction tool with 7 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. While the warning about real funds is valuable, the description fails to explain what the tool actually returns, how orders are processed, error conditions, or any of the parameter meanings. This leaves too many gaps for safe and effective 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 schema description coverage is 0%, meaning none of the 7 parameters have descriptions in the schema. The tool description provides absolutely no information about any parameters - it doesn't mention category, symbol, side, orderType, qty, price, or timeInForce. This leaves all parameter meanings completely undocumented in both schema and description.
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 a new order') and resource ('order'), which is specific and unambiguous. However, it doesn't differentiate from sibling tools like 'cancel_order' or 'cancel_all_orders' beyond the basic verb distinction, and the warning about real funds is a behavioral note rather than purpose clarification.
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. While it warns about real funds, it doesn't mention when to use 'place_order' versus other trading tools like 'get_open_orders' or 'cancel_order', nor does it specify prerequisites or appropriate contexts for order placement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Every tool has a clearly distinct purpose with no ambiguity. Each targets a specific action on a distinct resource (e.g., cancel_all_orders vs. cancel_order, get_24hr_ticker vs. get_price, get_account_info vs. get_wallet_balance). The descriptions reinforce this clarity, making misselection unlikely.
All tools follow a consistent verb_noun pattern with snake_case throughout. The naming convention is predictable (e.g., get_*, cancel_*, place_order), making it easy for agents to understand and navigate the toolset without confusion.
With 11 tools, the count is well-scoped for a cryptocurrency exchange server. Each tool earns its place by covering essential trading operations (e.g., market data, order management, account info), avoiding bloat while providing comprehensive functionality.
The toolset offers complete CRUD/lifecycle coverage for trading on Bybit. It includes market data (get_price, get_klines, get_orderbook), order management (place_order, cancel_order, get_open_orders, get_order_history), account operations (get_account_info, get_wallet_balance), and auxiliary functions (cancel_all_orders, get_24hr_ticker), with no obvious gaps that would cause agent failures.
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
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides read-only access to Bybit's cryptocurrency exchange API, allowing users to query real-time cryptocurrency data using natural language.122216MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with cryptocurrency exchanges through CCXT, allowing for tasks like fetching balances, market data, creating orders, and trading operations in a standardized way.8MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that provides Claude Code with seamless access to Binance exchange API functionality for market data retrieval, account management, and trading operations.106832MIT
- FlicenseBqualityDmaintenanceA comprehensive MCP server providing full access to Bybit's v5 API for real-time market data, trading operations, and account management. It enables AI assistants to execute trades, manage positions, and monitor wallet balances with built-in safety controls for both testnet and production environments.226
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/ethancod1ng/bybit-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server