Skip to main content
Glama
vvmahesh0

paper-cdp-mcp

by vvmahesh0

find_nodes

Locate design elements by computed style or text content to find every instance using a token, value, or copy before bulk updates. Supports filters, wildcards, and color equivalence.

Instructions

Find nodes by computed style and/or text content — useful for locating everything using a given token, literal value, or piece of copy before a bulk update. Searches the whole page, or pass nodeId to scope to a node and its descendants. Pass filters, textValue, or both (AND). filters are { styleName, styleValue } matchers combined with AND (color is X AND fontSize is Y). styleValue may be a literal ("#ff0000", "16px") or a token ("--color-primary"). Both fields accept "" wildcards and colors match by equivalence ("#ccc" == "rgb(204, 204, 204)"). A literal color query also finds token-bound usages (reported as the var(--token) reference), so to migrate a raw color to a token you can search the color directly. Omit one field to match any property or any value. textValue matches Text node content, case-insensitive, with "" wildcards anchored to the whole value ("Submit", "Get *", "started"). Each result has its ID, name, component, and a matched array of the { styleName, styleValue } / { textValue } entries that satisfied the query; for a color or token found inside a composite value (gradient/border), styleValue is the matched fragment, not the whole value.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileIdNoOptional. The Paper file ID this call should act on. Pass it to reliably target a specific file when several are open at once (e.g. multiple agents from the same session working in parallel). Omit to use the most recently opened file in the session.
nodeIdNoRestrict the search to this node and its descendants. Omit to search the whole page.
filtersNoStyle matchers combined with AND — a node must satisfy every one (plus `textValue`, if given).
textValueNoMatch Text node content. Case-insensitive; "*" is a wildcard anchored to the whole value ("foo*", "*foo*", "foo*bar"). AND-combined with `filters`.
Install Server

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description covers all critical behavioral details: exact matching logic (wildcard anchoring, color equivalence, token resolution), case-insensitivity, AND semantics, and the result shape ('matched' array with fragments). It even explains edge cases like composite values (gradient/border). This is thorough and goes well beyond what a schema could convey.

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

Conciseness4/5

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

The description is long but information-dense, with a logical flow: purpose → scoping → filter semantics → text matching → result details. Every sentence adds unique value; there is no fluff or repetition. However, it could be slightly more compact by grouping related matching rules, and front-loading the purpose is done well. The length is justified by the tool's complexity.

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 complex search tool with no output schema and no annotations, this description is exceptionally complete. It covers all parameters, matching subtleties, AND logic, result structure, and edge cases. An agent would have everything it needs to invoke the tool correctly and interpret results. No obvious gaps remain given the tool's scope.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial semantic value beyond the schema. It explains the structure of filters objects, the meaning of wildcards in styleName and styleValue, token vs. literal matching, color equivalence, and the special behavior of finding token-bound usages. It also clarifies textValue pattern anchoring and case-insensitivity. This goes far beyond the schema's per-field descriptions.

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 states a clear verb+resource: 'Find nodes by computed style and/or text content.' It explicitly mentions the use case for locating tokens, literal values, or copy before bulk updates, which distinguishes it from generic node traversal tools like get_children or query_nodes. The specificity of matching modes (style, text, AND) makes its purpose unambiguous.

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?

Provides concrete guidance on when to use the tool (e.g., 'before a bulk update') and how to scope the search (whole page vs. node subtree). It clearly explains the AND combination of filters and textValue, and describes wildcard and matching rules. However, it does not explicitly name alternative tools or state conditions for choosing this over query_nodes or get_computed_styles, so it falls 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.

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vvmahesh0/paper-cdp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server