sqry-claude

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

sqry for Claude Code

适用于Claude Code的sqry

This skill configures Claude Code to use sqry's MCP server for AST-based semantic code search across 37 languages.
本技能用于配置Claude Code对接sqry的MCP服务器,实现支持37种语言的基于AST的语义代码搜索能力。

Setup

安装设置

1. Install sqry

1. 安装sqry

bash
undefined
bash
undefined

Recommended: signed release installer

推荐:签名版本安装脚本

Fallback: build from source

备选方案:从源码构建

cargo install sqry-cli cargo install sqry-mcp
cargo install sqry-cli cargo install sqry-mcp

Alternative package manager

其他包管理器安装

brew install verivus-oss/sqry/sqry
undefined
brew install verivus-oss/sqry/sqry
undefined

2. Index your project

2. 为你的项目生成索引

bash
cd /path/to/your/project
sqry index .
bash
cd /path/to/your/project
sqry index .

3. Configure MCP server

3. 配置MCP服务器

Recommended:
bash
sqry mcp setup --tool claude
sqry mcp status
This writes a Claude Code entry in
.claude.json
or
~/.claude.json
pointing to
sqry-mcp
. Claude defaults to per-project configuration with
SQRY_MCP_WORKSPACE_ROOT
pinned to the current repository.
Manual config example:
json
{
  "mcpServers": {
    "sqry": {
      "type": "stdio",
      "command": "/absolute/path/to/sqry-mcp",
      "env": {
        "SQRY_MCP_WORKSPACE_ROOT": "/path/to/your/project"
      }
    }
  }
}
推荐配置方式:
bash
sqry mcp setup --tool claude
sqry mcp status
该命令会在
.claude.json
~/.claude.json
中写入指向
sqry-mcp
的Claude Code配置条目。Claude默认使用项目级配置,
SQRY_MCP_WORKSPACE_ROOT
会被固定为当前代码仓库路径。
手动配置示例:
json
{
  "mcpServers": {
    "sqry": {
      "type": "stdio",
      "command": "/absolute/path/to/sqry-mcp",
      "env": {
        "SQRY_MCP_WORKSPACE_ROOT": "/path/to/your/project"
      }
    }
  }
}

4. Verify

4. 验证配置

After restarting Claude Code, tools should appear with the
mcp__sqry__
prefix. Test with:
"Use sqry to show graph stats for this project"
This should invoke
mcp__sqry__get_graph_stats
and return node/edge counts.
重启Claude Code后,工具列表中应该会出现前缀为
mcp__sqry__
的工具,可以用以下指令测试:
"用sqry展示当前项目的图统计数据"
该指令会调用
mcp__sqry__get_graph_stats
并返回节点/边的数量统计。

Skill Dependency

技能依赖

This skill covers Claude Code setup and integration patterns. Also load the
sqry-semantic-search
skill
for tool selection guidance, query syntax, and disambiguation strategies.
sqry-semantic-search uses tiered discovery to save tokens: it loads a compact Quick Tool Selection guide first. If you need full parameter details, load
sqry-semantic-search/references/tool-reference.md
. For advanced workflows (security audit, pre-change analysis), load
sqry-semantic-search/references/workflows.md
. Only load what you need.
本技能仅涵盖Claude Code的配置与集成方式。请同时加载
sqry-semantic-search
技能
来获取工具选择指引、查询语法和歧义消解策略。
sqry-semantic-search采用分层加载机制节省token:默认会先加载精简的快速工具选择指南。如果需要完整的参数说明,可以加载
sqry-semantic-search/references/tool-reference.md
。如果需要高级工作流(安全审计、变更前分析),可以加载
sqry-semantic-search/references/workflows.md
。仅加载你需要的内容即可。

Quick Tool Selection

快速工具选择指南

I know the symbol name and want to...
  • See its definition →
    mcp__sqry__get_definition
  • See who calls it →
    mcp__sqry__direct_callers
    (depth=1) or
    mcp__sqry__relation_query
    (multi-depth)
  • See what it calls →
    mcp__sqry__direct_callees
  • See what breaks if I change it →
    mcp__sqry__dependency_impact
  • Understand it with context →
    mcp__sqry__explain_code
I want to search for symbols...
  • By name substring →
    mcp__sqry__pattern_search
  • By kind/visibility/language →
    mcp__sqry__semantic_search
  • With RAG-optimized grouping →
    mcp__sqry__hierarchical_search
I want to analyze the codebase...
  • Circular dependencies →
    mcp__sqry__find_cycles
  • Dead code →
    mcp__sqry__find_unused
  • Change impact →
    mcp__sqry__dependency_impact
  • Trace call path A→B →
    mcp__sqry__trace_path
如果你知道符号名称,想要...
  • 查看其定义 →
    mcp__sqry__get_definition
  • 查看哪些代码调用了它 →
    mcp__sqry__direct_callers
    (深度=1)或
    mcp__sqry__relation_query
    (多层深度)
  • 查看它调用了哪些代码 →
    mcp__sqry__direct_callees
  • 查看修改它会影响哪些功能 →
    mcp__sqry__dependency_impact
  • 结合上下文理解其功能 →
    mcp__sqry__explain_code
如果你想要搜索符号...
  • 按名称子串搜索 →
    mcp__sqry__pattern_search
  • 按类型/可见性/语言搜索 →
    mcp__sqry__semantic_search
  • 使用RAG优化的分组搜索 →
    mcp__sqry__hierarchical_search
如果你想要分析代码库...
  • 查找循环依赖 →
    mcp__sqry__find_cycles
  • 查找死代码 →
    mcp__sqry__find_unused
  • 评估变更影响范围 →
    mcp__sqry__dependency_impact
  • 追踪A到B的调用路径 →
    mcp__sqry__trace_path

Handling Ambiguous Symbols

歧义符号处理

When using
mcp__sqry__direct_callers
,
mcp__sqry__direct_callees
, or
mcp__sqry__call_hierarchy
with common names (
handle
,
new
,
init
,
process
,
run
), the tool may fail or return wrong results.
Always disambiguate by providing
file_path
:
json
{
  "symbol": "handle",
  "file_path": "src/api/router.rs"
}
Or use a qualified name:
"symbol": "UserService::authenticate"
If relation tools fail, fall back to
mcp__sqry__get_references
with a
path
filter to scope results.
当使用
mcp__sqry__direct_callers
mcp__sqry__direct_callees
mcp__sqry__call_hierarchy
查询常见通用名称(
handle
new
init
process
run
)时,工具可能会调用失败或返回错误结果。
请始终通过提供
file_path
来消除歧义
json
{
  "symbol": "handle",
  "file_path": "src/api/router.rs"
}
或者使用限定名称:
"symbol": "UserService::authenticate"
如果关系查询工具调用失败,可以回退到使用带
path
过滤器的
mcp__sqry__get_references
来限定结果范围。

Tool Naming in Claude Code

Claude Code中的工具命名规则

All sqry MCP tools use the
mcp__sqry__
prefix in Claude Code:
mcp__sqry__semantic_search
mcp__sqry__relation_query
mcp__sqry__dependency_impact
mcp__sqry__explain_code
mcp__sqry__trace_path
mcp__sqry__find_cycles
...
所有sqry MCP工具在Claude Code中都使用
mcp__sqry__
前缀:
mcp__sqry__semantic_search
mcp__sqry__relation_query
mcp__sqry__dependency_impact
mcp__sqry__explain_code
mcp__sqry__trace_path
mcp__sqry__find_cycles
...

Recommended CLAUDE.md Addition

推荐添加到CLAUDE.md的内容

Add this to your project's
CLAUDE.md
to guide Claude on when to use sqry:
markdown
undefined
将以下内容添加到项目的
CLAUDE.md
中,指导Claude何时使用sqry:
markdown
undefined

Code Search

代码搜索

Use sqry MCP tools (
mcp__sqry__*
) as the default for semantic code search:
  • mcp__sqry__semantic_search
    - Find symbols by meaning
  • mcp__sqry__hierarchical_search
    - RAG-optimized search with grouping
  • mcp__sqry__relation_query
    - Find callers, callees, imports
  • mcp__sqry__explain_code
    - Understand a symbol with context
Use Grep for literal text search. Use Glob for file finding. Use sqry for everything structural.
undefined
默认使用sqry MCP工具(
mcp__sqry__*
)进行语义代码搜索:
  • mcp__sqry__semantic_search
    - 按语义查找符号
  • mcp__sqry__hierarchical_search
    - 带分组的RAG优化搜索
  • mcp__sqry__relation_query
    - 查找调用方、被调用方、导入关系
  • mcp__sqry__explain_code
    - 结合上下文理解符号功能
字面文本搜索使用Grep,文件查找使用Glob,所有结构相关的搜索都使用sqry。
undefined

Workflow

工作流

  1. Search first: Use
    mcp__sqry__semantic_search
    or
    mcp__sqry__hierarchical_search
    before reading files manually.
  2. Understand before changing: Call
    mcp__sqry__dependency_impact
    before modifying shared code.
  3. Trace relationships: Use
    mcp__sqry__direct_callers
    and
    mcp__sqry__direct_callees
    to understand call chains.
  4. Verify after changes: Use
    mcp__sqry__semantic_diff
    to compare before/after at the symbol level.
  1. 先搜索:手动阅读文件前先使用
    mcp__sqry__semantic_search
    mcp__sqry__hierarchical_search
    检索。
  2. 改前先评估影响:修改公共代码前先调用
    mcp__sqry__dependency_impact
  3. 追踪关系:使用
    mcp__sqry__direct_callers
    mcp__sqry__direct_callees
    理解调用链。
  4. 变更后验证:使用
    mcp__sqry__semantic_diff
    在符号级别对比变更前后的差异。

Common Claude Code Patterns

常见Claude Code使用模式

Find a function and its callers

查找函数及其调用方

User: "Who calls the authenticate function?"

Claude uses: mcp__sqry__relation_query
  symbol: "authenticate"
  relation_type: "callers"
  max_depth: 2
用户:"谁调用了authenticate函数?"

Claude使用:mcp__sqry__relation_query
  symbol: "authenticate"
  relation_type: "callers"
  max_depth: 2

Understand impact before refactoring

重构前评估影响范围

User: "What would break if I change UserService?"

Claude uses: mcp__sqry__dependency_impact
  symbol: "UserService"
  max_depth: 3
  include_indirect: true
用户:"如果我修改UserService会影响哪些功能?"

Claude使用:mcp__sqry__dependency_impact
  symbol: "UserService"
  max_depth: 3
  include_indirect: true

Explore unfamiliar code

探索不熟悉的代码

User: "Help me understand the auth module"

Claude uses:
1. mcp__sqry__semantic_search  query: "path:src/auth"
2. mcp__sqry__explain_code     file_path: "src/auth/mod.rs", symbol_name: "authenticate"
3. mcp__sqry__subgraph         symbols: ["authenticate", "verify_token"]
用户:"帮我理解auth模块"

Claude使用:
1. mcp__sqry__semantic_search  query: "path:src/auth"
2. mcp__sqry__explain_code     file_path: "src/auth/mod.rs", symbol_name: "authenticate"
3. mcp__sqry__subgraph         symbols: ["authenticate", "verify_token"]

Recent Features (since v6.0)

最新功能(v6.0版本起)

Plugin cost tiering

插件成本分层

  • Plugins classified as
    Fast
    (default) or
    HighWallClock
  • High-cost plugins (JSON, ServiceNow XML) excluded from default index
  • CLI:
    --include-high-cost
    /
    --exclude-high-cost
    ,
    --enable-plugin ID
    /
    --disable-plugin ID
  • Env:
    SQRY_INCLUDE_HIGH_COST=1
  • 插件分为
    Fast
    (默认)和
    HighWallClock
    两类
  • 高成本插件(JSON、ServiceNow XML)默认不纳入索引
  • CLI参数:
    --include-high-cost
    /
    --exclude-high-cost
    --enable-plugin ID
    /
    --disable-plugin ID
  • 环境变量:
    SQRY_INCLUDE_HIGH_COST=1

Time-expensive MCP operations

耗时较长的MCP操作

  • rebuild_index
    : 10min timeout, full graph rebuild -- only when index stale
  • semantic_diff
    : creates git worktrees + indexes -- scope with file/kind filters
  • find_cycles
    ,
    complexity_metrics
    : can timeout on large graphs -- scope to files
  • find_duplicates
    : quadratic scaling -- filter by file/language/kind
  • call_hierarchy
    depth>2,
    dependency_impact
    depth>3: exponential growth
  • rebuild_index
    :10分钟超时,全量重建图索引 -- 仅当索引过期时使用
  • semantic_diff
    :创建git工作树+生成索引 -- 可通过文件/类型过滤器限定范围
  • find_cycles
    complexity_metrics
    :在大型图上可能超时 -- 限定到指定文件范围使用
  • find_duplicates
    :二次方时间复杂度 -- 通过文件/语言/类型过滤缩小范围
  • call_hierarchy
    深度>2、
    dependency_impact
    深度>3:指数级耗时增长

Macro boundary analysis (Rust)

宏边界分析(Rust)

  • CLI:
    sqry cache expand
    ,
    --enable-macro-expansion
    ,
    --cfg
    ,
    --cfg-filter
    ,
    --include-generated
    ,
    --macro-boundaries
  • MCP:
    mcp__sqry__expand_cache_status
    tool, macro metadata in search/definition results
  • CLI参数:
    sqry cache expand
    --enable-macro-expansion
    --cfg
    --cfg-filter
    --include-generated
    --macro-boundaries
  • MCP:提供
    mcp__sqry__expand_cache_status
    工具,搜索/定义结果中包含宏元数据

JVM classpath analysis

JVM类路径分析

  • CLI:
    --classpath
    ,
    --classpath-depth
    ,
    --classpath-file
  • MCP:
    include_classpath
    parameter on search tools,
    provenance
    field in results
  • CLI参数:
    --classpath
    --classpath-depth
    --classpath-file
  • MCP:搜索工具支持
    include_classpath
    参数,结果中包含
    provenance
    字段

Security defaults

安全默认配置

  • MCP redaction preset now
    "minimal"
    by default (was
    "none"
    )
  • Override:
    SQRY_REDACTION_PRESET=none
  • Index timeout: 600s, query timeout: 60s
  • MCP脱敏预设默认改为
    "minimal"
    (之前为
    "none"
  • 覆盖配置:
    SQRY_REDACTION_PRESET=none
  • 索引超时:600秒,查询超时:60秒

Other

其他更新

  • 37 language plugins (added JSON, ServiceNow XML)
  • Snapshot format V7 -- rebuild index on major version upgrade
  • Multi-root VS Code workspace support
  • 支持37种语言插件(新增JSON、ServiceNow XML)
  • 快照格式升级为V7 -- 大版本升级后需要重建索引
  • 支持多根目录VS Code工作区

Troubleshooting

故障排查

  • No tools visible: Restart Claude Code after running
    sqry mcp setup --tool claude
  • Empty results: Run
    sqry index .
    to build/rebuild the index
  • Stale results: Run
    sqry index --force .
    to force rebuild
  • Snapshot version mismatch: Run
    rm -rf .sqry/graph && sqry index .
    after major upgrades
  • Missing JSON/ServiceNow symbols: Rebuild with
    sqry index --include-high-cost
  • Check health: Ask Claude to call
    mcp__sqry__get_index_status
  • 看不到工具:执行
    sqry mcp setup --tool claude
    后重启Claude Code
  • 返回空结果:执行
    sqry index .
    生成/重建索引
  • 结果过期:执行
    sqry index --force .
    强制重建索引
  • 快照版本不匹配:大版本升级后执行
    rm -rf .sqry/graph && sqry index .
  • 找不到JSON/ServiceNow相关符号:使用
    sqry index --include-high-cost
    重建索引
  • 检查健康状态:让Claude调用
    mcp__sqry__get_index_status