Skip to main content
Glama
recallnet

Trading Simulator MCP Server

by recallnet

트레이딩 시뮬레이터 MCP 서버

트레이딩 시뮬레이터 API와 상호 작용하는 MCP(모델 컨텍스트 프로토콜) 서버입니다. 이 서버를 통해 클로드와 같은 AI 모델이 MCP 호환 인터페이스를 통해 잔액 확인, 가격 확인 및 거래 실행을 수행할 수 있습니다.

특징

이 MCP 서버는 구조화된 도구 호출을 통해 트레이딩 시뮬레이터 작업에 대한 액세스를 제공합니다.

  • 계정 운영

    • 토큰 잔액 받기

    • 포트폴리오 정보를 얻으세요

    • 거래 내역 보기

  • 가격 운영

    • 토큰 가격 받기

    • 토큰 정보 가져오기

    • 가격 내역 보기

  • 거래 운영

    • 토큰 간 거래 실행

    • 잠재적 거래에 대한 견적을 받으세요

    • 체인 매개변수를 자동으로 처리하는 스마트 토큰 감지

  • 경쟁 운영

    • 경쟁 현황 확인

    • 리더보드 순위 보기

Related MCP server: Scorched

스마트 토큰 처리

트레이딩 시뮬레이터 MCP에는 거래 실행을 간소화하는 지능형 토큰 감지 시스템이 포함되어 있습니다.

  • 자동 체인 감지 : 일반 토큰으로 거래를 실행할 때 시스템은 자동으로 적절한 블록체인(EVM/SVM)과 특정 체인(ETH, BASE 등) 매개변수를 식별합니다.

  • 동일 체인 최적화 : 동일 체인에서 토큰을 거래할 때, 동일 체인 거래에 대한 매개변수가 자동으로 구성됩니다.

  • 크로스체인 폴백 : 토큰이 서로 다른 체인에 있어 동일 체인 거래가 실패하면 시스템은 명시적 매개변수나 서버 측 감지로 자연스럽게 폴백합니다.

  • 공통 토큰 지원 : 이 시스템에는 주소와 체인 정보가 포함된 공통 토큰 목록이 계속 늘어나고 있습니다.

입증

트레이딩 시뮬레이터 API는 Bearer 토큰 인증을 사용하며, Authorization 헤더에 Bearer 토큰으로 전달된 단일 API 키가 필요합니다.

예:

지엑스피1

설정

  1. 저장소를 복제합니다

    git clone https://github.com/yourusername/trading-simulator-mcp.git
    cd trading-simulator-mcp
  2. 종속성 설치

    npm install
  3. API 자격 증명을 구성하세요(아래 구성 섹션 참조)

  4. 프로젝트를 빌드하세요

    npm run build
  5. 서버를 시작합니다

    npm run start

구성

트레이딩 시뮬레이터 MCP 서버를 구성하는 데는 두 가지 옵션이 있습니다.

방법 1: Cursor/Claude에서 직접 구성(권장)

권장되는 방법은 Cursor 또는 Claude Desktop 설정에서 환경 변수를 직접 제공하는 것입니다. 이렇게 하면 보안이 강화되고 .env 파일이 필요하지 않습니다.

  • 구성을 통해 이러한 환경 변수가 제공되는 경우 서버는 자동으로 이러한 환경 변수를 사용합니다.

  • 구체적인 설정 지침은 아래의 "커서에 추가" 및 "Claude Desktop에 추가" 섹션을 참조하세요.

방법 2: .env 파일 사용(대체)

.env 파일을 사용하거나 명령줄에서 직접 서버를 실행하는 경우:

  1. API 자격 증명으로 .env 파일을 만듭니다.

    cp .env.example .env
  2. API 키로 .env 파일을 편집하세요

    TRADING_SIM_API_KEY=your_api_key_here
    TRADING_SIM_API_URL=http://localhost:3000
    DEBUG=false
  3. 제한된 권한으로 .env 파일을 보호하세요

    chmod 600 .env

환경 변수 우선 순위

트레이딩 시뮬레이터 MCP 서버는 환경 변수에 대해 다음과 같은 우선 순위를 사용합니다.

  1. JSON 구성에서 직접 제공되는 환경 변수

  2. .env 파일의 환경 변수(존재하고 #1을 사용할 수 없는 경우)

  3. 선택적 변수의 기본값(예: API_URL은 기본적으로 " http://localhost:3000 "으로 설정됨)

커서에 추가

이 MCP 서버를 Cursor에 추가하려면:

  1. 먼저 npm run build 로 프로젝트를 빌드하세요.

  2. 커서에서 설정 > MCP 서버로 이동합니다.

  3. "서버 추가"를 클릭하세요

  4. 다음 설정으로 서버를 구성하세요.

    • 이름 : 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 (선택 사항, 추가 로깅용)

  5. "저장"을 클릭하세요

커서 구성에서 환경 변수 사용

보안을 강화하려면 홈 디렉토리의 .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 Desktop에 추가

Claude Desktop에 이 MCP 서버를 추가하려면:

  1. 먼저 npm run build 로 프로젝트를 빌드하세요.

  2. 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

  3. 다음 내용으로 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"
          }
        }
      }
    }
  4. /path/to/trading-simulator-mcp/dist/index.js 컴파일된 서버 파일의 전체 경로로 바꾸세요.

    • 예: /Users/username/trading-simulator-mcp/dist/index.js

  5. 구성 파일을 저장하고 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 Desktop 앱과 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: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v

  • 솔: So11111111111111111111111111111111111111112

이더리움(EVM)

  • USDC: 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48

  • WETH: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2

베이스(EVM)

  • USDC: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

  • 이더리움: 0x4200000000000000000000000000000000000006

더 일반적인 토큰을 추가하려면 types.ts 파일에서 COMMON_TOKENS 객체를 확장하면 됩니다.

보안 고려 사항

  • API 키는 안전하게 보관해야 하며 클라이언트 측 코드에서 공유되거나 노출되어서는 안 됩니다.

  • 프로덕션 환경에서 API에 연결할 때는 항상 HTTPS를 사용하세요.

  • API 키는 거래를 실행하기 위한 전체 액세스 권한을 가지고 있으므로 이에 따라 보호해야 합니다.

Available Tools

15 tools
execute_tradeC

Execute a trade between tokens

ParametersJSON Schema
NameRequiredDescriptionDefault
fromTokenYesSource token address
toTokenYesDestination token address
amountYesAmount of fromToken to trade
reasonYesReason for executing this trade
slippageToleranceNoOptional slippage tolerance percentage (e.g., '0.5' for 0.5%)
fromChainNoOptional blockchain type for source token
toChainNoOptional blockchain type for destination token
fromSpecificChainNoOptional specific chain for source token
toSpecificChainNoOptional specific chain for destination token

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
competitionIdNoOptional competition ID (if not provided, the active competition is used)

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken address
chainNoOptional blockchain type
specificChainNoOptional specific chain for EVM tokens

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken address
startTimeNoStart time as ISO timestamp
endTimeNoEnd time as ISO timestamp
intervalNoTime interval for price points
chainNoOptional blockchain type
specificChainNoOptional specific chain for EVM tokens

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose3/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
fromTokenYesSource token address
toTokenYesDestination token address
amountYesAmount of fromToken to potentially trade
fromChainNoOptional blockchain type for source token
toChainNoOptional blockchain type for destination token
fromSpecificChainNoOptional specific chain for source token
toSpecificChainNoOptional specific chain for destination token

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken address
chainNoOptional blockchain type
specificChainNoOptional specific chain for EVM tokens

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of trades to retrieve (default: 20)
offsetNoOffset for pagination
tokenNoFilter by token address
chainNoFilter by blockchain type

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
contactPersonNoNew contact person name
metadataNoAgent metadata with ref, description, and social information

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

  1. 15 tool updates
    • First observedexecute_trade
    • First observedget_balances
    • First observedget_competition_rules
    • First observedget_competition_status
    • First observedget_detailed_health
    • First observedget_health
    • First observedget_leaderboard
    • First observedget_portfolio
    • First observedget_price
    • First observedget_price_history
    • First observedget_profile
    • First observedget_quote
    • First observedget_token_info
    • First observedget_trades
    • First observedupdate_profile

TDQS

B3.3/5.0

Scored across 15 tools

Disambiguation4/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables Claude and Gemini CLI to interact with Hummingbot for automated cryptocurrency trading across multiple exchanges.
    11
    59
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude direct access to TradersPost webhook trading. Send trade signals, inspect strategy configs, query trade history, and monitor positions.
    MIT