关于 codesearch
codesearch 是面向开发者的 MCP 服务,用于搜索代码、软件包、文档、漏洞和学术论文。它以 17 种工具整合软件包与仓库导航、多源搜索、去重及可选的本地重排。
主要功能
- 01提供 17 种代码与研究搜索工具
- 02支持 npm、PyPI 和 crates 源码导航
- 03仓库分析、代码搜索与架构问答
- 04查询软件包元数据、依赖和漏洞
- 05搜索文档、社区内容与学术论文
- 06结果去重及可选本地重排
适用场景
- 01了解陌生的 GitHub 仓库
- 02查找依赖中的符号或文件
- 03审查软件包升级和漏洞公告
- 04跨文档与论文研究技术问题
MCP 相关
通过 stdio 向 MCP 客户端提供 17 种搜索与分析工具,覆盖代码仓库、软件包、文档、社区来源、漏洞和论文。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
mcp.json · 通用配置
启动命令
uvx skdev-codesearch-mcp需要配置的环境变量
GROQ_API_KEYS密钥Optional. Groq keys for synthesis and query rewriting.TAVILY_KEYS密钥Optional. Tavily search lane.NV_KEY密钥Optional. NVIDIA embeddings for ranking.SE_KEY密钥Optional. Stack Exchange key (10k/day instead of 300).S2_KEY密钥Optional. Semantic Scholar key (1 RPS).本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
17收录的工具列表 · 更新于 6 天前
此工具无需参数。
详细介绍
codesearch MCP 服务
mcp-name: io.github.SK-DEV-AI/codesearch
·
npx skills add SK-DEV-AI/skills
代码、软件包、文档和论文搜索 MCP 服务。支持按软件包导航源码(npm/PyPI/crates)、按仓库获取智能分析(GitHub URL 或 owner/repo)、问答社区、漏洞数据、文档和学术论文,并提供嵌入去重和本地交叉编码器重排。
工具(17)
- analyze — 探索陌生仓库的起点:一次调用即可获取 GitHub 元数据、代码质量和 Wiki 架构(10–15 秒)。
- search_all — 多来源广泛发现(Context7、GitHub、DeepWiki、CodeWiki、SO、HN、Libraries.io、npm、DevDocs、Semantic Scholar、Tavily 等)。如需精确查询单一来源,请直接调用下方对应工具。
- code_search — 在已索引依赖项中搜索代码、文档和符号(
target=npm:express)。仅支持 npm/PyPI/crates;搜索 GitHub 仓库请使用searchcode或analyze。 - code_files / code_read — 按软件包规格列出已索引依赖项中的文件/读取文件。
- searchcode — 按仓库获取智能分析:
analyze(概览)、search(在仓库内搜索代码)、findings(质量问题)、file_tree、get_file。每项操作都需要repository。免费,无需身份验证。 - wiki — 通过 DeepWiki + CodeWiki 进行仓库架构问答。支持单个仓库(
owner+repo)或最多 10 个仓库(repos)。 - search_package — 查询原始注册表数据:版本、dist-tags、deps.dev 图谱、公告(
version='latest'可用)。如需综合分析,请使用pkg。 - pkg — 综合软件包智能分析:元数据、变更日志、升级审查(漏洞 + 变更日志 + 依赖差异)、文件列表/读取。
- search_libraries — Libraries.io 元数据和源码排名。比较依赖候选项,查找软件包对应的仓库。
- vulns — Sonatype Guide + 无密钥 OSV.dev 回退:
scan(需要 platform+name+version)、detail(需要 vuln_id;补充 NVD CVSS/CWE/参考资料)、latest_version/license(需要 purl)。 - docs — 文档智能回退(Context7 → ReadTheDocs → llms.txt → DevDocs);随后使用
fetch(url)或devdocs_fetch_content获取完整页面。 - so_search — Stack Overflow:
stackexchange(权威的已解决答案)或sofa(更新的 Agent 内容,需要SOFA_KEY)。 - hn — Hacker News 讨论和情绪分析(搜索、故事、条目、用户)。
- papers — 学术论文。优先使用
action=search(S2 → arXiv → OpenAlex → CORE 回退链);arxiv_search仅搜索单一来源,且有速率限制。 - enrich — 获取任意搜索工具结果列表的完整内容,并进行去重和重排。
- ping — 连通性检查。不确定时,请在执行耗时调用前使用。
设置
需要 Python 3.14+。
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp run.example run # fill in your API keys (run is gitignored — never commit it)
chmod +x run
将 MCP 客户端指向 run(stdio):
{ "codesearch": { "command": "/path/to/codesearch/run" } }
API 密钥(run)
| 密钥 | 用途 | 是否必需? |
|---|---|---|
GITHUB_TOKEN | GitHub API(仓库操作、更高的速率限制) | 建议配置 |
CONTEXT7_API_KEY | Context7 文档 | 可选 |
TAVILY_KEYS | search_all 中的 Tavily 通道 | 可选 |
S2_API_KEY | Semantic Scholar(专用池为 1 rps,匿名用户共享池除外) | 可选 |
SE_API_KEY / SOFA_KEY | Stack Exchange / Stack Overflow for Agents | 可选 |
LI_KEY | Libraries.io | 可选 |
OSS_TOKEN | Sonatype OSS Index | 可选 |
FIRECRAWL_KEYS | Firecrawl 回退 | 可选 |
NV_KEY | NVIDIA 嵌入端点 | 可选 |
从 PyPI 安装
pip install skdev-codesearch-mcp # core install, small
pip install skdev-codesearch-mcp[all] # + browser/OCR/extract extras (multi-GB)
codesearch-mcp 控制台脚本通过 stdio 使用 MCP:
{ "codesearch": { "command": "codesearch-mcp" } }
Docker
docker build -t codesearch-mcp .
docker run --rm -i codesearch-mcp
密钥在运行时传入,绝不会烘焙进镜像:-e GROQ_API_KEYS=...。
大型可选依赖:docker build --build-arg EXTRAS="[all]" -t codesearch-mcp .
备注
- 重排序器(可选,本地): 与 websearch 服务共享——通过 Unix 套接字运行一个交叉编码器工作进程。没有它时,结果不会排序;所有功能仍可正常使用。
- 缓存: 按来源缓存文件,并设置 TTL;重复查询的开销很低。
- 安全性: 对所有用户 URL 抓取操作进行 SSRF 验证(阻止私有 IP + 重新验证每次重定向跳转)。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。