Unch:一个基于 Go 的 MCP 服务器,用于语义代码搜索
Unch 是一个由 Uchebnick 开发的 MCP 服务器工具,主要使用 Go 编程语言构建。这个免费的程序被归类为 MCP 服务器,旨在进行语义代码搜索。它通过理解代码行为而不是依赖于确切名称,帮助开发人员和工程师发现代码符号和文档。Unch 可以通过 npm、Homebrew、shell 安装程序、PowerShell 或直接使用 "go install" 安装,提供跨各种平台的灵活分发选项。
最受推荐的替代方案
Unch 连接到什么?
Unch 作为一种本地优先的语义代码搜索工具,连接到代码库以索引和搜索代码符号和文档。它遵循模型上下文协议(MCP)标准,这意味着支持 stdio 和可流式 HTTP 传输机制,SSE 也是一种常见类型。Unch 与各种 AI 客户端集成,包括 Claude Code、Cursor、GitHub Copilot、Kiro 和 OpenCode,并为这些平台提供指南。更广泛的 MCP 兼容客户端通常包括 Claude Desktop、Cursor AI、Windsurf 和 LibreChat。
核心功能和工具
该程序公开了几个可调用的工具来管理代码搜索和集成。关键工具包括 index 用于代码库扫描,search 用于查询代码,以及 remote 用于管理外部连接。相关操作或子命令提供额外功能,例如 auth openrouter 用于提供者身份验证,create ci 和 bind ci 用于持续集成设置,以及 remote sync 用于同步远程索引。
适合谁?
Unch 目标是需要进行语义代码搜索的开发人员和工程师。它的实用性在于通过描述代码行为来查找函数、方法、类型、类、接口及其相关文档,而不是使用精确的名称或文件路径。这种方法帮助用户发现相关代码,即使不知道确切的标识符。如果您不需要基于代码行为描述的语义代码搜索,请跳过此部分。
如何开始
服务器使用基于令牌的身份验证进行外部提供者的身份验证。此模型的设置特别需要使用 "unch auth" 命令为所需的提供者配置令牌。
用例
- 本地优先代码搜索:索引本地代码库并执行语义搜索,例如,"unch index --root ." 然后是 "unch search "create a new router"。
- 远程模型驱动搜索:使用像 OpenRouter 这样的提供者进行身份验证,并利用他们的嵌入模型进行语义搜索,涉及的命令包括 "unch auth openrouter --token sk-or-...",然后 "unch index --root . --provider openrouter --model openai/text-embedding-3-small",最后 "unch search --provider openrouter --model openai/text-embedding-3-small "create a new router"。
- CI/CD 集成共享索引:设置绑定到 GitHub 代码库的 CI 配置,同步远程索引,然后针对共享索引执行搜索,使用的命令包括 "unch create ci","unch bind ci https://github.com/owner/repo","unch remote sync",和 "unch search "create a new router"。
Unch 提供了一种专门的语义代码搜索解决方案,适合开发人员和工程师。它的 Go 基础和 MCP 遵循提供了一个坚实的框架,以便与各种 AI 客户端集成。该程序支持本地和远程搜索功能,包括用于共享索引的 CI/CD 集成。
