Trading Simulator MCP Server
交易模拟器 MCP 服务器
用于与交易模拟器 API 交互的 MCP(模型上下文协议)服务器。该服务器使 Claude 等 AI 模型能够通过兼容 MCP 的接口查询余额、查看价格并执行交易。
特征
该 MCP 服务器通过结构化工具调用提供对交易模拟器操作的访问:
账户操作
获取代币余额
获取投资组合信息
查看交易历史记录
价格操作
获取代币价格
获取代币信息
查看价格历史记录
交易业务
执行代币之间的交易
获取潜在交易的报价
智能代币检测,自动处理链参数
竞赛运营
查看比赛状态
查看排行榜
Related MCP server: Scorched
智能令牌处理
交易模拟器 MCP 包含一个智能代币检测系统,可简化交易执行:
自动链检测:在使用常见代币执行交易时,系统会自动识别适当的区块链(EVM/SVM)和特定链(ETH、BASE 等)参数。
同链优化:同链交易Token时,自动配置同链交易参数。
跨链回退:如果由于代币位于不同链上而导致同链交易失败,系统将优雅地回退到显式参数或服务器端检测。
常见代币支持:系统包含不断增长的常见代币列表及其地址和链信息。
验证
交易模拟器 API 使用 Bearer 令牌身份验证,需要在Authorization标头中传递单个 API 密钥作为 Bearer 令牌。
例子:
Authorization: Bearer your_api_key_here设置
克隆存储库
git clone https://github.com/yourusername/trading-simulator-mcp.git cd trading-simulator-mcp安装依赖项
npm install配置您的 API 凭证(请参阅下面的配置部分)
构建项目
npm run build启动服务器
npm run start
配置
您有两种配置交易模拟器 MCP 服务器的选项:
方法一:在Cursor/Claude中直接配置(推荐)
推荐的方法是直接在 Cursor 或 Claude Desktop 配置中提供环境变量。这种方式更安全,并且无需 .env 文件。
当通过配置提供这些环境变量时,服务器将自动使用这些环境变量。
有关具体设置说明,请参阅下面的“添加到光标”和“添加到 Claude 桌面”部分。
方法 2:使用 .env 文件(后备)
如果您更喜欢使用 .env 文件,或者直接从命令行运行服务器:
使用您的 API 凭证创建一个
.env文件cp .env.example .env使用你的 API 密钥编辑
.env文件TRADING_SIM_API_KEY=your_api_key_here TRADING_SIM_API_URL=http://localhost:3000 DEBUG=false使用限制权限保护你的 .env 文件
chmod 600 .env
环境变量优先级
交易模拟器 MCP 服务器对环境变量使用以下优先顺序:
直接从 JSON 配置提供的环境变量
.env 文件中的环境变量(如果存在且 #1 不可用)
可选变量的默认值(例如,API_URL 默认为“ http://localhost:3000 ”)
添加到光标
要将此 MCP 服务器添加到 Cursor:
首先使用
npm run build构建项目在 Cursor 中,前往“设置”>“MCP 服务器”
点击“添加服务器”
使用以下设置配置服务器:
名称:
Trading Simulator MCP(或您喜欢的任何名称)类型:
command命令:
node参数:
/path/to/trading-sim-mcp/dist/index.js(使用完整路径)环境变量:
TRADING_SIM_API_KEY:您的 API 密钥TRADING_SIM_API_URL:API 服务器 URL(可选)DEBUG:true(可选,用于附加日志记录)
点击“保存”
在游标配置中使用环境变量
为了更加安全,您可以通过主目录中的.cursor/mcp.json文件配置 Cursor:
{
"mcpServers": {
"trading-simulator-mcp": {
"name": "Trading Simulator MCP",
"type": "command",
"command": "node",
"args": ["/path/to/trading-simulator-mcp/dist/index.js"],
"env": {
"TRADING_SIM_API_KEY": "your_api_key_here",
"TRADING_SIM_API_URL": "http://localhost:3000",
"DEBUG": "true"
}
}
}
}这种方法消除了对 .env 文件的需要。
添加到 Claude 桌面
要将此 MCP 服务器添加到 Claude Desktop:
首先使用
npm run build构建项目找到您的 Claude Desktop 配置文件:
在 macOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json在 Windows 上:
%APPDATA%\Claude\claude_desktop_config.json在 Linux 上:
~/.config/Claude/claude_desktop_config.json
创建或编辑
claude_desktop_config.json文件,内容如下:{ "mcpServers": { "trading-simulator-mcp": { "name": "Trading Simulator MCP", "type": "command", "command": "node", "args": [ "/path/to/trading-simulator-mcp/dist/index.js" ], "env": { "TRADING_SIM_API_KEY": "your_api_key_here", "TRADING_SIM_API_URL": "http://localhost:3000", "DEBUG": "true" } } } }将
/path/to/trading-simulator-mcp/dist/index.js替换为已编译服务器文件的完整路径例如:
/Users/username/trading-simulator-mcp/dist/index.js
保存配置文件并重新启动Claude Desktop
如果您遇到 Claude Desktop 的问题,请检查以下日志:
在 macOS 上:
~/Library/Logs/Claude/在 Windows 上:
%USERPROFILE%\AppData\Local\Claude\Logs\在 Linux 上:
~/.local/share/Claude/logs/
重要开发说明
开发 MCP 服务器时,请使用console.error()而不是console.log()进行所有调试和日志记录。Claude 桌面应用和 Cursor 通过 stdout 与服务器通信,因此任何console.log()语句都会干扰此通信并导致 JSON 解析错误。
MCP 工具
该服务器提供以下 MCP 工具:
帐户工具
get_balances- 获取团队的代币余额get_portfolio- 获取您团队的投资组合信息get_trades- 获取你的团队的交易历史记录
价格工具
get_price- 获取代币的当前价格get_token_info- 获取有关令牌的详细信息get_price_history- 获取代币的历史价格数据
交易工具
execute_trade两个代币之间的交易自动检测并分配常见代币的链参数
支持同链交易,无需显式链参数
跨链场景优雅回退
get_quote- 获取潜在交易的报价
竞争工具
get_competition_status- 获取当前比赛的状态get_leaderboard- 获取比赛排行榜
常见代币
该系统包含一个COMMON_TOKENS结构,用于将代币地址映射到其各自的链上。这使得在执行交易时能够自动检测链上的参数。
目前常见的代币包括:
索拉纳(SVM)
USDC:
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vSOL:
So11111111111111111111111111111111111111112
以太坊(EVM)
USDC:
0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48WETH:
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
基础(EVM)
USDC:
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913以太坊:
0x4200000000000000000000000000000000000006
要添加更多常见的标记,您可以扩展types.ts文件中的COMMON_TOKENS对象。
安全注意事项
您的 API 密钥应保持安全,并且绝不要在客户端代码中共享或暴露
在生产环境中连接 API 时始终使用 HTTPS
API 密钥具有执行交易的完全访问权限,因此请妥善保护它
Available Tools
15 toolsexecute_tradeC
Execute a trade between tokens
| Name | Required | Description | Default |
|---|---|---|---|
| fromToken | Yes | Source token address | |
| toToken | Yes | Destination token address | |
| amount | Yes | Amount of fromToken to trade | |
| reason | Yes | Reason for executing this trade | |
| slippageTolerance | No | Optional slippage tolerance percentage (e.g., '0.5' for 0.5%) | |
| fromChain | No | Optional blockchain type for source token | |
| toChain | No | Optional blockchain type for destination token | |
| fromSpecificChain | No | Optional specific chain for source token | |
| toSpecificChain | No | Optional specific chain for destination token |
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 but provides minimal information. 'Execute a trade' implies a write/mutation operation with financial consequences, but the description doesn't disclose critical behaviors: whether this is a live market order, if it requires wallet authentication, what happens on failure (partial fills, reverts), rate limits, or confirmation requirements. For a high-stakes financial tool, this is dangerously inadequate.
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 maximally concise at 5 words with zero waste. It's front-loaded with the core action and doesn't contain any redundant information. While brevity can be problematic for complex tools, this description at least doesn't waste space on tautologies or irrelevant 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?
For a complex financial execution tool with 9 parameters, no annotations, and no output schema, the description is severely incomplete. It doesn't explain what type of trading system this interfaces with, what happens after execution (does it return a transaction hash? confirmation?), error conditions, or security implications. The agent lacks critical context to use this tool safely and effectively despite the detailed parameter schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 9 parameters thoroughly with descriptions and enums. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters (e.g., that fromChain should match fromSpecificChain), doesn't clarify the 'reason' parameter's purpose in the trading context, or provide examples of valid token addresses. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('execute a trade') and resources ('between tokens'), making the purpose immediately understandable. However, it doesn't differentiate this execution tool from the sibling 'get_trades' tool that presumably retrieves trade history, nor does it specify what kind of trading system this is (e.g., DEX, CEX, automated).
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. There's no mention of prerequisites (like needing sufficient balance), no comparison to the 'get_quote' sibling tool that might be used for price estimation before execution, and no indication of whether this is for spot trading, limit orders, or other types. The agent must infer usage context from parameter names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_balancesB
Get token balances for your team
| 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 full burden but only states the basic action. It doesn't disclose behavioral traits such as whether this is a read-only operation, requires authentication, has rate limits, or what the return format looks like, which 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 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 'token balances' entail, the scope of 'your team', or the return format, leaving significant gaps for the agent to understand the tool's behavior and output.
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 information is needed. The description doesn't add parameter details, but this is acceptable given the schema's completeness, warranting a baseline score above 3 for this context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('token balances for your team'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_portfolio' or 'get_profile' that might also involve balance-related information, 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. It doesn't mention prerequisites, context, or comparisons to siblings like 'get_portfolio' or 'get_trades', leaving the agent with minimal usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_competition_rulesB
Get the rules and configuration details for the competition
| 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 the full burden of behavioral disclosure. It states this is a read operation ('Get'), implying it's non-destructive, but doesn't address other traits like authentication requirements, rate limits, error conditions, or what happens if no competition exists. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core action ('Get') and resource, making it easy to parse. Every part of the sentence earns its place by conveying essential 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?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavioral traits, usage context, or output format. Without annotations or output schema, the agent won't know what the return value looks like (e.g., structured rules vs. raw text), which is a notable gap for a 'get' operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate. A baseline of 4 is applied since there are no parameters to document, and the description doesn't mislead about inputs.
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 'rules and configuration details for the competition', making the purpose unambiguous. It distinguishes this from siblings like get_competition_status (which likely returns status rather than rules) and get_leaderboard (which returns rankings). However, it doesn't specify whether this retrieves all rules or a subset, 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. It doesn't mention prerequisites (e.g., whether the competition must be active), exclusions, or comparisons to siblings like get_competition_status. The agent must infer usage from the tool name alone, which is insufficient for optimal selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_competition_statusC
Get the status of the current competition
| 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 the full burden of behavioral disclosure. It states a read operation ('Get'), implying it's likely non-destructive, but doesn't clarify aspects like authentication needs, rate limits, error conditions, or what the return format might be (e.g., JSON structure, possible values). This is a significant gap 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, clear sentence with no wasted words. It's front-loaded with the core purpose and efficiently communicates the tool's intent without unnecessary elaboration, 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 explain what 'status' means (e.g., whether it returns a simple string, structured data, or includes metadata), nor does it cover behavioral aspects like error handling. For a tool with no structured data beyond the input schema, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, but it also doesn't provide any extra context about inputs (e.g., implied defaults). Baseline is 4 for zero parameters, as the schema fully handles the lack of inputs.
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 the status of the current competition' clearly states the action (get) and target resource (competition status), which is adequate. However, it doesn't differentiate from sibling tools like 'get_competition_rules' or 'get_leaderboard', leaving the specific scope of 'status' ambiguous compared to those alternatives.
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_competition_rules' or 'get_leaderboard'. It lacks context about what 'status' entails (e.g., active/inactive, time remaining, participant count) or prerequisites, leaving the agent to infer usage based on 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_detailed_healthB
Detailed health check with information about all services
| 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 full burden for behavioral disclosure. While it indicates this is a read operation (health check), it doesn't describe what 'detailed' means, whether it requires authentication, what format the information comes in, potential rate limits, or error conditions. The description is too vague about actual 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 communicates the core purpose without any wasted words. It's appropriately sized for a zero-parameter tool and gets straight to the point with no fluff or 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 zero-parameter health check tool with no output schema, the description provides basic purpose but lacks important context. It doesn't explain what 'detailed' means compared to the sibling 'get_health', what format the health information returns, or what constitutes 'all services'. The absence of annotations means the description should do more heavy lifting.
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 with 100% schema description coverage, so the schema fully documents the parameter situation. The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose rather than unnecessary parameter 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 clearly states the tool's purpose: performing a 'detailed health check' that provides 'information about all services'. It uses specific verbs ('check', 'information about') and identifies the resource ('services'), though it doesn't explicitly differentiate from its sibling 'get_health' tool.
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. There's no mention of when to choose this over the simpler 'get_health' sibling tool, nor any context about prerequisites, timing, or 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_healthB
Basic health check for the trading simulator API
| 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 the full burden of behavioral disclosure. It states this is a 'basic health check', implying a read-only, non-destructive operation that likely returns API status. However, it doesn't specify what 'basic' entails (e.g., uptime, latency, error rates), response format, or any rate limits or authentication needs. The description adds minimal context beyond the name.
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 front-loaded with the core function ('basic health check') and specifies the target ('trading simulator API'). Every part of the sentence earns its place, 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 simplicity (0 parameters, no output schema, no annotations), the description is incomplete. It doesn't explain what 'basic health check' returns (e.g., status codes, metrics) or how it differs from 'get_detailed_health'. For a health check tool, understanding the output is critical, but the description lacks this context, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't mention parameters, which is appropriate. Since there are no parameters to explain, the baseline score is 4, as the description doesn't need to compensate for any gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as a 'basic health check for the trading simulator API', which includes both the verb ('health check') and resource ('trading simulator API'). However, it doesn't explicitly differentiate from its sibling 'get_detailed_health', which appears to be a more comprehensive alternative. The purpose is specific but lacks sibling 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_detailed_health' or other sibling tools. It doesn't mention prerequisites, timing, or exclusions. The agent must infer usage from the name and context 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_leaderboardC
Get the competition leaderboard
| Name | Required | Description | Default |
|---|---|---|---|
| competitionId | No | Optional competition ID (if not provided, the active competition is used) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'Get' implying a read operation, but doesn't disclose behavioral traits such as whether it requires authentication, has rate limits, returns paginated results, or what happens if no competition is active. This leaves significant gaps for a tool that likely involves data retrieval.
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 a single sentence, 'Get the competition leaderboard', which is front-loaded and wastes no words. It efficiently conveys the core purpose without unnecessary elaboration, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a leaderboard tool (likely involving rankings, scores, or participants), no annotations, and no output schema, the description is incomplete. It doesn't explain what the leaderboard contains, how results are structured, or any behavioral aspects like error handling. This leaves the agent with insufficient information for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the parameter 'competitionId' documented as optional and defaulting to the active competition. The description adds no additional meaning beyond this, as it doesn't mention parameters at all. With high schema coverage, the baseline score of 3 is appropriate, as the schema adequately handles parameter semantics.
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 the competition leaderboard' clearly states the action (get) and resource (competition leaderboard), but it's somewhat vague about what 'leaderboard' entails (e.g., rankings, scores, participants). It distinguishes from siblings like 'get_competition_status' or 'get_competition_rules' by focusing on rankings, but lacks specificity on scope or format.
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. For example, it doesn't mention if this is for active competitions only, how it relates to 'get_competition_status' or 'get_portfolio', or any prerequisites. The description alone offers no usage context beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_portfolioC
Get portfolio information for your team
| 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 the full burden. It implies a read operation ('Get'), but doesn't disclose behavioral traits such as authentication needs, rate limits, data freshness, or what 'portfolio information' entails (e.g., format, scope). This leaves significant gaps for an agent.
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 and appropriately sized for a simple tool, 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 tool's simplicity (0 parameters, no output schema), the description is minimal but insufficient. It lacks details on what 'portfolio information' includes, how it's structured, or any behavioral context, which is needed for completeness even without complex schema elements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description doesn't need to compensate for missing param info, but it doesn't add extra value beyond stating the tool's purpose.
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 portfolio information for your team' states a clear verb ('Get') and resource ('portfolio information'), but it's vague about what specific information is retrieved (e.g., holdings, performance, allocations) and doesn't distinguish from siblings like 'get_balances' or 'get_trades'. It's adequate but lacks specificity.
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_balances' or 'get_trades', nor does it mention any prerequisites or context for usage. It's a basic statement with no comparative or exclusionary information.
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 token
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address | |
| chain | No | Optional blockchain type | |
| specificChain | No | Optional specific chain for EVM tokens |
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 'Get[s] the current price', implying a read-only operation, but doesn't disclose any behavioral traits such as rate limits, data sources, freshness of prices, error conditions, or response format. This is a significant gap for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that 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 explain what 'current price' means (e.g., in what currency, from which source), nor does it describe the return values or potential errors. For a tool with no structured behavioral data, this leaves significant gaps in understanding how to use it effectively.
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 meaning beyond what the input schema provides. With 100% schema description coverage, the schema already documents all parameters (token, chain, specificChain) with descriptions and enums. The baseline score of 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate with additional context like examples or parameter interactions.
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 ('current price for a token'), making it easy to understand what it does. However, it doesn't distinguish itself from sibling tools like 'get_quote' or 'get_token_info', which might also provide price-related information, so it doesn't reach the highest score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_quote' or 'get_price_history', nor does it specify use cases or prerequisites, 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_price_historyC
Get historical price data for a token
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address | |
| startTime | No | Start time as ISO timestamp | |
| endTime | No | End time as ISO timestamp | |
| interval | No | Time interval for price points | |
| chain | No | Optional blockchain type | |
| specificChain | No | Optional specific chain for EVM tokens |
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 what the tool does but lacks critical behavioral details: it doesn't specify the return format (e.g., array of price points), data sources, rate limits, authentication requirements, or error handling. For a tool with 6 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 sentence that front-loads the core purpose without unnecessary words. Every part of the sentence earns its place by specifying the action, data type, and target resource. No structural issues or redundancy are present.
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 (6 parameters, no output schema, no annotations), the description is incomplete. It lacks details on return values, data format, limitations (e.g., date ranges supported), and behavioral context. While the schema covers parameters well, the overall context for effective tool use is insufficient, especially for a data retrieval tool with multiple options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all parameters well-documented in the schema itself (e.g., 'token address', 'ISO timestamp', 'time interval'). The description adds no additional parameter semantics beyond the schema, as it doesn't explain parameter interactions, defaults, or usage examples. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('historical price data for a token'), making the purpose immediately understandable. It distinguishes this from sibling tools like 'get_price' (which likely provides current price) by specifying historical data. However, it doesn't explicitly differentiate from other historical data tools if they existed, though none are present in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While it implies usage for historical price retrieval, it doesn't mention when to choose this over 'get_price' (for current prices) or other tools like 'get_token_info' (which might include some price data). No exclusions, prerequisites, or context for selection are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileC
Get your team's profile information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states it's a 'Get' operation, implying read-only behavior, but doesn't specify authentication requirements, rate limits, error conditions, or what happens if no team profile exists. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It's front-loaded with the core purpose. While it could be more informative, it's appropriately concise for a simple tool, earning a high score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'profile information' includes (e.g., team name, members, settings) or the return format. For a tool with no structured output documentation, the description should provide more context about what to expect from the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100% (though trivial since there are no parameters). The description doesn't need to add parameter semantics, and it appropriately doesn't mention any. With no parameters, the baseline is 4 as it avoids unnecessary complexity.
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 your team's profile information' clearly states the action (Get) and resource (team's profile information), but it's somewhat vague about what specific profile information is retrieved. It doesn't differentiate from sibling tools like 'get_health' or 'get_detailed_health' which might also provide profile-related data. The purpose is understandable but lacks specificity.
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_health', 'get_detailed_health', and 'update_profile', there's no indication of what makes this tool distinct or when it's the appropriate choice. Usage is implied by the name but not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteC
Get a quote for a potential trade
| Name | Required | Description | Default |
|---|---|---|---|
| fromToken | Yes | Source token address | |
| toToken | Yes | Destination token address | |
| amount | Yes | Amount of fromToken to potentially trade | |
| fromChain | No | Optional blockchain type for source token | |
| toChain | No | Optional blockchain type for destination token | |
| fromSpecificChain | No | Optional specific chain for source token | |
| toSpecificChain | No | Optional specific chain for destination token |
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 this gets a quote for a 'potential' trade, implying it's a read-only estimation, but doesn't specify if it's a simulation, whether it requires authentication, has rate limits, or what the output format might be. This leaves significant gaps for a tool with 7 parameters.
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 appropriately sized for a tool with a straightforward purpose, though it could benefit from additional context.
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 (7 parameters, no annotations, no output schema), the description is insufficient. It doesn't explain what a 'quote' entails (e.g., exchange rate, fees, slippage), how results are returned, or error conditions. For a financial tool with multiple parameters, this leaves too much undefined.
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-specific information beyond what's already in the schema (which has 100% coverage). It doesn't explain relationships between parameters (e.g., how 'fromChain' interacts with 'fromSpecificChain') or provide usage examples. With high schema coverage, the baseline is 3, but no extra value is added.
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 a quote') and the resource ('for a potential trade'), making the purpose understandable. However, it doesn't distinguish this tool from sibling tools like 'get_price' or 'execute_trade' that might also relate to trading operations, 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. It doesn't mention that this is for pre-trade estimation (vs. 'execute_trade' for actual execution) or how it differs from price-related tools like 'get_price'. There's no context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_infoC
Get detailed information about a token
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token address | |
| chain | No | Optional blockchain type | |
| specificChain | No | Optional specific chain for EVM tokens |
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 but only states what the tool does, not how it behaves. It doesn't mention whether this is a read-only operation, what kind of information is returned, potential rate limits, authentication requirements, or error conditions. For a tool with 3 parameters and no annotation coverage, this is inadequate.
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 gets straight to the point with zero wasted words. It's appropriately sized for a tool with this level of complexity and front-loads the essential 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?
Given the tool has 3 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what 'detailed information' means in terms of return values, doesn't address behavioral aspects like read/write nature or error handling, and provides no context about when to use this versus 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?
With 100% schema description coverage, the input schema already documents all parameters thoroughly. The description doesn't add any meaningful context about parameter usage beyond what's in the schema. The baseline score of 3 reflects adequate but unenhanced 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 verb 'Get' and the resource 'detailed information about a token', making the purpose immediately understandable. However, it doesn't differentiate this tool from potential siblings like 'get_price' or 'get_balances' that might also provide token-related information, 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. With siblings like 'get_price', 'get_balances', and 'get_portfolio' that might overlap with token information, there's no indication of what makes this tool distinct or when it should be preferred over those other options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tradesC
Get trade history for your team
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of trades to retrieve (default: 20) | |
| offset | No | Offset for pagination | |
| token | No | Filter by token address | |
| chain | No | Filter by blockchain type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It doesn't disclose whether this requires authentication, what format the history returns, if there are rate limits, or how 'your team' is defined. The description states what it does but not how it 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, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a straightforward retrieval 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?
For a tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what 'trade history' includes, how results are structured, or any behavioral constraints. The agent would need to guess about authentication, return format, and team 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 100%, so the schema fully documents all 4 parameters. The description adds no parameter-specific information beyond implying trade history retrieval. This meets the baseline of 3 when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and resource ('trade history for your team'), making the purpose immediately understandable. It doesn't explicitly differentiate from siblings like get_portfolio or get_balances, but the focus on trade history is specific enough for basic understanding.
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_portfolio (which might include trade data) or get_price_history (which tracks price rather than trades). There's no mention of prerequisites, context, or comparison with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_profileC
Update your team's profile information
| Name | Required | Description | Default |
|---|---|---|---|
| contactPerson | No | New contact person name | |
| metadata | No | Agent metadata with ref, description, and social information |
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 'Update' implies a mutation operation, the description doesn't specify permission requirements, whether changes are reversible, what happens to existing fields not mentioned, rate limits, or error conditions. For a mutation tool with zero annotation coverage, this is insufficient.
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 unnecessary words. It's appropriately sized and front-loaded with the essential 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 mutation tool with no annotations and no output schema, the description is inadequate. It doesn't explain what constitutes a successful update, what gets returned, error handling, or the relationship with the sibling 'get_profile' tool. The agent lacks sufficient context to use this tool effectively.
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 mentions 'profile information' which aligns with the two parameters (contactPerson and metadata), but adds no specific meaning beyond what the schema already provides. With 100% schema description coverage, the baseline score of 3 is appropriate since the schema fully documents 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 ('Update') and resource ('your team's profile information'), providing specific verb+resource pairing. However, it doesn't distinguish this tool from its sibling 'get_profile' beyond the obvious update vs. get difference, missing explicit differentiation about scope or capabilities.
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. There's no mention of prerequisites, appropriate contexts, or comparison with the sibling 'get_profile' tool. The agent receives no usage direction beyond the basic action.
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.
15 tool updates
- First observed
execute_trade - First observed
get_balances - First observed
get_competition_rules - First observed
get_competition_status - First observed
get_detailed_health - First observed
get_health - First observed
get_leaderboard - First observed
get_portfolio - First observed
get_price - First observed
get_price_history - First observed
get_profile - First observed
get_quote - First observed
get_token_info - First observed
get_trades - First observed
update_profile
TDQS
Scored across 15 tools
Most tools have distinct purposes, but there is some potential confusion between get_health and get_detailed_health, as both relate to health checks. Additionally, get_quote and execute_trade are closely related in the trading workflow, but their descriptions clarify that one is for quoting and the other for execution.
All tools follow a consistent verb_noun naming pattern, primarily using 'get_' for retrieval operations and 'execute_' or 'update_' for actions. This uniformity makes the tool set predictable and easy to navigate for an agent.
With 15 tools, the server is well-scoped for a trading simulator, covering essential functions like trading, portfolio management, competition details, and data retrieval. Each tool appears to serve a specific purpose without redundancy.
The tool set covers core trading operations (e.g., execute_trade, get_quote, get_balances) and competition features (e.g., get_leaderboard, get_competition_status), but lacks tools for modifying competition entries or managing tokens beyond retrieval. Minor gaps exist, but agents can likely work around them.
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
Related MCP Servers
AlicenseAqualityCmaintenanceAn MCP server that enables Claude and Gemini CLI to interact with Hummingbot for automated cryptocurrency trading across multiple exchanges.1159Apache 2.0- AlicenseNot gradedqualityCmaintenanceAn MCP server that lets you talk to your AI trading assistant in plain English to research stocks, generate trade recommendations, manage a portfolio, and execute trades through natural language.MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants like Claude with direct access to MetaAPI trading platform. Trade forex, stocks, and commodities through natural language conversations.1-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives Claude direct access to TradersPost webhook trading. Send trade signals, inspect strategy configs, query trade history, and monitor positions.MIT