Skip to main content
Glama

Add to a watchlist

watchlists_add_symbols

Adds markets to one of the signed-in member's watchlists (its id from watchlists_list), at the end of the list or in a named section; a market already in the list is left as it is. Returns the list as saved, in words, with a Vela chart link per added market. How many watchlists and symbols per list the member may have comes from their LuxAlgo plan: at a limit the call answers with the limit and where to upgrade, and nothing is saved. It changes the member's account, so the chat app may ask the user to confirm first. Requires signing in with a LuxAlgo account (OAuth).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "watchlist_id": "<watchlist_id>",
      "symbols": "<symbols>",
      "context": "<context>"
    },
    "name": "watchlists_add_symbols"
  }
}

Input Schema

NameRequiredDescriptionDefault
etfNoFile the US listings among `symbols` under ETFs instead of Stocks.
contextYesExplain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution."
sectionNoA section of the list to put them in (the list's own groupings).
symbolsYesMarkets, each a market as source:TICKER, e.g. "binance:BTCUSDT", "hyperliquid:BTC", "coinbase:BTC-USD", "edgx:AAPL" (US stocks and ETFs; "NASDAQ:AAPL" works too), "fx:EURUSD", "commodities:XAUUSD", "cme:ES1!". A bare stablecoin pair ("BTCUSDT") is read as Binance and a bare "ES1!" as CME.
watchlist_idYesThe watchlist's id, from watchlists_list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true), the description discloses that existing symbols are left untouched (idempotent), that hitting a plan limit saves nothing and returns upgrade guidance, and that OAuth sign-in is required. This is materially useful behavior an agent could not infer from annotations alone, and nothing contradicts them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action, placement, and idempotency are front-loaded in the first sentence, with plan limits and auth later. It is somewhat dense in single long clauses, but every sentence carries distinct information and none is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description explains what comes back ('the list as saved, in words, with a Vela chart link per added market') and how failures at a plan limit surface. Combined with the auth requirement and confirmation caveat, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description still adds meaning: it clarifies that 'section' places symbols into the list's own groupings versus appending at the end, which the schema treats only as 'a section of the list'. It also confirms the returned payload includes a chart link per added market, tying symbols to an observable effect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Adds markets to one of the signed-in member's watchlists'. It scopes the operation to the signed-in member's own lists and states placement rules (end of list or a named section), which lets an agent distinguish it from watchlists_remove_symbols and watchlists_create without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It tells the agent to obtain the id 'from watchlists_list' and notes the confirmation step the chat app may require before a write. It does not explicitly name the removal or creation siblings as alternatives, so the routing guidance is clear but not exhaustively enumerated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.