Binance MCP Server
The Binance MCP Server provides real-time and historical market data streaming for both spot and futures markets via WebSocket.
You can:
Stream real-time market data (trades, tickers, candlesticks, depth, mark price) for specific trading pairs
Retrieve comprehensive market data for spot and futures markets
Subscribe to multiple market data streams simultaneously for real-time updates
Fetch historical candlestick data with customizable intervals
Access futures-specific data including open interest and funding rates
Test endpoints and manage automatic reconnections with exponential backoff
Ensure type-safe message handling with comprehensive error management
Provides real-time market data streaming from Binance, supporting both spot and futures markets. Offers access to trade data, price statistics, order book information, candlestick data, mark prices, funding rates, and open interest information through various endpoints and WebSocket streams.
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 Serversubscribe to BTC/USDT trade and ticker streams on spot market"
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
A Model Context Protocol (MCP) server implementation for Binance market data with WebSocket support.
Features
Real-time market data streaming via WebSocket
Support for both spot and futures markets
Automatic reconnection with exponential backoff
Type-safe message handling
Comprehensive error handling
Related MCP server: Binance MCP Server
Installation
npm installUsage
Starting the Server
npm startWebSocket Stream Types
The following stream types are supported:
trade: Real-time trade dataticker: 24-hour rolling window price change statisticsbookTicker: Best bid/ask price and quantitykline: Candlestick datamarkPrice: Mark price and funding rate (futures only)fundingRate: Funding rate data (futures only)
Example Usage in Claude Desktop
// Subscribe to trade and ticker streams for BTC/USDT
await server.subscribe('BTCUSDT', 'spot', ['trade', 'ticker']);
// Handle incoming data
server.onStreamData('BTCUSDT', 'trade', (data) => {
console.log('New trade:', data);
});Development
Running Tests
npm testBuilding
npm run buildLicense
Private
Available Tools
6 toolsget_futures_funding_rateC
Get current funding rate for a futures trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) |
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. While 'Get' implies a read operation, it doesn't specify whether this is real-time or delayed data, rate limits, authentication requirements, error conditions, or what format the funding rate is returned in. The description is minimal and lacks important 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 communicates the core purpose without any wasted words. It's appropriately sized for a simple tool with one parameter and gets straight to the point with no 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 financial data tool with no annotations and no output schema, the description is insufficient. It doesn't explain what a funding rate is, how it's calculated, what units it's returned in, or what the response structure looks like. The agent would need to guess about important operational details despite the tool's apparent simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, with the 'symbol' parameter well-documented in the schema itself. The description adds no additional parameter information beyond what's already in the schema, so it meets the baseline for high schema coverage but doesn't provide extra value like format examples or validation rules.
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 current funding rate') and resource ('for a futures trading pair'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_futures_open_interest' or 'get_market_data', but the specific focus on funding rates provides implicit 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 'get_futures_open_interest' or 'get_market_data'. It doesn't mention prerequisites, timing considerations, or any context about when funding rate data is needed versus other market metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_futures_open_interestC
Get current open interest for a futures trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) |
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 describe any behavioral traits such as rate limits, authentication requirements, response format, or potential errors. This is inadequate 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 directly states the tool's purpose without any wasted words. It's 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 lack of annotations and output schema, the description is incomplete. It doesn't address what the tool returns (e.g., numerical value, timestamp, additional metadata) or any behavioral aspects like error handling. For a tool with no structured data beyond the input schema, this leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the parameter 'symbol' fully documented in the input schema. The description doesn't add any meaningful semantics beyond what the schema already provides (e.g., it doesn't clarify format constraints or provide examples beyond the schema's 'e.g., BTCUSDT'), 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 action ('Get current open interest') and the resource ('for a futures trading pair'), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_futures_funding_rate' or 'get_market_data', which prevents 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_futures_funding_rate' or 'get_market_data'. There's no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the tool 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
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) | |
| type | Yes | Market type | |
| interval | Yes | Kline/candlestick chart interval | |
| limit | No | Number of klines to retrieve (default 500, max 1000) |
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 'Get historical candlestick data', implying a read-only operation, but doesn't cover aspects like rate limits, authentication needs, error handling, or data freshness, which are critical for a financial data 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 with no wasted words. It's front-loaded with the core purpose, making it easy to scan and understand quickly, which is ideal for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of financial data retrieval and the lack of annotations and output schema, the description is insufficient. It doesn't explain return values, error conditions, or behavioral traits like pagination or data limits, leaving significant gaps for agent 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 schema description coverage is 100%, with all parameters well-documented in the schema itself. The description adds no additional meaning beyond the schema, such as explaining parameter interactions or providing examples, so it meets the baseline for high 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 the resource 'historical candlestick data', which is specific and unambiguous. However, it doesn't distinguish this tool from sibling tools like 'get_market_data' or 'subscribe_market_data', which might also provide market-related information.
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 sibling tools like 'get_market_data' or 'subscribe_market_data', nor does it specify use cases, prerequisites, or exclusions, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_dataC
Get comprehensive market data for a trading pair
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) | |
| type | Yes | Market type |
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 'gets' data, implying a read-only operation, but doesn't cover critical aspects like rate limits, authentication needs, data freshness, or error handling. For a tool with no annotations, 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 fluff. It's appropriately sized and front-loaded, making it easy to parse quickly, with every word contributing to understanding the core function.
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 market data tools and the lack of annotations and output schema, the description is insufficient. It doesn't explain what 'comprehensive market data' includes (e.g., prices, volumes), return formats, or how it differs from siblings. For a tool with no structured behavioral data, 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?
The description adds no specific meaning beyond what the input schema provides. With 100% schema description coverage, the schema already documents both parameters ('symbol' and 'type') clearly, including examples and enums. The description doesn't elaborate on parameter interactions or usage, so it meets the baseline for high schema coverage without adding 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 tool's purpose with a specific verb ('Get') and resource ('comprehensive market data for a trading pair'), making it easy to understand what it does. However, it doesn't explicitly differentiate from sibling tools like 'get_klines' or 'get_futures_funding_rate', which also retrieve market-related data, 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. With siblings like 'get_klines' (likely for historical data) and 'get_futures_funding_rate' (specific to futures), there's no indication of context, prerequisites, or exclusions, leaving the agent to guess 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.
subscribe_market_dataC
Subscribe to real-time market data updates
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) | |
| type | Yes | Market type | |
| streams | Yes | List of data streams to subscribe to |
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 'real-time updates' and 'subscribe,' hinting at a streaming or push-based operation, but fails to detail critical aspects like authentication requirements, rate limits, how to handle or stop subscriptions, or the format of incoming data. This leaves significant gaps for an agent to understand 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 front-loads the core purpose ('subscribe to real-time market data updates') with zero wasted words. It is appropriately sized for the tool's complexity, making it easy to parse and understand quickly without 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?
Given the tool's complexity (involving real-time subscriptions with multiple parameters) and the absence of both annotations and an output schema, the description is incomplete. It lacks details on behavioral traits (e.g., how updates are delivered, error handling), does not explain return values or subscription management, and fails to provide context on when to use it versus siblings. This leaves the agent with insufficient information for effective tool invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, clearly documenting all three parameters with enums and examples. The description adds no additional parameter semantics beyond what the schema provides, such as explaining interactions between parameters or usage nuances. However, with high schema coverage, a baseline score of 3 is appropriate as the schema adequately handles parameter documentation.
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 ('subscribe to') and resource ('real-time market data updates'), making the purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'get_market_data' (which likely retrieves static data), but the 'subscribe' verb implies a continuous stream versus a one-time fetch, providing some implicit 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 explicit guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites (e.g., authentication), frequency of updates, or comparisons to sibling tools like 'get_market_data' for static data. Usage is implied by the verb 'subscribe,' but no when-not-to-use scenarios or clear alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_futures_endpointsD
Test individual futures endpoints
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Trading pair symbol (e.g., BTCUSDT) |
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 but fails to do so. It doesn't indicate whether this is a read/write operation, what it returns, any side effects (e.g., rate limits, authentication needs), or how it interacts with the system. The vague term 'test' offers no actionable behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, vague phrase that is under-specified rather than concise. It lacks front-loaded clarity and fails to earn its place by providing meaningful information. While brief, it doesn't achieve conciseness through efficiency but through omission of essential details.
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 (implied by 'test' and futures endpoints), lack of annotations, and no output schema, the description is completely inadequate. It doesn't explain what 'test' entails, what results to expect, or how it fits with sibling tools, leaving significant gaps for an AI agent to understand and use the tool correctly.
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 no parameter semantics beyond what the input schema provides. Since schema description coverage is 100% (the 'symbol' parameter is documented as 'Trading pair symbol (e.g., BTCUSDT)'), the baseline score is 3. The description doesn't clarify usage, constraints, or examples related to the parameter.
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 'Test individual futures endpoints' is a tautology that essentially restates the tool name 'test_futures_endpoints' without specifying what action is performed. It doesn't identify a specific verb (e.g., validate, ping, verify) or resource (e.g., API endpoints, connectivity), making the purpose vague and indistinguishable from sibling tools like 'get_futures_funding_rate' or 'get_klines'.
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 any context, prerequisites, or exclusions, nor does it reference sibling tools like 'get_market_data' or 'subscribe_market_data' that might serve similar purposes. This leaves the agent with no information to make an informed selection.
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.
6 tool updates
v1.0.0- Added
get_futures_funding_rate - Added
get_futures_open_interest - Added
get_klines - Added
get_market_data - Added
subscribe_market_data - Added
test_futures_endpoints
TDQS
Most tools have distinct purposes, with clear separation between historical data (get_klines), current data (get_market_data, get_futures_funding_rate, get_futures_open_interest), real-time updates (subscribe_market_data), and testing (test_futures_endpoints). However, get_market_data might overlap with the more specific futures tools in scope, causing minor ambiguity.
All tool names follow a consistent verb_noun pattern using snake_case, such as get_futures_funding_rate, subscribe_market_data, and test_futures_endpoints. This predictability makes it easy for agents to understand and use the tools without confusion.
With 6 tools, the count is reasonable for a Binance market data server, covering key areas like historical and real-time data, futures metrics, and testing. It's slightly lean but functional, as it could benefit from more tools for broader market coverage (e.g., spot trading or account management).
The tools provide good coverage for market data retrieval and futures-specific metrics, but there are notable gaps. For a Binance server, missing operations like placing trades, managing orders, or accessing account information limit its completeness, as agents cannot perform full trading workflows.
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
Real-time crypto market data: candles, tickers, orderbooks across 13+ exchanges via MCP.
A Model Context Protocol server for Wix AI tools
A Model Context Protocol (MCP) server for Selise Blocks Cloud integration
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that exposes Binance cryptocurrency exchange data to LLMs, allowing agents to access real-time prices, order books, and historical market data without requiring API keys.20MIT
- 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
- AlicenseAqualityCmaintenanceMCP server for Binance USDT-M Futures trading — exposes tools for market data, account state, order management, and position/margin control.236Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn HTTP-based Model Context Protocol server that provides tools and resources for accessing real-time cryptocurrency data from the Binance API. It enables users to fetch prices, analyze market changes, and track activity via a streamable endpoint.472MIT
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/qeinfinity/binance-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server