Skip to main content
Glama
pbajkovic-hub

tv-cdp-mcp

tv_open_chart_url

Destructive

Opens any TradingView chart URL or layout id in the chart tab, waits until ready, then reports layout owner and read-only status. Blocks navigation when unsaved changes exist unless discard_changes=true.

Instructions

Open a TradingView chart URL (or bare layout id) in the bound chart tab - own layouts and other users' shared / View Only charts alike. Full page reload, ~20 s; waits until the chart is ready and reports the layout it landed on, its owner and whether it is read-only. Refuses while the current layout has unsaved changes unless discard_changes=true.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYeshttps://www.tradingview.com/chart/<id>/... or the bare layout id
layoutNochart layout id, target id, or 0-based index; default = the chart tab that is actually painting
timeout_sNoreadiness deadline, default 45
expect_layoutNolayout id the tab is expected to show right now; the call refuses if it differs (a tab keeps its target id when the user opens another layout in it)
discard_changesNonavigate away even if the current layout has unsaved changes (default false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

The description provides transparent behavioral details beyond the annotations: full page reload, ~20 seconds duration, waiting for chart readiness, reporting the landed layout/owner/read-only status, and refusing on unsaved changes. This aligns with the destructiveHint=true annotation because it can discard unsaved changes when discard_changes=true. No contradiction exists.

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

Conciseness5/5

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

The description is three tight, information-dense sentences with no fluff. It front-loads the core action and scope, then adds timing, outcome reporting, and a key refusal condition. Every sentence earns its place.

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?

For a tool with 5 parameters, annotations, and no output schema, the description is complete enough: it explains what the tool does, how long it takes, what it returns, and its destructive edge case regarding unsaved changes. An agent can correctly select and invoke this tool without needing additional context.

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?

With 100% schema description coverage, the baseline is 3, but the description adds meaningful behavioral context tied to parameters: it explains the ~20s reload and readiness wait relevant to timeout_s, and clarifies the discard_changes behavior when unsaved changes exist. It does not add new syntax details beyond the schema, but the behavioral coupling is useful.

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: 'Open a TradingView chart URL (or bare layout id) in the bound chart tab.' It clarifies scope by including own layouts and other users' shared/View Only charts, which distinguishes it from sibling tools like tv_list_layouts and tv_get_chart_state. The uniqueness of the action is immediately clear.

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?

The description clearly states when to use the tool: to open a chart URL or bare layout id in the currently bound tab. It also explains a key usage condition: it refuses when the current layout has unsaved changes unless discard_changes=true. It does not explicitly name alternatives or exclusions, so it stops short of a 5.

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