Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Tsx Query

БесплатноНе проверен

Semantic React/TSX analysis MCP server that saves 70-90% tokens by using AST to retrieve precise component usages, prop flow, and state update information for A

GitHubEmbed

Описание

Semantic React/TSX analysis MCP server that saves 70-90% tokens by using AST to retrieve precise component usages, prop flow, and state update information for AI coding assistants.

README

Semantic React/TSX analysis MCP server for AI coding assistants.

Save 70-90% tokens compared to grep + file reads.

npm version npm downloads License: MIT

Why tsx-query?

LLMs waste tokens on grep + file reads. tsx-query uses semantic AST analysis to return precisely what you need.

Query grep + read tsx-query Savings
Find Button usages ~15,000 tokens ~800 tokens 95%
Trace prop flow (5 levels) ~75,000 tokens ~3,000 tokens 96%
Find all setState calls ~30,000 tokens ~1,500 tokens 95%
Analyze re-render triggers ~40,000 tokens ~2,000 tokens 95%

Installation

npm install -g @paramhq/tsx-query

Quick Start

For Claude Code

claude mcp add tsx-query -- npx -y @paramhq/tsx-query

Or manually add to your MCP config (~/.claude/mcp.json or project .mcp.json):

{
  "mcpServers": {
    "tsx-query": {
      "command": "npx",
      "args": ["-y", "@paramhq/tsx-query"]
    }
  }
}

For Other MCP Clients

{
  "command": "npx",
  "args": ["-y", "@paramhq/tsx-query"]
}

From Source

git clone https://github.com/paramhq/tsx-query.git
cd tsx-query
npm install
npm run build
npm run mcp

High-Value Tools

1. find_component_usages

Find all JSX usages of a component with powerful filtering.

{
  "projectPath": "/path/to/project",
  "componentName": "Button",
  "withProp": "onClick",
  "hasInlineHandler": true
}

Filters:

  • withProp / withoutProp - Filter by prop existence
  • withPropValue - Filter by prop value (exact or regex)
  • hasInlineHandler - Find inline arrow handlers
  • hasSpreadProps - Find spread props usage
  • onlyConditional - Only conditional renders

Returns: File locations, props with values, parent component, code snippets.

2. trace_prop_flow

Trace a prop through the component hierarchy. Replaces reading 5-10 files manually.

{
  "projectPath": "/path/to/project",
  "propName": "userId",
  "startFile": "src/components/UserDetails.tsx",
  "direction": "up"
}

Returns: Complete prop path through components with transformations (renamed, destructured, spread).

3. trace_state_updates

Find all locations that update a state variable. Understand state flow without reading handlers.

{
  "projectPath": "/path/to/project",
  "filePath": "src/components/UserForm.tsx",
  "stateName": "formData"
}

Returns: All setState calls with context (handler, useEffect, inline), trigger events, async/conditional flags.

4. find_render_triggers

Analyze what causes a component to re-render with optimization suggestions.

{
  "projectPath": "/path/to/project",
  "filePath": "src/components/UserProfile.tsx",
  "componentName": "UserProfile"
}

Returns: Props, state, context, hooks that trigger renders + memoization status + suggestions.

5. analyze_imports

Analyze import/export relationships with cached import graph.

{
  "projectPath": "/path/to/project",
  "filePath": "src/components/Button/index.ts",
  "direction": "importedBy"
}

Returns: What imports this file, unused exports, circular dependencies.

Additional Tools

Tool Purpose
find_hook_usages Find all usages of a hook across codebase
analyze_hook_deps Find missing/unnecessary hook dependencies
analyze_file Analyze single file structure
list_components List all JSX in a file
clear_cache Clear project cache after external changes

Roadmap

  • trace_event_handler - Trace callback chains from event to side effects
  • trace_context_usage - Map Context providers to consumers

Why Use Over Grep?

Grep Limitation tsx-query Solution
Finds "Button" in comments/strings Only finds JSX <Button> usages
Can't filter by prop values withPropValue: { prop: "variant", value: "danger" }
Can't detect aliased imports Handles import { Button as Btn }
Can't trace prop flow Full cross-file prop tracing
Reads entire files Returns only relevant data

Built With

Author

Sukhdev - @paramhq

Contributing

See CONTRIBUTING.md for guidelines.

License

MIT - see LICENSE

from github.com/paramhq/tsx-query

Установка Tsx Query

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/paramhq/tsx-query

FAQ

Tsx Query MCP бесплатный?

Да, Tsx Query MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Tsx Query?

Нет, Tsx Query работает без API-ключей и переменных окружения.

Tsx Query — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Tsx Query в Claude Desktop, Claude Code или Cursor?

Открой Tsx Query на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Tsx Query with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai