mcpField
S
sqry - Semantic Code Search

sqry - Semantic Code Search

本地服务
github.com开发工具313 周前更新

关于 sqry - Semantic Code Search

sqry 是基于 AST 的语义代码搜索 MCP 服务,提供 39 个工具,覆盖 37 种语言,支持调用链追踪与影响分析。standalone 模式下暴露完整工具集,daemon 模式下为 17 个工具的子集。

主要功能

  1. 01基于 AST 的符号与关系查询
  2. 02调用链追踪与影响分析
  3. 0337 种语言支持
  4. 04standalone 与 daemon 两种运行模式
  5. 05按 redaction 预设控制路径可见性

适用场景

  1. 01在大型代码库中查找函数定义与调用方
  2. 02评估修改某个符号可能影响的范围
  3. 03为 AI 编码 Agent 提供结构化代码检索

MCP 相关

sqry-mcp 以 MCP 服务形式向客户端暴露语义搜索工具,包括符号搜索、关系查询、影响分析等。可通过 tools/list、sqry-mcp --list-tools 或 sqry://meta/manifest 获取工具目录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
cargosqry-mcp33.0.1
ocighcr.io/verivus-oss/sqry-mcp:v33.0.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

sqry MCP 服务

版本:33.0.1

MCP Registry 名称:mcp-name: io.github.verivus-oss/sqry

sqry-mcp 向 Model Context Protocol 客户端提供 sqry 语义代码搜索工具。

模式

独立模式:

sqry-mcp --no-daemon

守护进程支持模式:

sqry daemon start
sqry daemon load .
sqry-mcp --daemon

独立模式目前提供 39 个工具。由守护进程托管的 MCP 提供由 sqryd 支持的 17 个工具子集。请使用动态发现来获取准确的架构和描述:

sqry-mcp --list-tools

MCP 客户端也可以调用 tools/list,sqry 客户端可以读取 sqry://meta/manifest。

**在 21.0.0 中移除:**自然语言 MCP 工具 sqry_ask 已移除。请改用 sqry_query、semantic_search 和 relation_query;迁移说明请参阅已移除的功能。

设置

sqry mcp setup --tool claude
sqry mcp setup --tool codex
sqry mcp setup --tool gemini

预览但不写入:

sqry mcp setup --tool codex --dry-run

Codex 和 Gemini 使用全局 MCP 配置,并依赖在目标项目中启动助手。Claude 项目范围可以固定工作区根目录。

设置写入独立模式命令时,预期会包含 --no-daemon。只有在你有意启动并加载 sqryd 时,才使用 --daemon。

工具发现

优先使用发现功能,而不是复制静态表格:

  • MCP tools/list
  • sqry-mcp --list-tools
  • sqry://meta/manifest
  • sqry://docs/tool-guide
  • sqry://docs/capability-map

独立模式目录包含用于符号搜索、导航、关系查询、图导出、影响分析、语义差异、重复项/循环/未使用项检测、工作区状态和上下文传播的工具。

快速开始:工具调用

使用 query 指定字符串谓词,使用 filters 指定结构化 JSON 预筛选条件:

{
  "name": "semantic_search",
  "arguments": {
    "query": "kind:function items:true",
    "filters": {
      "language": ["rust"],
      "visibility": "public"
    }
  }
}

在 query 中使用 items:true 或 is_definition:true 指定仅限定义的谓词。对于 list_symbols,请改用结构化的 items_only 参数:

{
  "name": "list_symbols",
  "arguments": {
    "kind": "function",
    "language": "rust",
    "items_only": true
  }
}

在缺少可靠定义信号的 V16 之前的快照中,这些仅限定义的接口会返回 reindexRequired/需要重新索引的提示,而不会静默地基于过期的默认 false 标记数据进行评估。

工作区

MCP 会从显式路径、包含文件的参数、MCP 根目录、最近的会话上下文,以及当前工作目录回退值中解析工作区上下文。

对于多根项目,请使用 .sqry-workspace 或包含 sqry.workspace 的 VS Code .code-workspace 文件配置工作区。

sqry workspace status . --json

source_root_id

workspace_status.aggregate.source_root_statuses[].source_root_id 是一个不透明的 8 位十六进制显示/关联令牌。它不是路径,也不是路径前缀。

无效的工具路径:

485f1995/src/lib.rs

有效的工具路径:

src/lib.rs
/absolute/path/to/workspace/src/lib.rs

启用脱敏后,结果路径可能会以源根前缀的形式呈现。请仅使用 source_root_id 将该显示前缀与汇总状态条目关联起来。只有当所选脱敏预设允许时,顶层 source_roots[] 中才会显示未加密的源根路径。

脱敏

MCP 运行时默认值为 minimal。对于托管或外部大模型提供商,除非需要更严格的路径隐私保护,否则推荐使用 standard 预设。strict 可用于更强的脱敏。

请区分以下配置:

  • 运行时默认值:minimal
  • 外部提供商推荐预设:standard
  • 库/环境默认值:嵌入场景的具体行为请参阅 sqry-mcp-redaction 文档

相关指南

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。