mcpField
C
codesearch

codesearch

本地服务
github.com/SK-DEV-AI开发工具1今天更新

关于 codesearch

codesearch 是面向开发者的 MCP 服务,用于搜索代码、软件包、文档、漏洞和学术论文。它以 17 种工具整合软件包与仓库导航、多源搜索、去重及可选的本地重排。

主要功能

  1. 01提供 17 种代码与研究搜索工具
  2. 02支持 npm、PyPI 和 crates 源码导航
  3. 03仓库分析、代码搜索与架构问答
  4. 04查询软件包元数据、依赖和漏洞
  5. 05搜索文档、社区内容与学术论文
  6. 06结果去重及可选本地重排

适用场景

  1. 01了解陌生的 GitHub 仓库
  2. 02查找依赖中的符号或文件
  3. 03审查软件包升级和漏洞公告
  4. 04跨文档与论文研究技术问题

MCP 相关

通过 stdio 向 MCP 客户端提供 17 种搜索与分析工具,覆盖代码仓库、软件包、文档、社区来源、漏洞和论文。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sk-dev-ai-codesearch": {
"command": "uvx",
"args": [
"skdev-codesearch-mcp"
],
"env": {
"GROQ_API_KEYS": "<GROQ_API_KEYS>",
"TAVILY_KEYS": "<TAVILY_KEYS>",
"NV_KEY": "<NV_KEY>",
"SE_KEY": "<SE_KEY>",
"S2_KEY": "<S2_KEY>"
}
}
}
}
启动命令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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiskdev-codesearch-mcp1.0.1

工具

17

收录的工具列表 · 更新于 6 天前

此工具无需参数。

详细介绍

codesearch MCP 服务

mcp-name: io.github.SK-DEV-AI/codesearch

skills.sh · 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_TOKENGitHub API(仓库操作、更高的速率限制)建议配置
CONTEXT7_API_KEYContext7 文档可选
TAVILY_KEYSsearch_all 中的 Tavily 通道可选
S2_API_KEYSemantic Scholar(专用池为 1 rps,匿名用户共享池除外)可选
SE_API_KEY / SOFA_KEYStack Exchange / Stack Overflow for Agents可选
LI_KEYLibraries.io可选
OSS_TOKENSonatype OSS Index可选
FIRECRAWL_KEYSFirecrawl 回退可选
NV_KEYNVIDIA 嵌入端点可选

从 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

第一次接触 MCP?

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

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