Binance MCP Server
Provides tools to interact with the Binance Spot REST API, including price queries, candlestick data, order book, account balances, trading (place/cancel orders), and withdrawal (disabled by default). Designed for AI agents to manage Binance spot trading operations.
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., "@Binance MCP Serverwhat's 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.
Binance MCP Server
Servidor MCP (Model Context Protocol) que le da a Claude (u otro cliente MCP) acceso a la REST API de Binance Spot: consultar precios, velas, balances, y operar — con los retiros desactivados por defecto por seguridad.
An MCP server that gives Claude (or any MCP client) access to the Binance Spot REST API: prices, candlesticks, balances, and trading — with withdrawals disabled by default for safety.
🇪🇸 Español
¿Qué es esto?
Un servidor MCP en Python que expone la API de Binance Spot como herramientas (tools) que un modelo como Claude puede invocar en lenguaje natural. Le preguntas "¿a cuánto está el BTC?" o "compra 0.01 ETH" y el modelo llama a la herramienta correspondiente.
Seguridad primero 🔒
Mover dinero con un LLM es delicado, así que el servidor está diseñado a la defensiva:
Retiros desactivados a nivel de código.
withdrawno hace nada salvo que pongasENABLE_WITHDRAWALS=truey la API key tenga permiso de retiro. La recomendación es no dárselo.Testnet por defecto (
BINANCE_TESTNET=true): prueba contra el entorno de pruebas de Binance antes de tocar fondos reales.Firma HMAC SHA256 en cada request privado, igual que exige Binance.
Recomendado: crear la API key sin permiso de retiro y con IP whitelist.
Herramientas disponibles
Herramienta | Tipo | Descripción |
| pública | Precio actual de un símbolo ( |
| pública | Estadísticas 24h: volumen, cambio %, máx/mín |
| pública | Velas / candlesticks ( |
| pública | Libro de órdenes (bids/asks) |
| firmada | Balances y permisos de tu cuenta spot |
| firmada | Órdenes abiertas |
| firmada | Tu historial de trades |
| firmada | Crea orden |
| firmada | Cancela una orden por |
| firmada | Cancela todas las órdenes de un símbolo |
| firmada | Retiro (desactivado por defecto) |
Instalación
Requiere uv (gestor de paquetes de Python).
git clone https://github.com/Lubodi-Code/binance-mcp.git
cd binance-mcp
uv syncConfiguración
Copia .env.example a .env y rellena tus claves de Binance:
cp .env.example .envBINANCE_API_KEY=tu_api_key
BINANCE_API_SECRET=tu_secret
BINANCE_TESTNET=true # empieza siempre en testnet
ENABLE_WITHDRAWALS=false # no lo cambies salvo que sepas lo que hacesPara el testnet de spot, genera tus claves en https://testnet.binance.vision
Conectarlo a Claude Desktop
Añade esto a tu claude_desktop_config.json:
{
"mcpServers": {
"binance": {
"command": "uv",
"args": ["--directory", "/ruta/absoluta/a/binance-mcp", "run", "server.py"],
"env": {
"BINANCE_API_KEY": "tu_api_key",
"BINANCE_API_SECRET": "tu_secret",
"BINANCE_TESTNET": "true"
}
}
}
}Reinicia Claude Desktop y pídele, por ejemplo: "¿a cuánto está el BTC y cómo se movió en las últimas 24h?"
Related MCP server: Binance Cryptocurrency MCP
🇬🇧 English
What is this?
A Python MCP server that exposes the Binance Spot API as tools an LLM like Claude can call from natural language. Ask "what's the BTC price?" or "buy 0.01 ETH" and the model invokes the right tool.
Safety first 🔒
Moving money with an LLM is risky, so the server is defensive by design:
Withdrawals disabled in code.
withdrawis a no-op unless you setENABLE_WITHDRAWALS=trueand the API key has withdraw permission. The recommendation is not to grant it.Testnet by default (
BINANCE_TESTNET=true): test against Binance's sandbox before touching real funds.HMAC SHA256 signing on every private request, as Binance requires.
Recommended: create the API key without withdraw permission and with an IP whitelist.
Available tools
Tool | Type | Description |
| public | Current price of a symbol ( |
| public | 24h stats: volume, % change, high/low |
| public | Candlesticks ( |
| public | Order book (bids/asks) |
| signed | Spot account balances & permissions |
| signed | Open orders |
| signed | Your trade history |
| signed | Create a |
| signed | Cancel an order by |
| signed | Cancel all orders for a symbol |
| signed | Withdraw (disabled by default) |
Install
Requires uv.
git clone https://github.com/Lubodi-Code/binance-mcp.git
cd binance-mcp
uv sync
cp .env.example .env # then fill in your keysRun
uv run server.pyThen wire it into Claude Desktop's claude_desktop_config.json (see the Spanish section above for the exact config block).
⚠️ Disclaimer
Este proyecto es educativo. Operar con criptomonedas conlleva riesgo financiero. El autor no se hace responsable de pérdidas. Úsalo bajo tu propia responsabilidad y empieza siempre en testnet.
This project is for educational purposes. Crypto trading carries financial risk. The author is not liable for any losses. Use at your own risk and always start on testnet.
Stack
Python 3.10+ · MCP SDK (FastMCP) · httpx · uv
License
MIT — see LICENSE.
Available Tools
11 toolscancel_all_ordersB
Cancela TODAS las ordenes abiertas de un simbolo.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It states the action but does not warn that this is a destructive, irreversible bulk operation, nor does it mention potential consequences, required permissions, or the response format. The word 'TODAS' implies bulk impact but fails to elaborate on safety or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence in Spanish that front-loads the action ('Cancela') and clearly identifies the target. There are no wasted words or redundant content. This is an appropriate size for the simple operation.
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 bulk operation with no annotations and no output schema, the description is incomplete. It does not mention what happens after cancellation, whether the action is reversible, how to handle errors (e.g., no open orders), or any response details. This is insufficient for an agent to understand the full context of 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?
The input schema has one required parameter 'symbol' with no description. The description mentions 'de un simbolo,' which clarifies that the symbol identifies whose orders will be canceled, but it does not explain the expected format (e.g., 'BTCUSDT') or any additional nuances. Given 0% schema coverage, the description provides only minimal 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 with a specific verb ('Cancela') and resource ('TODAS las ordenes abiertas de un simbolo'), meaning 'Cancels ALL open orders of a symbol.' The word 'TODAS' distinguishes it from the sibling tool cancel_order, which presumably cancels a single order.
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 does not explicitly mention when to use this tool or provide alternatives. Usage is implied from the purpose: use when you want to cancel all open orders for a given symbol, rather than individual orders. There is no guidance on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_orderA
Cancela una orden por su orderId en el simbolo dado.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| order_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects, irreversibility, authentication requirements, or error behavior. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and contains no fluff. Every word contributes to the meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description conveys the basic action and parameters but provides no information about return values, errors, or post-conditions. Given the absence of an output schema and annotations, this is functionally incomplete for an agent to fully anticipate the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description clarifies that order_id is the identifier of the order to cancel and symbol is the trading symbol. This adds meaningful semantics beyond the raw schema, though it lacks deeper constraints or format details.
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 uses the specific verb 'Cancela' (cancels) with the resource 'orden' (order), and specifies the exact means ('por su orderId en el simbolo dado'). This clearly distinguishes it from sibling tools like place_order and cancel_all_orders.
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 clearly implies the use case: you need an orderId and a symbol to cancel a specific order. It does not explicitly mention alternatives or exclusions, but the context is unambiguous, so a 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_24h_statsA
Estadisticas de 24h de un simbolo (volumen, cambio %, high/low). Ej: 'ETHUSDT'.
| 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 must carry the behavioral disclosure burden. It lists the returned fields (volume, change %, high/low) but omits response format, error behavior, and whether the 24h stats are rolling or daily.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, focused sentence with a practical example. No filler or redundant information; every word contributes.
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 one-parameter stats tool, the description names the included metrics and provides an example. Without an output schema, it could describe the response shape or error cases, but the listed fields give adequate functional 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 schema provides only the parameter name 'symbol' with no description (0% coverage). The description compensates by explaining that the parameter is a trading symbol and gives a concrete example ('ETHUSDT'), clarifying the expected format.
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 returns 24h statistics for a symbol, listing volume, change percentage, and high/low. This distinguishes it from siblings like get_price and get_klines, though it lacks an explicit verb.
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 intended use is implied: fetch 24h market stats for a symbol. The example clarifies the symbol parameter, but no explicit guidance is given about when to prefer this over alternatives like get_price or get_klines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountA
Balances y permisos de tu cuenta spot. Requiere firma.
| 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 responsibility. It discloses the authentication requirement (requires signature) which is a useful behavioral trait beyond the schema, but it does not explicitly state the read-only nature or other potential side effects. This is a minimal but acceptable transparency level.
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 short sentences, front-loading the purpose and then the requirement. Every word serves a purpose, with no wasted information.
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 zero-parameter tool with no output schema and no annotations, the description adequately covers what it returns (balances and permissions) and its prerequisite (signature). While it lacks explicit return format, the information provided is sufficient for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description needs no parameter semantics. The baseline of 4 applies because there is no need to compensate for undocumented 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 identifies the resource: 'Balances y permisos de tu cuenta spot' (balances and permissions of your spot account), which is specific and distinct from market data and trade execution siblings. However, it lacks an explicit verb and does not name alternative tools, so it is clear but not explicit in 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?
There is no guidance on when to use this tool versus alternatives. The only additional note, 'Requiere firma' (requires signature), is a prerequisite rather than a usage context or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_klinesB
Velas (candlesticks) de un simbolo. interval: 1m,5m,15m,1h,4h,1d,1w, etc. limit: max 1000.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| symbol | Yes | ||
| interval | No | 1h |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses interval choices and a limit cap of 1000, but gives no information about the returned data structure, ordering, time ranges, or potential side effects. With no annotations, the description carries the full burden and falls short.
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 brief and to the point, using two short sentences. The first sentence states the purpose, and the second lists constraints. It could be better structured, but it is concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema or annotations, the description needs to explain what a kline is and what the response contains. It only says 'velas' without defining OHLCV structure, ordering, or error handling, making it incomplete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning for interval (listing common values like 1m, 1h, 1d) and limit (max 1000), which are not explained in the schema. However, symbol is only implied and not elaborated, and defaults are not mentioned.
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 states 'Velas (candlesticks) de un simbolo' which clearly identifies the tool's purpose as retrieving candlestick data for a symbol. This distinguishes it from sibling tools like get_price (current price) and get_order_book.
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 lacks contextual clues about when klines are needed (e.g., historical analysis) or when to prefer other tools like get_price.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_tradesB
Historial de trades tuyos para un simbolo. Requiere firma.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the authentication requirement ('Requiere firma') and user-specific scope ('tuyos'), which are useful behavioral details. However, with no annotations, it lacks disclosure about the return format, result ordering, or read-only nature.
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, with every word serving a purpose. The main action is front-loaded and the additional note about the signature is kept separate and brief.
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 no output schema and no annotations, the description should explain what the tool returns and any output behavior. It only covers the input symbol and auth requirement, leaving limit semantics and return structure missing.
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 clarifies 'symbol' as the trading pair ('para un simbolo'), but provides no meaning for 'limit', leaving a required parameter under-explained.
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: retrieving the user's own trade history for a given symbol. The phrase 'tuyos' (yours) and 'para un simbolo' (for a symbol) specify the scope, differentiating it from siblings like get_account or get_open_orders.
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 only notes that a signature is required, which is an authentication prerequisite rather than a usage criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_open_ordersC
Ordenes abiertas. Si pasas symbol, filtra por ese par.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It discloses one behavior (filtering by symbol), but does not mention auth requirements, pagination, return format, or behavior when no symbol is passed. This is minimal context for a trading 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 extremely concise, consisting of two short sentences. It front-loads the main concept ('Ordenes abiertas') and immediately follows with the filter condition. No redundant words, though the first sentence is a fragment rather than a complete statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is adequate but not complete. It explains the symbol filter but does not state what the return value is, whether it returns all orders for the account, or any limitations. Given the low complexity, it hits the minimum threshold.
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 zero description coverage for the symbol parameter, and the description compensates by explaining its effect: 'Si pasas symbol, filtra por ese par.' This provides clear semantics for the only parameter, though it leaves format specifics to 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 'Ordenes abiertas' is a noun phrase that essentially restates the tool name (get_open_orders), lacking an explicit verb like 'lists' or 'returns.' It does clarify the resource and adds a filter condition, but the core action is implied rather than stated, making it 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?
No guidance is provided about when to use this tool versus alternatives. The description only mentions an optional symbol filter and does not reference sibling tools such as get_my_trades or get_account, nor does it explain use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_bookB
Libro de ordenes (bids/asks) de un simbolo. limit: 5,10,20,50,100,500,1000.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| symbol | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only describes the resource (order book) and valid limit values, but does not mention safety (read-only nature), response format, aggregation behavior, or any other nuances. This is a minimal description that adds little beyond what the tool name suggests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the resource (order book) and then provides the limit options. Every word earns its place; it is concise and efficient with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no annotations and no output schema, the description is adequate but thin. It clearly states the purpose and limit values, but lacks usage guidance and behavioral details. It is minimally viable but leaves gaps such as when to use it and what the response looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It does add meaning for the 'limit' parameter by listing valid values (5,10,20,50,100,500,1000), which is not in the schema. However, it does not explain the 'symbol' parameter beyond the obvious property name, and there are no descriptions for either parameter in the schema itself. Overall, the description partially compensates for the lack of schema descriptions.
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: it retrieves the order book (bids/asks) for a given symbol. This is a specific verb+resource combination that distinguishes it from sibling tools like get_price and get_klines, which serve different data retrieval purposes.
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 does not mention scenarios, prerequisites, or exclusions. While the tool name and description imply it is for order book data, there is no explicit context for when an agent should choose this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_priceA
Precio actual de un simbolo. Ej: symbol='BTCUSDT'.
| 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 burden. It states the function is read-only by nature ('Precio actual'), but it does not disclose any edge cases, response format, or potential errors. For a simple getter, this is adequate but minimal.
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 long, front-loaded with the purpose and including a helpful example. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the return value. It only states 'current price' but does not disclose whether the response is a plain number or a structured object. Given the tool's simplicity, this is a notable gap for 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 0%, so the description must compensate. It provides an example symbol='BTCUSDT', which clarifies the expected format (uppercase base/quote pair). This adds meaningful value beyond the bare property name, though it does not enumerate all possible symbols.
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 returns the current price of a symbol ('Precio actual de un simbolo'). It uses a specific verb and resource, and the example symbol='BTCUSDT' clarifies the expected input. This distinguishes it from sibling tools like get_klines (historical data) and get_order_book.
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 for obtaining current price but does not explicitly contrast with alternatives like get_24h_stats or get_klines. The context is clear enough, but no when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_orderA
Crea una orden de compra/venta. symbol: ej 'BTCUSDT' side: 'BUY' o 'SELL' order_type: 'MARKET' o 'LIMIT' quantity: cantidad del activo base price: requerido solo para LIMIT time_in_force: GTC / IOC / FOK (solo LIMIT)
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| price | No | ||
| symbol | Yes | ||
| quantity | No | ||
| order_type | No | MARKET | |
| time_in_force | No | GTC |
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 mentions parameter constraints (price only for LIMIT, time_in_force only for LIMIT) but does not disclose that placing an order executes a financial transaction, may require permissions/funds, or what happens after submission. No info on idempotency or error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact, bullet-list format covering each parameter succinctly with examples. No redundant or filler content; every line adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is moderately complex with no output schema or annotations. The description covers purpose and parameters well but omits usage context, return values (e.g., order ID), and operational behavior. It is adequate for parameter reference but not fully complete for decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully compensates by explaining each parameter with examples and constraints. It defines symbol, side, order_type, quantity (base asset), price (required only for LIMIT), and time_in_force (GTC/IOC/FOK, only LIMIT), adding meaning beyond the bare 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 'Crea una orden de compra/venta' (creates a buy/sell order), using a specific verb and resource. This distinguishes it from siblings like get_price, cancel_order, and withdraw, as it is the only one that places orders.
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 through the purpose but does not explicitly state when to use this tool versus alternatives (e.g., 'use get_price to check prices before placing an order'). There is no mention of prerequisites, exclusions, or context like market vs limit behavior beyond parameter constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdrawA
Retira fondos a una direccion externa. DESACTIVADO por defecto. Para usarlo: ENABLE_WITHDRAWALS=true y la API key debe tener permiso de retiro. Entende el riesgo antes de activarlo.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | ||
| amount | Yes | ||
| address | Yes | ||
| network | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on full responsibility for behavioral disclosure. It discloses the disabled-by-default state, the required config flag and permission, and a risk warning. However, it omits crucial details like irreversibility of withdrawals and potential failure modes, which would be expected for a high-risk financial operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core action, and then efficiently presents activation and risk context in a few short sentences. Every sentence contributes critical information without redundant 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?
The description covers activation context and risk, which is essential, but fails to describe what happens after a withdrawal is submitted (e.g., response format, transaction confirmation, or irreversibility). Given the absence of an output schema and the high stakes, this is a notable gap.
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 for parameter explanations. It adds only a hint that the address is external, but does not explain coin type, amount units, or the optional network parameter. This leaves substantial ambiguity for the four 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 verb 'Retira fondos' (withdraw funds) and the resource 'direccion externa' (external address), distinguishing this from trading and account tools among siblings. It also uniquely identifies the operation as a withdrawal, making its purpose unmistakable.
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?
Provides explicit activation prerequisites ('DESACTIVADO por defecto', 'ENABLE_WITHDRAWALS=true', API key permission) and a risk warning, effectively telling the agent when the tool can and should be used. This goes beyond typical usage guidance by specifying the condition under which it is disabled.
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
v0.1.0- First observed
cancel_all_orders - First observed
cancel_order - First observed
get_24h_stats - First observed
get_account - First observed
get_klines - First observed
get_my_trades - First observed
get_open_orders - First observed
get_order_book - First observed
get_price - First observed
place_order - First observed
withdraw
TDQS
Each tool targets a distinct resource and action (market data, account, orders, withdrawals). The slight conceptual overlap between get_price and get_24h_stats is easily resolved by their descriptions, and cancel_order vs cancel_all_orders is clearly differentiated by scope.
All tools use a consistent verb_noun snake_case pattern (withdraw, get_price, place_order, cancel_order). Even get_24h_stats fits the convention. No mixed naming styles or ambiguous verbs.
With 11 tools, the server is well-scoped for a Binance trading API: market data queries, account information, order management, and withdrawals are all covered without unnecessary bloat. This is within the ideal range for a focused exchange integration.
The core spot trading lifecycle is well covered: price/klines/order book for market data, account balance/open orders/trades for status, and order placement/cancellation for trading actions. A notable missing piece is a specific get_order_status endpoint, but agents can use open orders or trade history as a workaround. Withdrawal history and deposit info are also absent but not essential for the main use case.
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
Binance - 340 tools for market data, order books, and trading pairs
Trade Robinhood through natural language in Claude Code.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
- Era ContextOAuthapp.era
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to access real-time Binance cryptocurrency market data including prices, order books, candlestick charts, trading history, and 24-hour statistics through natural language queries.21Apache 2.0
- AlicenseDqualityDmaintenanceEnables AI agents to access real-time Binance cryptocurrency market data including prices, order books, candlestick charts, trading history, and 24-hour statistics through natural language queries.12Apache 2.0
- AlicenseNot gradedqualityDmaintenanceProvides over 156 tools to interact with the Binance.com global exchange API for spot trading, wallet management, and staking operations. It enables users to execute orders, retrieve market data, and manage crypto assets through natural language interfaces like Claude and ChatGPT.7734MIT
- AlicenseAqualityDmaintenanceProvides comprehensive Binance trading capabilities through Claude Desktop, including account management, spot and futures trading, market data, and advanced analysis tools.35689MIT
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/Lubodi-Code/binance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server