@segnals/mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@segnals/mcpHow are my bots performing?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@segnals/mcp
Manage your Segnals trading bots, strategies, PnL, and the strategy marketplace from any AI agent (Claude, Cursor, Claude Code, Windsurf, Copilot, etc.) โ securely, by just talking.
Built by Segnals ยท Secure Algorithmic Trading Ecosystem
Table of Contents
Related MCP server: vibetrader-mcp
See It in Action
Here is how a conversation with an MCP-enabled agent flows:
Use Case 1: Checking Portfolio Performance
User: How are my bots performing this month?
Agent: (Calls
segnals_get_pnl_summary)Agent: You have 3 active bots running. For the current calendar month:
Total Net PnL: +$245.50 (+3.4% account gain)
Win Rate: 68% (17 winning trades, 8 losing trades)
Drawdown: 1.2% maximum
Top Performer: Trend Scalper Gold (+$180.20 PnL)
Use Case 2: Strategy Creation with Two-Step Confirmation Gate
User: Set up a new Conservative EURUSD Forex bot with 2:1 Reward ratio.
Agent: (Calls
segnals_create_strategywithconfirm: false)Agent: โ Preview Strategy Configuration:
Name: Conservative EURUSD Trend
Symbol: EURUSD
Asset Class: Forex (MetaTrader 5)
Leverage: 1:30
Risk Parameters: Stop Loss = 20 pips, Take Profit = 40 pips (2:1 Ratio)
Estimated Drawdown Warning: 1.5%
To proceed and save this bot to your dashboard, please reply with "confirm".
User: Confirm
Agent: (Calls
segnals_create_strategywithconfirm: true)Agent: โ Strategy has been created successfully. You can find it on your dashboard or manage it here by asking me to list your bots.
What Is This? / What Is Segnals?
Segnals is an institutional-grade, multi-tenant algorithmic trading and AI ecosystem. It enables retail traders and quants to write, backtest, and deploy high-frequency trading (HFT) bots across cryptocurrency exchanges (via CCXT) and Forex brokers (via a custom MetaTrader 5 Redis bridge).
The Segnals MCP Server is a thin, secure gateway designed for the Model Context Protocol (MCP). It exposes a set of strictly typed developer APIs as tools to large language models (LLMs). This allows AI agents to read trading statistics, create strategies, modify parameters, and manage marketplace listings on behalf of the user, using secure, cryptographically hashed user keys.
๐ Security Boundaries (Can / Can't Do)
WHAT IT CAN DO:
Fetch account balance, statistics, and historical PnL logs.
List, query, and monitor active trading bot statuses.
Create, modify, start, stop, restart, or delete trading bots.
Browse the Strategy Marketplace and copy/purchase strategies.
Modify notification preferences and query market prices/sentiment.
WHAT IT CANNOT DO (Strict Hard Exclusions):
โ No Fund Movement: Cannot deposit, withdraw, or transfer funds.
โ No Secret Retrieval: Cannot read, export, or enter API secrets for Bybit/MetaTrader 5. All exchange secrets are configured exclusively in the web dashboard.
โ No Administrative Overrides: Cannot modify user profile settings, credentials, passwords, or emails.
Features & Capability Overview
The server exposes 36 distinct tools structured across the following trading features:
Account & Meta: Retrieve subscription tiers, feature flags, active limitations, and system statuses.
Stats & Drawdowns: Access current balance, historical performance analytics, and trade-by-trade logs.
Life Cycle Control: Create, update, start, stop, restart, and delete bots.
Forex & MT5: Inspect broker connectivity and Metatrader 5 account status.
Indicators & Filters: Bind custom filters (e.g. Bias Engine, Bollinger, EMA cross) to strategy pipelines.
Copy Trading & Marketplace: Browse listings, copy paid or free strategies, and manage public offerings.
Market Feed & Knowledge: Query real-time prices, fetch sentiment rankings, and search onboarding guides.
For inputs, outputs, and JSON examples for each tool, see the Tool Reference Guide.
Quickstart (60 Seconds)
1. Get an API Key
Log in to your dashboard at segnals.com, navigate to Settings โ API Keys, generate a key, and select the desired scopes (e.g., read:account, read:bots). Copy the token (sk_live_... or sk_test_...).
2. Configure Claude Desktop
Open your Claude Desktop configuration file (see location directories below) and add the server:
{
"mcpServers": {
"segnals-mcp": {
"command": "npx",
"args": ["-y", "@segnals/mcp"],
"env": {
"SEGNALS_API_KEY": "sk_live_your_actual_key_here"
}
}
}
}3. Verify Connection
Restart Claude Desktop and ask the agent:
"Use segnals_whoami to verify who I am connected as on Segnals."
Getting Your API Key (Onboarding)
To integrate your agent with your account, you must mint a Developer API Key:
Navigate to Settings โ API Keys on your dashboard.
Click Generate Key and assign a descriptive label.
Select Scopes: It is recommended to choose only read-only scopes (
read:account,read:stats,read:bots) for your first setup. Add write permissions as needed.Specify an optional IP allowlist or expiration date if desired.
Click Generate.
Copy Token: Copy the displayed token (
sk_live_...) immediately. It will only be shown once.
API Key Safety: NEVER paste your raw API key in a chat prompt. Agents might accidentally save it or leak it in subsequent sessions. Always inject keys securely through environment variables (SEGNALS_API_KEY) as shown in the configurations.
For more details, see the Onboarding Guide.
Installation
You can run the Segnals MCP server using three methods:
Method A: npx (Recommended)
This is the simplest way to run the server. It will download and run the latest version automatically:
export SEGNALS_API_KEY=sk_live_your_key_here
npx -y @segnals/mcpMethod B: From Source (For Developers)
Requires Node.js >= 18.
git clone https://github.com/eidostein/segnals-mcp.git
cd segnals-mcp
npm ci
npm run build
export SEGNALS_API_KEY=sk_live_your_key_here
node dist/index.jsMethod C: Docker
We maintain a public Docker image on GHCR:
docker run --rm -it -e SEGNALS_API_KEY=sk_live_your_key_here ghcr.io/eidostein/segnals-mcp:latestClient Configuration
The server runs on standard input/output (stdio) streams. Depending on your editor or chat interface, add the following configuration:
1. Claude Desktop
File locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add this entry to your mcpServers object:
{
"mcpServers": {
"segnals-mcp": {
"command": "npx",
"args": ["-y", "@segnals/mcp"],
"env": {
"SEGNALS_API_KEY": "${env:SEGNALS_API_KEY}"
}
}
}
}(Note: Replace ${env:SEGNALS_API_KEY} with your actual key or define it in your shell profile).
2. Cursor
Navigate to Settings โ Features โ MCP:
Click + Add New MCP Server.
Name:
segnalsType:
commandCommand:
npx -y @segnals/mcpEnvironment Variables: Key =
SEGNALS_API_KEY, Value =sk_live_...
3. Claude Code (CLI)
Install and connect directly from the command line:
claude mcp add segnals-mcp -- npx -y @segnals/mcpFor more details, see the Configuration Guide.
Authentication & Scopes
The server utilizes scoped access tokens to restrict API permissions. The following scopes can be bound to your API key:
Scope | Category | Description / Enforced Permissions |
| Account | Access account profiles, billing details, and subscription tiers. |
| Performance | View PnL statistics, drawdown ratios, and trade logs. |
| Bots | View current active/inactive trading bots and their configs. |
| Bots | Create, configure, and modify trading bots. |
| Bots | Start, stop, restart, and delete trading bots. |
| Strategies | Save and update trading strategy configurations. |
| Marketplace | Search public listings and view pricing details. |
| Marketplace | Publish strategies and manage personal marketplace offerings. |
| Market Feed | Retrieve news tickers, sentiment ratings, and market indicators. |
| Support | Query internal support knowledge base documents. |
| Notifications | Fetch and save bot alerts and channel preferences. |
For detailed information, see the Authentication Documentation.
Tool Reference
The following table summarizes the 36 tools exposed by the Segnals MCP server:
Tool Name | Operation | Description | Required Scope | Confirmation |
| Read | Fetch current user details and verification status. |
| No |
| Read | List active features and system constraints. |
| No |
| Read | Fetch active subscription end dates and details. |
| No |
| Read | Retrieve active trading account summaries and configurations. |
| No |
| Read | Access overview dashboard counters. |
| No |
| Read | Retrieve PnL summaries, drawdown, and win rates. |
| No |
| Read | Analyze a specific bot's performance metrics. |
| No |
| Read | Retrieve historical trade executions. |
| No |
| Read | List saved broker and exchange connection status. |
| No |
| Read | List all user bots. |
| No |
| Read | Retrieve config parameters for a specific bot. |
| No |
| Read | Read output log files for a specific bot. |
| No |
| Read | Fetch parameters schema validation rules. |
| No |
| Write | Spawn a new trading bot. |
| โ Yes |
| Write | Modify configurations for an existing bot. |
| โ Yes |
| Control | Remove a bot from the workspace. |
| โ Yes |
| Control | Resume a paused bot. |
| โ Yes |
| Control | Pause an active bot. |
| โ Yes |
| Control | Reboot a bot container instance. |
| โ Yes |
| Write | Save a new custom strategy. |
| โ Yes |
| Write | Add indicator filters (RSI, Bollinger) to a bot. |
| โ Yes |
| Read | Request explanation of a strategy's parameters. |
| No |
| Read | Search marketplace strategy listings. |
| No |
| Read | Retrieve pricing details for a marketplace item. |
| No |
| Read | List strategies published by you. |
| No |
| Write | Sell a custom strategy in the marketplace. |
| โ Yes |
| Write | Copy/purchase a marketplace strategy. |
| โ Yes |
| Read | View linked follower accounts. |
| No |
| Write | Toggle copy trading states. |
| โ Yes |
| Read | Retrieve news tickers. |
| No |
| Read | Fetch coin and stock sentiment metrics. |
| No |
| Read | Fetch live assets tickers. |
| No |
| Read | Search help documentation. |
| No |
| Read | Retrieve alert configurations. |
| No |
| Write | Update alert delivery target. |
| No |
| Read | Fetch the legal platform disclaimer. | None | No |
For complete usage specifications, see docs/TOOLS.md.
Security Model
The Segnals MCP integration enforces safety guidelines:
Hashed Key Storage: API keys are hashed with SHA-256 at rest. Plaintext keys are never stored in the database.
Explicit Scope Restrictions: Keys are restricted to their defined scopes. If a key is leaked, it can be revoked or rotated instantly without affecting main account passwords.
Two-Step Confirmation Gating: Destructive or financially significant tools (e.g.,
create_bot,start_bot,copy_strategy) require aconfirm: trueparameter. Calling them withoutconfirm: truereturns a safe JSON preview.Exchange Credentials Isolation: Exchange API secrets and MT5 passwords never leave the primary Segnals servers. AI agents can configure where a bot executes, but can never see or export credentials.
Per-Key Rate Limiting: The backend limits keys to a default of 120 requests/minute to prevent loop bugs from overloading the API.
Immutable Exclusions: Admin functions, billing details, and withdrawal routes are hard-excluded from the API Key pathway.
For further information, see the Safety & Limitations Guide.
Safety & Disclaimer
Financial & Trading Risk: Segnals is a software-as-a-service platform that provides algorithmic trading tools. All trades executed using this platform are at your own risk. Past performance does not guarantee future results. This software is not financial advice, and the authors of the Segnals MCP server do not take responsibility for financial losses incurred due to trading bot executions, configuration mistakes, or AI agent interactions. Configure stop losses carefully and evaluate your strategies in a test environment first.
Example Use-Cases & Prompt Library
You can copy and paste the following prompts to guide your agent:
Strategy Design & Deployment
"Check my active connection status. If connected, list all strategy schemas and help me design a low-risk Grid bot for BTCUSDT on Bybit." Requires:
read:bots,write:bots
Performance Review
"Retrieve a summary of my bot performances. Identify which bot has the highest drawdown this week, pull its execution logs, and suggest parameter updates." Requires:
read:stats,read:bots
Marketplace Discovery
"Browse the Strategy Marketplace for low-risk, high-rating Forex strategies. Explain the parameters of the top-performing item and copy it to my workspace." Requires:
read:marketplace,write:marketplace
Architecture
The Segnals MCP Server acts as an intermediate translator between your local agent and the remote Segnals platform:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AI Agent / IDE โ (Claude Desktop, Cursor, etc.)
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โ stdio (std_in / std_out)
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Segnals MCP Server (Local) โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ
โ HTTPS (REST API) + Bearer API Key
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Segnals REST API (Remote) โ (Enforces Rate-Limits, Scopes, and Auditing)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโCompatibility Matrix
Server Version | Segnals API | MCP SDK | Node.js | Supported Clients | Status |
|
|
|
| Claude Desktop, Claude Code, Cursor, Windsurf, Copilot | Current |
Troubleshooting
1. The Server Does Not Appear in Claude Desktop
Cause: Invalid path configuration or Node.js missing from system path.
Fix: Verify your Node.js installation by running
node -v. Check that the command is configured as"command": "npx"and theargsinclude"-y", "@segnals/mcp". Check the Claude Desktop log files at%APPDATA%\Claude\logs\mcp.logor~/Library/Logs/Claude/mcp.log.
2. Error Code: 401 Unauthorized
Cause: Malformed, expired, or incorrect API key format.
Fix: Ensure your environment key is correctly configured as
export SEGNALS_API_KEY=sk_live_...and that the prefix is correct. Make sure the key has not been revoked on the dashboard.
3. Error Code: 403 Forbidden
Cause: The API key lacks the required scopes for the executed tool.
Fix: Verify the scope required by the tool (see Tool Reference) and generate a new key on the dashboard with the appropriate scope.
4. Error Code: 429 Too Many Requests
Cause: Request rate limit exceeded.
Fix: Reduce the frequency of commands. AI loops can occasionally flood the API. Check that your client logic is not stuck in an execution loop.
For more details, see the Troubleshooting Guide.
For AI Agents
๐ค If you are an AI Agent: Read AGENTS.md and llms.txt first. These files contain specific context on tool naming rules, safety disclaimers, the mandatory confirmation workflow, and advice on choosing the correct API endpoint.
Roadmap
Phase 4b: Remote OAuth Integration: Connect your account via OAuth 2.1 protocol for zero-install clients. (Planned)
Advanced Backtesting: Run backtest jobs directly from the command line. (Planned)
Dynamic Telemetry WebSocket Stream: Fetch sub-millisecond price changes. (Planned)
Contributing & Support
We welcome contributions to the Segnals MCP server:
Report bugs and request features in GitHub Issues.
Read CONTRIBUTING.md and CODE_OF_CONDUCT.md.
For security reports, please refer to SECURITY.md to report vulnerabilities privately.
Contact support at
support@segnals.com.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
36 toolssegnals_browse_marketplaceA
Browse the Segnals strategy marketplace. Returns available strategy listings with performance data (clearly labeled as live or backtest). Results are neutrally sorted. Use this to discover strategies the user can copy. Requires scope: read:marketplace. Example: segnals_browse_marketplace({ page: 1 })
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default 1) | |
| per_page | No | Results per page (default 20, max 50) | |
| exchange | No | Filter by exchange (e.g., 'bybit', 'mt5') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that results are neutrally sorted and performance data is labeled as live or backtest. Since no annotations are provided, the description carries the burden; it implies a read-only operation but does not explicitly state no side effects. Overall, adequate transparency for a browse tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each adding value: purpose, return details, use case, and example with scope. No wasted words, front-loaded with the main action.
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?
Covers purpose, return value type, sorting, use case, scope, and example. Lacks detail on the structure of each listing beyond performance data, but given the simplicity and no output schema, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameters are well-described in the schema. The description adds only an example usage with 'page', which is helpful but not necessary. Per rubric, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'browse' targeting the 'strategy marketplace', clearly distinguishing it from siblings like 'segnals_get_listing' (specific listing) and 'segnals_my_listings' (own listings). It also states the action: 'Returns available strategy listings' and the use case: 'discover strategies the user can copy'.
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?
States when to use ('discover strategies the user can copy') and requires a scope ('read:marketplace'). Does not explicitly mention when not to use or alternatives, but the context of siblings makes it clear this is for browsing the whole marketplace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_control_copy_tradingA
Start or stop copy trading for an exchange. Requires scope: control:bots. VIP tier required.
TWO-STEP CONFIRMATION: Call without confirm to preview. Call with confirm: true to execute. Copy trading mirrors trades from source accounts to destination accounts on the same exchange.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: start or stop copy trading | |
| exchange | Yes | Exchange to control copy trading for | |
| confirm | No | Set to true to execute after previewing |
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 explains the copy-trading mechanism (mirroring trades) and the two-step confirmation process. It also specifies access requirements (scope and VIP tier). While it could detail the effects of stopping (e.g., immediate cessation), the current description adequately conveys the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with four sentences. It front-loads the main action and prerequisites, then explains the confirmation flow and core functionality. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no output schema, no annotations), the description covers purpose, prerequisites, and behavioral nuances. It does not describe the response format, but the absence of an output schema reduces the need. The description is sufficiently complete for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already provides parameter details. The description adds value beyond the schema by explaining the two-step confirmation (linking to the 'confirm' parameter) and the overall purpose of copy trading. This enhances understanding of how parameters interact, especially the preview-then-execute pattern.
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 explicitly states 'Start or stop copy trading for an exchange' with a specific verb and resource. It distinguishes itself from sibling tools like segnals_get_copy_trading (read-only) and segnals_start_bot (different resource). The explanation of mirroring trades further clarifies the tool's purpose.
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 clear context for when to use the tool: requires scope 'control:bots' and VIP tier. It also explains the two-step confirmation workflow (preview then execute). However, it does not explicitly state when not to use it or suggest alternative tools, though the need for such guidance is minimal given the tool's distinct functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_copy_strategyA
Copy a strategy from the marketplace to your bots. Requires scope: write:marketplace.
TWO-STEP CONFIRMATION: Call without confirm to preview the listing and cost. Call with confirm: true to copy. FREE strategies: copied immediately. PAID strategies: initiates a crypto payment flow. The buyer risk disclaimer is required โ the agent must present the disclaimer to the user before confirming.
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | Marketplace listing ID to copy | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the two-step flow, scope requirement (write:marketplace), behavior for free vs paid strategies, and the mandatory disclaimer, ensuring the agent understands the tool's full 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 concise with no wasted words, front-loading the purpose, and using clear bullet-like structure for the workflow steps.
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?
Covers all necessary aspects for a two-parameter tool: workflow, free/paid distinction, disclaimer requirement, and scope. Minor omission of error or response details, but sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100%, the description adds significant context for the 'confirm' parameter by explaining the preview-then-execute flow, which goes beyond the schema's definition.
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 'copy' and the resource 'strategy from the marketplace', and distinguishes it from siblings like 'segnals_browse_marketplace' and 'segnals_get_listing' by focusing on the copy action.
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?
Explicitly describes the two-step confirmation process (preview without confirm, execute with confirm), differentiates free vs paid strategies, and mandates the buyer risk disclaimer, providing clear when-to-use and prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_create_botA
Create a new trading bot on Segnals. Requires scope: write:bots.
TWO-STEP CONFIRMATION: Call without confirm (or confirm: false) to preview. Call with confirm: true to execute. The new bot starts in 'stopped' state โ it will NOT start trading automatically. IMPORTANT: Never ask for or accept exchange API keys/secrets โ users enter those in the Segnals dashboard (Settings โ Connections).
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | Yes | Exchange to create the bot for | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It discloses that the bot starts in 'stopped' state, requires confirmation, and warns about API keys. It could mention the return value of preview/execution for full 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 concise (5 sentences) with each sentence serving a distinct purpose: action+scope, confirmation flow, bot state, important note. No fluff, 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 no output schema, the description should explain what the preview or execution returns. It lacks that, so the agent doesn't know what to expect from the tool. The exchange enum is covered by schema, but output info is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters have descriptions). The description adds context about the confirm parameter's two-step flow but doesn't add new semantics beyond the schema. Baseline of 3 is appropriate.
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 'Create a new trading bot on Segnals.' The verb 'create' is specific and distinct from sibling tools like 'list_bots', 'get_bot', 'update_bot', etc., making the purpose unambiguous.
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 explicit guidance: requires scope 'write:bots', two-step confirmation process, and a warning about API keys. It implies when to use (to create a bot) but doesn't explicitly state when not to use or compare with alternatives, so slightly below perfect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_create_strategyA
Create a fully configured trading strategy (bot + config). Requires scope: write:strategies.
TWO-STEP CONFIRMATION: Call without confirm to preview and validate. Call with confirm: true to create. This orchestrates: create bot โ apply full config. The bot starts in 'stopped' state. IMPORTANT: Never include exchange API keys/secrets in the config.
| Name | Required | Description | Default |
|---|---|---|---|
| exchange | Yes | Exchange for the strategy | |
| name | Yes | Strategy name | |
| config | Yes | Full strategy configuration | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors: two-step confirmation, orchestration of bot creation and config application, resulting bot state ('stopped'), and security warning. No annotations provided, so description carries full burden and does so well.
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?
Concise, well-structured with bullet points, front-loaded with purpose and scope. Every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lack of output schema, the description covers the tool's behavior, prerequisites, and warning. The output is implied (a created strategy). Sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds context about the confirm parameter's role and the config's scope, but does not significantly expand on schema descriptions. Adequate.
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?
Clearly states the tool creates a fully configured trading strategy (bot + config), distinguishing it from sibling tools like segnals_create_bot (only creates a bot) and segnals_explain_config. The verb 'create' and resource 'strategy' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit two-step confirmation process, required scope (write:strategies), and warns about API keys. Could further clarify when to use this versus segnals_create_bot, but overall adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_delete_botA
Permanently delete a trading bot. Requires scope: write:bots.
TWO-STEP CONFIRMATION: Call without confirm to preview. Call with confirm: true to delete. WARNING: This action is PERMANENT and cannot be undone. The bot must be stopped first.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to delete | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. It discloses permanence, irreversibility, prerequisite (bot must be stopped), and required scope. This is thorough for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each essential: purpose and scope, two-step process, and warning. Front-loaded with the main action. No fluff.
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 no output schema, the description covers purpose, preconditions, confirmation flow, and warning. It is complete for a delete operation. Minor gap: what the preview shows, but acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds meaning by explaining the two-step flow and that confirm defaults to false (though schema says the same). It clarifies the purpose of confirm (preview vs execute), providing extra value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Permanently delete') and the resource ('trading bot'), and distinguishes from sibling tools like segnals_stop_bot (stops but does not delete) and segnals_create_bot (creates). It also specifies the required scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear two-step confirmation process and warns that the bot must be stopped first. Explicitly tells when to use (desire to permanently remove) and implies when not (if unsure or if bot is running). Could be more explicit about alternatives (e.g., stopping vs deleting but that is clear from context).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_explain_configA
Analyze and explain a bot's current configuration. Describes what each setting does, flags risky combinations (e.g., Martingale with high multiplier), and suggests improvements. Use this to understand or review a bot's strategy setup. Requires scope: read:bots. Example: segnals_explain_config({ bot_id: 42 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | The ID of the bot to explain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions the required scope (read:bots) and that it flags risky combinations and suggests improvements, adding useful context. However, it doesn't fully disclose whether it is read-only or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no redundancy: first explains action, second adds detail, third gives usage guidance and an example. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no annotations, the description adequately covers purpose, usage, behavioral hints, and an example, making it complete enough for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the sole parameter bot_id with a description. The description adds an example usage but no additional semantic detail beyond the schema, so baseline 3 is appropriate.
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 analyzes and explains a bot's configuration, describing settings, flagging risks, and suggesting improvements. This is specific and distinct from siblings like segnals_get_bot.
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?
Explicitly says 'Use this to understand or review a bot's strategy setup,' providing clear usage context. It does not mention when not to use it, but the purpose is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_accountA
Get your Segnals account details: tier, subscription status, bot limits, and usage. Use this to check account standing or before creating bots. Requires scope: read:account. Example: segnals_get_account()
| 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 must carry the full burden. It discloses the required scope ('read:account') and implies a read-only operation. However, it does not detail potential side effects, error handling, or rate limits. Given the simplicity of the tool, this is adequate but not exceptional.
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 very conciseโtwo sentences and an example. It is front-loaded with the purpose, followed by usage guidance and requirements. Every sentence serves a purpose without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, no output schema, and no annotations, the description provides a clear purpose, usage guidance, required scope, and an example. It is fairly complete for a simple read operation, though it could mention error cases. The combination of purpose, usage, and example adequately prepares an agent to select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. The description adds value by listing the returned fields (tier, subscription status, bot limits, usage), which goes beyond the schema's minimal information. The example also clarifies usage.
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 specifies that the tool retrieves account details (tier, subscription status, bot limits, usage). The verb 'Get' and resource 'account details' are specific, and it distinguishes itself from sibling tools like segnals_get_subscription or segnals_get_bot by focusing on account-level information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: 'check account standing or before creating bots.' It does not mention when not to use it or alternatives, but the context is clear. Sibling tools have distinct purposes, so the usage advice is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_botA
Get the full configuration and status of a specific bot by its ID. Returns the bot's name, exchange, symbol, status, and complete config object. Use this to inspect a bot's settings in detail. Requires scope: read:bots. Example: segnals_get_bot({ bot_id: 42 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | The ID of the bot to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description fully discloses scope requirement 'read:bots' and return contents. It implies read-only behavior without side effects. No contradictions.
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?
Three sentences plus example, front-loaded with purpose, returns, usage, scope, and example. No redundant words.
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?
Tool has one parameter, no output schema. Description lists returned fields (name, exchange, symbol, status, config), includes scope, and example. Adequate for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes bot_id as 'The ID of the bot to retrieve' (100% coverage). Description adds example usage but no new semantic meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'Get' and resource 'full configuration and status of a specific bot by its ID'. It clearly distinguishes from sibling like segnals_list_bots by targeting a single bot.
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?
Description states 'Use this to inspect a bot's settings in detail', providing usage context. It implicitly differentiates from list and update siblings but does not explicitly mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_bot_logsA
Get execution logs for a specific bot. Shows recent trading activity, errors, and system events including cold-start status. Use this to debug bot behavior or check recent activity. Requires scope: read:bots. Example: segnals_get_bot_logs({ bot_id: 42 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | The ID of the bot to get logs for | |
| limit | No | Maximum number of log entries (default 50) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses content including cold-start status and recent activity. Mentions required scope but does not describe read-only nature, rate limits, default time range, ordering, or pagination. With no annotations, additional behavioral details would strengthen this score.
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?
Three sentences plus a code example: first states purpose, second describes content, third explains when to use and required scope. Example clarifies invocation. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes output content (activity, errors, system events, cold-start status) and supports debugging use case. Lacks output schema but provides sufficient context for a logs tool. Could mention ordering (e.g., descending by time) or pagination.
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 has 100% coverage with clear descriptions for bot_id (integer, exclusiveMinimum>0) and limit (min 1, max 200, default 50). Description adds no new parameter info beyond the schema, so baseline 3 is appropriate.
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?
Explicitly states 'Get execution logs for a specific bot' and details content: trading activity, errors, system events including cold-start status. Clearly distinguishes from sibling tools like segnals_get_bot (configuration) and segnals_get_trades (trade 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?
Provides direct guidance: 'Use this to debug bot behavior or check recent activity.' Also specifies required scope 'read:bots'. Does not explicitly state when not to use, but context implies debugging and recent activity checking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_bot_performanceA
Get detailed performance metrics for a specific bot: net PnL, win rate, total trades, drawdown, and more. Use this to analyze how well a particular bot is performing. Requires scope: read:stats. Example: segnals_get_bot_performance({ bot_id: 42 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | The ID of the bot to get performance for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses the required scope and gives an example call. It does not explicitly state that the tool is read-only or describe error behavior, which is a gap for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus an example. It is front-loaded with the key purpose and resources. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what metrics are returned, required scope, and provides a usage example. For a simple tool with one required parameter and no output schema, it is nearly complete but could mention return format or error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description in the schema already explains 'The ID of the bot to get performance for'. The description adds an example but no new semantic information beyond what the schema provides, so baseline 3 is appropriate.
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 retrieves detailed performance metrics for a specific bot, listing specific metrics like net PnL and win rate. It distinguishes from siblings like segnals_get_bot or segnals_get_pnl_summary by focusing on performance analytics.
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 explicitly says 'Use this to analyze how well a particular bot is performing' and provides a usage example. It also mentions the required scope 'read:stats'. However, it does not specify when not to use or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_capabilitiesA
List all available Segnals MCP tools and their required scopes. Use this to understand what actions you can perform with the current API key. Requires: any valid API key. Example: segnals_get_capabilities()
| 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 must carry the full burden. It discloses that the tool requires an API key and lists capabilities and scopes, but it does not describe the output format or any potential side effects. For a read-only listing tool, this is adequate but lacks depth.
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: two clear sentences plus an example call. Every sentence adds value, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description is reasonably complete. It states the purpose, usage, and prerequisite. However, it could be slightly improved by noting that the output will list tool names and scopes, but the simplistic nature of the tool makes this acceptable.
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?
There are zero parameters and the input schema is empty with 100% coverage. The description adds no parameter information, which is acceptable as baseline for no parameters is 4.
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 lists all available Segnals MCP tools and their required scopes. It uses a specific verb 'list' and a clear resource 'available Segnals MCP tools', distinguishing it from sibling tools that perform actions rather than providing an inventory.
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 explicitly states to use this tool to understand what actions are possible with the current API key, and notes that any valid API key is required. This provides clear context, though it does not explicitly state when not to use it or name alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_copy_tradingA
Get your copy trading configuration and status. Shows which exchanges have copy trading enabled, the current settings, and operational status. Copy trading is a VIP feature. Requires scope: read:account. Example: segnals_get_copy_trading()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description mentions what the tool shows (exchanges, settings, status) but does not explicitly state it is read-only or disclose potential side effects or rate limits.
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 three concise sentences, front-loaded with the main purpose, and includes an example call, making it efficient 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?
For a tool with no parameters and no output schema, the description covers the return data, prerequisite conditions (VIP, scope), and provides an example, making it contextually complete.
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?
No parameters exist, so schema coverage is 100%; the description adds meaning by detailing the returned data (configuration, status, exchanges), which is valuable beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'copy trading configuration and status', distinguishing it from siblings like segnals_control_copy_trading and segnals_copy_strategy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit context with 'VIP feature' and 'Requires scope: read:account', guiding when to use the tool, though it does not explicitly mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_dashboardA
Get the trading dashboard overview: total PnL, win rate, active bots count, equity curve, and summary stats. Use this for a high-level view of trading performance. Requires scope: read:stats. Example: segnals_get_dashboard()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read operation by listing get-able metrics and mentions required scope, but does not disclose rate limits or other behavioral details. Adequate but not rich.
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?
Very concise: purpose, return list, usage guidance, required scope, and an example in three short sentences. No wasted words, front-loaded.
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 no parameters and no output schema, the description adequately explains what the tool returns and when to use it. Could mention return format, but for a simple overview tool it's sufficient.
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?
No parameters exist (schema coverage 100%), so the description naturally covers what the tool does. The baseline for 0 parameters is 4, and the description adds no param info because none is needed.
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 gets the trading dashboard overview and lists specific metrics (total PnL, win rate, etc.), distinguishing it from sibling tools like get_bot_performance or get_pnl_summary by focusing on a high-level aggregate view.
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?
Explicitly says 'Use this for a high-level view of trading performance' and mentions required scope 'read:stats', but does not provide when-not-to-use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_listingA
Get details for a specific marketplace listing, including the strategy configuration preview and performance report. Use this to evaluate a strategy before copying it. Requires scope: read:marketplace. Example: segnals_get_listing({ listing_id: "abc123" })
| Name | Required | Description | Default |
|---|---|---|---|
| listing_id | Yes | The ID of the marketplace listing to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full transparency burden. It discloses the required authorization scope and outlines what the tool returns (details, strategy config preview, performance report). It does not mention rate limits or other behavioral traits, but for a simple read operation the disclosure is adequate.
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 three sentences, each serving a distinct purpose: stating functionality, usage guidance, and example with scope. No extraneous words.
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 (single parameter, no output schema, no nested objects), the description covers purpose, usage, scope, and parameter example. It might optionally mention that the listing ID comes from browsing, but overall it is complete enough for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with a description for listing_id. The description adds minimal extra value beyond the schema, showing an example call and mentioning it's from marketplace (already implied). Baseline 3 is appropriate as 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 tool retrieves details for a specific marketplace listing, including strategy configuration preview and performance report. It uses specific verbs and resource, and the sibling tool 'segnals_browse_marketplace' is implicitly distinguished (browse lists multiple, get retrieves one).
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 explicitly advises using this tool to evaluate a strategy before copying it, providing a clear use case. It also states the required scope 'read:marketplace'. While it does not explicitly list when not to use or name alternatives, the context of sibling tools implies alternatives like browse or copy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_market_priceA
Get the current live price for a trading symbol. NOTE: This tool is coming soon โ the endpoint is not yet available. Requires scope: read:news. Example: segnals_get_market_price({ symbol: "BTCUSDT" })
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The trading symbol to get the price for (e.g., 'BTCUSDT') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden. It clearly states the tool is 'coming soon' and not yet available, and specifies the required scope. This is valuable behavioral context beyond the input schema.
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 concise: two sentences plus a note and example. Every word serves a purpose, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers purpose, usage, scope, and the critical caveat of unavailability. It is complete for the complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description reinforces the parameter with an example ('BTCUSDT'). This adds value beyond the schema by demonstrating usage.
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 the resource ('current live price for a trading symbol'). It uniquely identifies the tool among siblings, as no other sibling tool provides a live price for a symbol.
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 mentions a required scope ('read:news') but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. Usage is implied but not compared to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_newsA
Get the latest market news and events from the Segnals newsfeed. Use this to stay informed about market-moving events that may affect trading strategies. Requires scope: read:news. Example: segnals_get_news()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. Discloses required scope 'read:news', which is valuable. However, does not mention side effects or whether it's read-only, though inferred.
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?
Three concise sentences: purpose, usage context, and required scope with example. No wasted words.
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 parameterless tool with no output schema, description covers purpose, usage, and requirements. Could mention return format but not critical.
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?
No parameters, so schema coverage is 100% (trivially). Baseline for 0 parameters is 4. Description does not add parameter semantics as there are none.
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?
Clearly states it gets latest market news from Segnals newsfeed. Distinguishes from sibling tools like segnals_get_market_price and segnals_get_sentiment which focus on different data types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'stay informed about market-moving events that may affect trading strategies.' Does not exclude alternatives but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_notificationsA
Get your notification preferences: daily reports, performance alerts, weekly summaries, and system reminders. Use this to review current notification settings before updating them. Requires scope: manage:notifications. Example: segnals_get_notifications()
| 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 discloses the required scope 'manage:notifications' and the zero-parameter nature, which are important behavioral traits. No contradiction with annotations (none exist).
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?
Three short sentences with no wasted words. The most critical information (purpose, usage, auth requirement, example) is front-loaded. Every sentence earns its place.
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?
Despite lacking an output schema, the description is complete for a zero-parameter read-only tool. It covers purpose, usage context, authentication, and provides an example. No gaps remain.
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 no parameters, and schema description coverage is 100% (vacuous). The description confirms no parameters via example and reinforces the tool's simplicity. With no parameters to document, the description adds appropriate clarity.
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 'Get your notification preferences' with specific examples (daily reports, performance alerts, etc.), and the verb 'Get' plus resource 'notification preferences' distinguishes it from sibling tools like segnals_set_notifications.
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 advises 'Use this to review current notification settings before updating them,' providing clear context for when to use. It lacks explicit exclusions or alternative tool references but offers sufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_pnl_summaryA
Get aggregated PnL (profit and loss) breakdown from the dashboard data. Use this to analyze profitability over time. Requires scope: read:stats. Example: segnals_get_pnl_summary()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description adds a scope requirement ('Requires scope: read:stats') and an example call. This is adequate for a simple read operation, but it lacks details on data freshness, return format, or any potential limitations.
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?
Two sentences plus an example line with no wasted words. The purpose is front-loaded, and the structure is efficient.
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?
Despite having no parameters and no output schema, the description could be more explicit about what the 'breakdown' includes (e.g., time periods, granularity). While adequate for a simple tool, it leaves some ambiguity about the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100%. The description does not need to explain parameters, and none are present. Baseline for 0 parameters is 4, which is appropriate here.
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 'aggregated PnL (profit and loss) breakdown from the dashboard data', with specific purpose 'analyze profitability over time'. It is distinct from sibling tools which focus on other aspects like bots, listings, or account info.
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 a clear usage context ('analyze profitability over time') and includes a scope requirement. However, it does not explicitly mention when not to use this tool or compare with alternatives, though the sibling set is diverse and no direct alternative exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_safety_disclaimerA
Returns the Segnals risk and safety disclaimer. This explains that Segnals is a software tool (not financial advice), outlines trading risks, and clarifies what the MCP server can and cannot do. Present this to users before creating strategies or starting bots. Requires: any valid API key. Example: segnals_get_safety_disclaimer()
| 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 burden. It notes that the tool requires a valid API key and returns a disclaimer explaining limitations. However, it does not explicitly state that the tool is read-only or non-destructive, though this is implied.
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 three sentences, front-loaded with the purpose, and every sentence adds value. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with no parameters and no output schema, the description is complete: it explains the content (risk disclaimer), when to use it (before creating strategies or starting bots), and a requirement (valid API key).
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?
There are zero parameters, and the input schema is empty (100% coverage). The description does not need to add parameter details, and the baseline of 4 is appropriate.
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 'Returns' and the resource 'Segnals risk and safety disclaimer'. It distinguishes itself from sibling tools like segnals_create_strategy or segnals_start_bot by being the only tool that provides a disclaimer.
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 explicitly says to present this to users before creating strategies or starting bots, providing clear context for when to use it. It does not mention exclusions or alternatives, but there is no alternative tool for fetching the disclaimer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_sentimentB
Get market sentiment data for a specific coin or trading symbol. Shows bullish/bearish sentiment indicators. NOTE: This tool is coming soon โ the endpoint is not yet available. Requires scope: read:news. Example: segnals_get_sentiment({ symbol: "BTCUSDT" })
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The trading symbol to get sentiment for (e.g., 'BTCUSDT') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is 'coming soon' (unavailable endpoint) and requires the 'read:news' scope, which provides useful behavioral context. However, it does not explicitly state that the operation is read-only or non-destructive, nor does it describe any side effects. With no annotations, the description partially compensates but lacks full 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 four sentences, front-loading the purpose and following with a note and example. It is concise and avoids unnecessary detail. The 'coming soon' warning is critical but could be integrated more succinctly. Overall well-structured for the information provided.
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 no output schema, the description only vaguely mentions 'bullish/bearish sentiment indicators' without specifying return format, data structure, or time range. The tool is simple (1 param), but the lack of output details and behavioral expectations (e.g., rate limits) leaves gaps. The 'coming soon' status also reduces immediate completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single 'symbol' parameter, so the baseline is 3. The description adds an example ('BTCUSDT') and clarifies the parameter is for a 'specific coin or trading symbol', adding minimal value beyond the schema. No additional semantic details are provided.
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 it retrieves market sentiment data for a specific coin or symbol, indicating bullish/bearish sentiment. The verb 'Get' is specific, and the resource (sentiment data) is well-defined. However, it does not explicitly differentiate from sibling tools like segnals_get_news or segnals_get_market_price, though the unique focus on sentiment is implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as segnals_get_news or segnals_get_market_price. There are no context cues about prerequisites, use cases, or exclusion criteria beyond the scope requirement. The 'coming soon' note indicates unavailability but does not assist in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_strategy_schemaA
Get the configuration schema for a bot, showing all available settings, their types, defaults, and valid ranges. Use this to understand what parameters can be configured before creating or updating a bot. Requires scope: read:bots. Example: segnals_get_strategy_schema({ bot_id: 42 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | The ID of the bot to get the schema for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It implies a safe read operation with no side effects, mentions required scope, and includes an example. However, it does not explicitly state that it is read-only or describe potential errors or rate limits.
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?
Three concise sentences: purpose, usage guidance, and example. No redundant information. The key action is front-loaded in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description adequately explains what the schema contains (settings, types, defaults, valid ranges). For a simple one-parameter tool, the description covers all needed context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema alone covers the parameter description (bot_id). The description adds value by including a concrete example (segnals_get_strategy_schema({ bot_id: 42 })), which reinforces correct usage beyond the schema's text.
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 retrieves the configuration schema for a bot, listing available settings, types, defaults, and ranges. This verb-resource pair is distinct from sibling tools like segnals_get_bot or segnals_create_bot.
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?
Explicitly advises using this tool before creating or updating a bot to understand configurable parameters. Also specifies the required scope (read:bots) and provides an example call, giving clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_subscriptionA
Get your current subscription plan, billing status, and payment history. Use this to check if the user's subscription is active, when it renews, or what plan they're on. Requires scope: read:account. Example: segnals_get_subscription()
| 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 discloses the required scope 'read:account' and includes an example call, indicating no parameters. However, it does not mention potential errors, rate limits, or what happens if the subscription is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and immediately following with usage guidance and an example. Every sentence adds value without unnecessary detail.
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 simplicity of the tool (no parameters, no output schema), the description sufficiently covers what it retrieves (plan, status, history), when to use it, and required scope. It is complete for a read-only subscription lookup.
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 no parameters, and the description confirms this with an example call 'segnals_get_subscription()'. With zero parameters, the baseline is 4, and the description adds no further parameter semantics but correctly implies no arguments are needed.
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 'subscription plan, billing status, and payment history.' It specifies the exact information retrieved, distinguishing it from other sibling 'get' tools that target different resources.
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 explicit use cases: 'check if the user's subscription is active, when it renews, or what plan they're on.' It does not explicitly state when not to use it or mention alternatives, but the context is clear given the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_get_tradesB
Get recent trade history across all bots, with optional filtering by bot ID, symbol, or date range. Use this to review individual trades. Requires scope: read:stats. Example: segnals_get_trades({ limit: 20 })
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | No | Filter trades to a specific bot ID | |
| limit | No | Maximum number of trades to return (default 50, max 100) | |
| offset | No | Offset for pagination |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds some behavioral context: it requires auth scope 'read:stats' and implies recent data via 'recent trade history'. But it does not disclose data freshness, pagination limits beyond max, or rate limiting. Adequate but not thorough.
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?
Two sentences plus an example is generally concise. However, the sentence about filtering includes non-existent parameters ('symbol', 'date range'), making it inaccurate and wasteful. The example is helpful but could be better aligned with schema.
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 no output schema and 3 parameters, the description should explain return format or pagination behavior. It fails to do so, and the misleading filter list reduces completeness. The scope requirement is a plus, but overall the description leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all parameters (bot_id, limit, offset) with descriptions. However, the description mentions 'optional filtering by ... symbol, or date range' which are NOT present in the schema. This is misleading and directly contradicts the schema, thus adding no value and causing confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get recent trade history across all bots' with optional filters. The verb 'get' and resource 'trade history' are specific, and the scope is well-defined. It distinguishes from siblings like segnals_get_bot_performance and segnals_get_pnl_summary by focusing on individual trades.
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 includes usage guidance: 'Use this to review individual trades' and specifies a required scope 'read:stats'. However, it lacks explicit when-not-to-use instructions or mention of alternatives, which is somewhat expected given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_list_botsA
List all trading bots on the user's account with their ID, name, exchange, status, and symbol. Use this to get an overview of all configured bots. Requires scope: read:bots. Example: segnals_list_bots()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it lists bots with specific fields and includes an example, but does not explicitly declare it as non-destructive or describe side effects. For a read-only list tool, this is adequate but not rich.
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?
Two sentences plus an example and scope requirement, no wasted words. Front-loaded with the main action.
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 no parameters and no output schema, the description tells what fields are returned and when to use it. Lacks pagination info but is sufficient for a simple list.
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?
Input schema has 0 parameters, so the description adds no parameter details. However, it provides an example call 'segnals_list_bots()' which reinforces that there are no parameters. Baseline for 0 params is 4.
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 'list', the resource 'trading bots', and the scope 'on the user's account', distinguishing it from sibling tools like 'get_bot' or 'create_bot'.
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?
It says 'Use this to get an overview of all configured bots' and includes the required scope 'read:bots', but does not explicitly mention when not to use it or provide alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_list_connectionsA
Check which exchanges and services are connected to the user's account. Returns boolean flags only (true/false for each exchange) โ never returns credentials or secrets. Use this to verify exchange connectivity before creating bots. Requires scope: read:account. Example: segnals_list_connections()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: returns boolean flags only, never credentials or secrets. Implies read-only operation. No contradictions.
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?
Three concise sentences, front-loaded with purpose (check connections), followed by return type, usage guidance, scope, and example. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description fully covers return type (boolean flags), example, required scope, and typical use case. Complete and self-contained.
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?
Input schema has 0 parameters with 100% coverage. The description adds value by showing an example call with no arguments, confirming no parameters needed.
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 checks connected exchanges and services, returns boolean flags, and distinguishes from siblings like segnals_get_account by focusing on connectivity verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context: 'Use this to verify exchange connectivity before creating bots.' Also specifies required scope (read:account), though lacks when-not-to-use or alternative tool comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_my_listingsA
View your own marketplace listings and sales data (VIP sellers). Shows your published strategies, sale counts, and earnings. Use this to manage your marketplace presence. Requires scope: read:marketplace. Example: segnals_my_listings()
| 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 bears full burden. It discloses read-only intent and required scope. It does not mention pagination or data limits but is otherwise transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and includes an example call. No redundant or unnecessary text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose, data returned, and scope. Without an output schema, it provides sufficient context for a zero-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so schema coverage is effectively 100%. The description adds value by explaining the tool's output, which compensates for the lack of 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 it is for viewing your own marketplace listings and sales data, distinguishing it from browsing all listings or getting a single listing.
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 includes a use case ('Use this to manage your marketplace presence') and explicitly mentions required scope. However, it does not contrast with sibling tools like segnals_browse_marketplace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_publish_listingA
Publish a bot as a marketplace listing. Requires scope: write:marketplace. VIP tier required.
TWO-STEP CONFIRMATION: Call without confirm to preview. Call with confirm: true to publish. The listing goes to 'pending_review' โ an admin must approve it before it becomes active. Seller terms acceptance is required.
| Name | Required | Description | Default |
|---|---|---|---|
| source_bot_id | Yes | Bot ID to publish as a listing | |
| title | Yes | Listing title | |
| description | Yes | Listing description | |
| price_usd | Yes | Price in USD (0 = free) | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses scope requirements, VIP tier, two-step confirmation, pending review/admin approval, and seller terms. Does not contradict annotations.
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?
Description is concise with three short sentences, front-loaded with purpose. Efficiently covers key points without excess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description explains outcome (pending_review). Covers prerequisites, two-step process, required scopes. Sufficient for a publish 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?
Schema coverage is 100%, so baseline is 3. The description adds context for the confirm parameter (two-step confirmation) but doesn't elaborate on others beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it publishes a bot as a marketplace listing, using the verb 'publish' and resource 'bot as a listing'. It distinguishes from sibling tools like segnals_get_listing and segnals_my_listings.
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?
Explicitly describes the two-step confirmation process, required scope, VIP tier, pending review state, and seller terms acceptance. Provides clear when-to-use context, though doesn't explicitly state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_restart_botA
Restart a trading bot. Requires scope: control:bots.
TWO-STEP CONFIRMATION: Call without confirm to preview. Call with confirm: true to restart. NOTE: Restarting resets the bot's loss streaks and goes through the cold-start cycle.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to restart | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description adequately discloses behavioral effects: resetting loss streaks and going through a cold-start cycle. It could also mention potential destructive nature, but current info is sufficient for an agent to understand consequences.
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?
Three sentences with front-loaded purpose, then scope, then usage pattern, then note. Every sentence adds value with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool without output schema, the description covers purpose, prerequisites, usage, and behavioral impact. It lacks error conditions or return info but is otherwise complete.
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 covers 100% of parameters, and description adds functional semantics for confirm (preview vs. execute). No additional info for bot_id, but the description provides usage context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'restart' and the resource 'trading bot', and distinguishes itself from siblings like segnals_start_bot and segnals_stop_bot by mentioning specific effects (resetting loss streaks, cold-start cycle).
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?
It specifies required scope and provides a clear two-step confirmation pattern (preview then execute). However, it does not explicitly state when not to use this tool or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_search_knowledgeA
Search the Segnals knowledge base for help articles, feature documentation, and trading guides. Uses semantic search to find relevant content. NOTE: This tool is coming soon โ the endpoint is not yet available. Requires scope: read:knowledge. Example: segnals_search_knowledge({ query: "how to set up trailing stop" })
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query for the knowledge base |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool uses semantic search and is coming soon with the endpoint not yet available. This is important behavioral disclosure beyond the operation. Since no annotations are provided, the description carries the full burden and does so effectively. It also notes the required scope, but does not detail rate limits or output format.
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 concise, consisting of three sentences that are front-loaded with the purpose, followed by behavioral notes and an example. Every sentence adds value, with no unnecessary words.
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 only one parameter, no output schema, and no annotations, the description covers the purpose, behavior, usage example, and availability warning. It does not describe the return format, but for a simple search tool, this is a minor gap. Overall, it is fairly complete for an agent to understand and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single parameter 'query' with a description. The tool description adds an example call demonstrating usage, which provides context beyond the schema. No additional details on query format or constraints are given, but the combination is sufficient.
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 searches the Segnals knowledge base for help articles, feature documentation, and trading guides using semantic search. It specifies the resource (knowledge base) and action (search), distinguishing it from sibling tools like segnals_get_news or segnals_get_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 an example query and mentions that the tool uses semantic search, implying its use for finding relevant content. However, it does not explicitly state when to use this tool versus alternatives or when not to use it. Given the absence of a direct sibling search tool, the guidance is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_set_indicator_filterA
Configure an indicator-based regime filter (ADX, RSI, EMA, ATR) on a bot. Requires scope: write:bots.
This is a non-destructive config update โ no confirmation required. The filter is applied to the bot's config and takes effect on next trade evaluation.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to configure | |
| filter_type | Yes | Indicator filter type | |
| enabled | Yes | Enable or disable the filter | |
| params | No | Filter parameters (e.g., period, threshold) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behaviors: it is a non-destructive config update requiring no confirmation and takes effect on next trade evaluation. This covers the most important side effects. However, it does not mention persistence or reverting behavior, so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences plus a scope note. Every sentence provides essential information without redundancy. The structure front-loads the purpose and scope, making it easy to parse.
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 4 parameters (one nested object) and no output schema, the description provides adequate context: purpose, scope, non-destructive nature, and timing. It does not specify return values, but for a config update tool this is acceptable. Sibling tools for verification are available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists the indicator types matching the enum but does not add meaning beyond the schema's parameter descriptions. The phrase 'Filter parameters' is echoed from the schema, adding little value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'configure' and the specific resource 'indicator-based regime filter (ADX, RSI, EMA, ATR) on a bot'. It distinguishes this tool from sibling tools like 'segnals_update_bot' by focusing on indicator filters. The purpose is unambiguous and specific.
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 mentions the required scope 'write:bots' and notes the filter takes effect on next trade evaluation, but it does not provide explicit guidance on when to use this tool versus alternatives like 'segnals_update_bot'. No 'when not to use' or alternative suggestions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_set_notificationsA
Update notification preferences. Requires scope: manage:notifications.
Non-destructive โ no confirmation needed. Updates are deep-merged with existing preferences. Valid keys: system_reminders, daily_report, performance_alerts, weekly_summary, custom_alerts.
| Name | Required | Description | Default |
|---|---|---|---|
| preferences | Yes | Notification preferences to update. Keys: system_reminders (boolean), daily_report ({ enabled, hour_utc }), performance_alerts ({ enabled, threshold_pnl_usd }), weekly_summary ({ enabled, day, hour_utc }), custom_alerts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses that the tool is non-destructive, requires no confirmation, and performs deep-merged updates. It also lists valid keys, providing adequate behavioral context beyond the basic update action.
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 concise with three sentences: the first states purpose and scope, the second adds behavioral traits, and the third lists valid keys. Every sentence provides essential information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one complex parameter with nested objects and no output schema. The description explains the parameter's valid keys, merge behavior, and scope requirement, covering most user needs. However, it omits details about the response format or error states, which are common for such operations, leaving slight incompleteness.
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 describes the 'preferences' parameter with keys and types, achieving 100% coverage. The description adds the behavior of deep-merging and reiterates valid keys, enhancing understanding. While the schema already defines keys, the description's merge clarification adds value, justifying a score above the baseline of 3.
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 name 'segnals_set_notifications' combined with the description 'Update notification preferences' clearly communicates the tool's purpose. It explicitly states the verb (Update) and resource (notification preferences), distinguishing itself from sibling tools like segnals_get_notifications and other bot/strategy tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a required scope ('manage:notifications') and states the tool is non-destructive with no confirmation needed, guiding when to use it. However, it does not explicitly exclude alternative scenarios or compare to sibling tools, but the context is clear enough for a straightforward setter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_start_botA
Start a trading bot. Requires scope: control:bots.
TWO-STEP CONFIRMATION: Call without confirm to preview. Call with confirm: true to start. COLD-START NOTE: Starting a bot takes a few minutes. The status will show 'starting' โ 'warming_up' โ 'running'. This is normal behavior. IMPORTANT: The bot must have exchange credentials configured in the dashboard before starting.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to start | |
| confirm | No | Set to true to execute after previewing |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description discloses multi-step behavior, status transitions ('starting' โ 'warming_up' โ 'running'), and delays. Could be enhanced with idempotency or failure mode details.
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?
Well-structured with labeled sections (scope, confirmation, cold-start, important). Each sentence adds value with no repetition or fluff. Front-loaded with main action.
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?
Covers critical aspects: required parameters, behavior, prerequisites. Could mention edge cases (e.g., bot already running) but overall sufficient for a 2-param tool with no output 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 coverage is 100% with descriptive parameter names. Description adds value by explaining the two-step confirmation for 'confirm' and cold-start context. Baseline 3, elevated for additional 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 'Start a trading bot' using a specific verb and resource. It distinguishes from sibling tools like segnals_stop_bot and segnals_restart_bot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit scope requirement, two-step confirmation process, cold-start note, and prerequisite about credentials. Lacks explicit when-not-to-use instructions but covers key usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_stop_botA
Stop a running trading bot. Requires scope: control:bots.
This is a safe action โ no confirmation required. The bot will stop trading but its configuration is preserved.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to stop |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers behavioral aspects: stops trading, preserves configuration, no confirmation required. It could add details about whether it waits for open orders or requires the bot to be running, but overall it's sufficient.
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?
Two sentences, no wasted words. Essential information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description is fairly complete. It covers purpose, prerequisites, and side effects, though it could mention that the bot must be running to stop.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter (bot_id). The description does not add extra meaning beyond the schema's description, so baseline of 3 is appropriate.
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 stops a running trading bot, using a specific verb and resource. It distinguishes from siblings like start_bot and delete_bot by noting that configuration is preserved and no confirmation is needed.
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 mentions required scope and that it's a safe action, providing clear context for use. However, it does not explicitly state when not to use this tool in favor of alternatives like restart_bot or delete_bot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_update_botA
Update a bot's configuration. Requires scope: write:bots.
TWO-STEP CONFIRMATION: Call without confirm to preview changes and see risk warnings. Call with confirm: true to apply. IMPORTANT: Never include exchange API keys/secrets in the config โ users enter those in the dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
| bot_id | Yes | Bot ID to update | |
| name | No | New bot name | |
| config | No | Configuration key-value pairs to update | |
| confirm | No | Set to true to execute after previewing |
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 discloses that the tool requires write scope, uses two-step confirmation, and prohibits API keys in config. It lacks details on return values or success/failure behavior, but the confirmation mechanism adds 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?
Three short sentences, front-loaded with purpose and scope, no wasted words. Every sentence adds critical 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 no output schema and 4 well-documented parameters, the description covers purpose, prerequisite (scope), workflow (two-step), and security constraint. It doesn't mention return format, but the preview step implies a response; overall it's complete enough for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented. Description adds value by explaining the two-step confirmation workflow (preview without confirm, execute with confirm) and the security warning, which enriches semantic understanding beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Update a bot's configuration' which is a specific verb and resource, clearly distinguishing it from sibling tools like create_bot or delete_bot.
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?
Explicitly mentions required scope (write:bots), describes a two-step confirmation process (preview then apply), and warns against including API keys in config, providing clear when-to-use and when-not-to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segnals_whoamiA
Verify your API key and check your Segnals identity. Returns your username, account tier, and connection status. Use this as the FIRST call to confirm the API key is working. Requires: any valid API key. Example: segnals_whoami()
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that the tool is a read-only verification (returns info, no side effects) and requires a valid API key. It does not contradict any implicit expectations.
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 very concise: two sentences plus a requirement and example. It front-loads the purpose and provides essential details without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity (no parameters, no output schema), the description is fully complete. It covers what the tool does, what it returns, when to use it, and prerequisites.
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?
No parameters exist, so schema coverage is 100%. The description does not need to add parameter details; it already explains the tool's action and output.
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: verifying API key and checking identity, with specific return values (username, account tier, connection status). It distinguishes itself from siblings by being the identity verification tool, while siblings deal with bots, marketplace, etc.
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?
Explicitly advises to use as the first call to confirm API key working, and provides a requirement (any valid API key). However, it does not mention when to avoid using it or alternative tools for similar purposes among siblings like get_account.
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.
36 tool updates
v0.1.0- First observed
segnals_browse_marketplace - First observed
segnals_control_copy_trading - First observed
segnals_copy_strategy - First observed
segnals_create_bot - First observed
segnals_create_strategy - First observed
segnals_delete_bot - First observed
segnals_explain_config - First observed
segnals_get_account - First observed
segnals_get_bot - First observed
segnals_get_bot_logs - First observed
segnals_get_bot_performance - First observed
segnals_get_capabilities - First observed
segnals_get_copy_trading - First observed
segnals_get_dashboard - First observed
segnals_get_listing - First observed
segnals_get_market_price - First observed
segnals_get_news - First observed
segnals_get_notifications - First observed
segnals_get_pnl_summary - First observed
segnals_get_safety_disclaimer - First observed
segnals_get_sentiment - First observed
segnals_get_strategy_schema - First observed
segnals_get_subscription - First observed
segnals_get_trades - First observed
segnals_list_bots - First observed
segnals_list_connections - First observed
segnals_my_listings - First observed
segnals_publish_listing - First observed
segnals_restart_bot - First observed
segnals_search_knowledge - First observed
segnals_set_indicator_filter - First observed
segnals_set_notifications - First observed
segnals_start_bot - First observed
segnals_stop_bot - First observed
segnals_update_bot - First observed
segnals_whoami
TDQS
Scored across 36 tools
Most tools have distinct purposes, but there is some overlap among performance/stats tools (get_bot_performance, get_dashboard, get_pnl_summary). Descriptions clarify differences, and the 'coming soon' tools are clearly marked. Overall, agents can reliably select the correct tool.
All tools follow a consistent 'segnals_verb_noun' pattern in snake_case. The naming convention is uniform across all 36 tools, making it easy to predict tool names.
36 tools is on the higher side but appropriate for a comprehensive trading bot platform. The tools cover account management, bot CRUD, marketplace, copy trading, and notifications. Could potentially be streamlined, but the scope justifies the count.
The tool set covers major workflows: account, bots, marketplace, copy trading, and notifications. Missing delete marketplace listing and some tools are 'coming soon' (get_market_price, get_sentiment, search_knowledge), but core operations are present.
Maintenance
Related MCP Connectors
- CPZAIOAuthcom.cpz-lab.mcp
Build, backtest, and deploy quantitative trading strategies from your AI agent.
Unified financial infrastructure connecting AI agents directly to trade live/demo brokerage accounts, Web3 non-custodial wallets, real-time market data across equities, ETFs, crypto, forex, options, DeFi swaps, and prediction markets, institutional research feeds, and algorithmic strategy backtesters.
Crypto market signals, technical indicators, and sentiment analysis for AI agents.
Save and query market signals from your AI conversations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely trade on Hyperliquid perpetual exchange, including order placement, position management, market data retrieval, and vault operations via natural language.21MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to trade stocks directly through natural language by creating and managing bots, executing trades, accessing market data, and backtesting strategies.4MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to run backtests, fetch market data, list strategies, and analyze trading algorithms via natural language.1,092GPL 3.0
- FlicenseNot gradedqualityDmaintenanceEnables quant research, strategy development, backtesting, and paper trading through natural language prompts, integrated with 20+ AI agents.134-