Enables AI clients to search code, packages, documentation, academic papers, and vulnerability data across multiple technical sources.
Also known as SK-DEV-AI/codesearch, skdev-codesearch-mcp
- Stars
- 1
- Tools
- 14
- Downloads, 30 days
- —
- Latest version
- 1.0.1
- Last commit
- Oct 31, 2026
- License
- MIT
What is codesearch MCP?
codesearch enables AI clients to search code, packages, documentation, academic papers, and vulnerability data across multiple technical sources. It exposes 14 tools, such as analyze, search_all, code_search.
Summary generated from the project's README
About codesearch MCP server
Developers looking to explore unfamiliar codebases or research technical dependencies can use this tool to query multiple technical sources from an AI client. It provides deep intelligence across GitHub repositories, package registries like npm, PyPI, and crates, and academic databases. By using tools like analyze, search_all, and pkg, users can examine repository architecture, package changelogs, and dependency graphs through a single interface.
Setup requires Python 3.14+ and can be run locally via stdio or through Docker. While some features work without authentication, providing API keys for services like GitHub, Semantic Scholar, or Stack Overflow improves rate limits and data access. The server includes a local cross-encoder reranker to organize results and uses embedding deduplication to ensure high-quality information retrieval. It also features built-in safety measures like SSRF validation for all URL fetches.
What you can do with it
- 1Analyze unfamiliar repositoriesAn AI agent can perform a comprehensive overview of a GitHub repository including metadata, code quality, and wiki architecture.
- 2Audit package securityA developer can check for vulnerabilities and license information across different package versions.
- 3Research academic papersUsers can search for scientific literature using a fallback chain that includes Semantic Scholar and arXiv.
- 4Compare software dependenciesDevelopers can use Libraries.io metadata to find the repository behind a package and compare different dependency candidates.
Written from the project's README. Every use case is checked against a quote from it.
How to install codesearch MCP
Formats verified 10 Nov 2026Install codesearch MCP in Claude Code
$ claude mcp add --env GROQ_API_KEYS=<YOUR_GROQ_API_KEYS> --env NV_KEY=<YOUR_NV_KEY> --env S2_KEY=<YOUR_S2_KEY> --env SE_KEY=<YOUR_SE_KEY> --env TAVILY_KEYS=<YOUR_TAVILY_KEYS> codesearch -- uvx skdev-codesearch-mcpInstall codesearch MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"codesearch": {
"command": "uvx",
"args": [
"skdev-codesearch-mcp"
],
"env": {
"GROQ_API_KEYS": "<YOUR_GROQ_API_KEYS>",
"NV_KEY": "<YOUR_NV_KEY>",
"S2_KEY": "<YOUR_S2_KEY>",
"SE_KEY": "<YOUR_SE_KEY>",
"TAVILY_KEYS": "<YOUR_TAVILY_KEYS>"
}
}
}
}Install codesearch MCP in VS Code
.vscode/mcp.json
{
"servers": {
"codesearch": {
"type": "stdio",
"command": "uvx",
"args": [
"skdev-codesearch-mcp"
],
"env": {
"GROQ_API_KEYS": "<YOUR_GROQ_API_KEYS>",
"NV_KEY": "<YOUR_NV_KEY>",
"S2_KEY": "<YOUR_S2_KEY>",
"SE_KEY": "<YOUR_SE_KEY>",
"TAVILY_KEYS": "<YOUR_TAVILY_KEYS>"
}
}
}
}Install codesearch MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"codesearch": {
"command": "uvx",
"args": [
"skdev-codesearch-mcp"
],
"env": {
"GROQ_API_KEYS": "<YOUR_GROQ_API_KEYS>",
"NV_KEY": "<YOUR_NV_KEY>",
"S2_KEY": "<YOUR_S2_KEY>",
"SE_KEY": "<YOUR_SE_KEY>",
"TAVILY_KEYS": "<YOUR_TAVILY_KEYS>"
}
}
}
}Install codesearch MCP in Codex
~/.codex/config.toml
[mcp_servers.codesearch] command = "uvx" args = ["skdev-codesearch-mcp"] [mcp_servers.codesearch.env] GROQ_API_KEYS = "<YOUR_GROQ_API_KEYS>" NV_KEY = "<YOUR_NV_KEY>" S2_KEY = "<YOUR_S2_KEY>" SE_KEY = "<YOUR_SE_KEY>" TAVILY_KEYS = "<YOUR_TAVILY_KEYS>"
Install codesearch MCP in Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"codesearch": {
"command": "uvx",
"args": [
"skdev-codesearch-mcp"
],
"env": {
"GROQ_API_KEYS": "<YOUR_GROQ_API_KEYS>",
"NV_KEY": "<YOUR_NV_KEY>",
"S2_KEY": "<YOUR_S2_KEY>",
"SE_KEY": "<YOUR_SE_KEY>",
"TAVILY_KEYS": "<YOUR_TAVILY_KEYS>"
}
}
}
}codesearch MCP tools 14
Detected from the READMEanalyzesearch_allcode_searchsearchcodewikisearch_packagepkgsearch_librariesvulnsdocsso_searchpapers
| analyze | — | |
| search_all | — | |
| code_search | — | |
| searchcode | — | |
| wiki | — | |
| search_package | — | |
| pkg | — | |
| search_libraries | — | |
| vulns | — | |
| docs | — | |
| so_search | — | |
| papers | — |
Show all 14 toolsShow fewer tools
enrichping
| enrich | — | |
| ping | — |
Configuration
GROQ_API_KEYSSecretOptional. Groq keys for synthesis and query rewriting.
NV_KEYSecretOptional. NVIDIA embeddings for ranking.
S2_KEYSecretOptional. Semantic Scholar key (1 RPS).
SE_KEYSecretOptional. Stack Exchange key (10k/day instead of 300).
TAVILY_KEYSSecretOptional. Tavily search lane.
| Name | Description | |
|---|---|---|
| GROQ_API_KEYS | Optional. Groq keys for synthesis and query rewriting. | Secret |
| NV_KEY | Optional. NVIDIA embeddings for ranking. | Secret |
| S2_KEY | Optional. Semantic Scholar key (1 RPS). | Secret |
| SE_KEY | Optional. Stack Exchange key (10k/day instead of 300). | Secret |
| TAVILY_KEYS | Optional. Tavily search lane. | Secret |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledPass
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubcodesearch MCP Server
mcp-name: io.github.SK-DEV-AI/codesearch
Companion agent skills: SK-DEV-AI/skills · npx skills add SK-DEV-AI/skills
Code, package, docs, and paper search MCP server. Per-package source navigation (npm/PyPI/crates), per-repo intelligence (GitHub URL or owner/repo), Q&A communities, vulnerability data, documentation, and academic papers — with embedding dedup and a local cross-encoder reranker.
Tools (17)
- analyze — Start here for unfamiliar repos: GitHub metadata + code quality + wiki architecture in one call (10–15s).
- search_all — Broad multi-source discovery (Context7, GitHub, DeepWiki, CodeWiki, SO, HN, Libraries.io, npm, DevDocs, Semantic Scholar, Tavily…). For surgical single-source work call the tool below directly.
- code_search — Search code/docs/symbols across indexed dependencies (
target=npm:express). npm/PyPI/crates only — for GitHub repos usesearchcodeoranalyze. - code_files / code_read — List files / read a file in an indexed dependency by package spec.
- searchcode — Per-repo intelligence:
analyze(overview),search(code within the repo),findings(quality issues),file_tree,get_file. Needsrepositoryfor every action. Free, no auth. - wiki — Repo architecture Q&A via DeepWiki + CodeWiki. Single repo (
owner+repo) or up to 10 repos (repos). - search_package — Raw registry queries: versions, dist-tags, deps.dev graphs, advisories (
version='latest'OK). For composite intelligence usepkg. - pkg — Composite package intelligence: metadata, changelog, upgrade review (vulns + changelog + deps diff), file list/read.
- search_libraries — Libraries.io metadata and source rank. Compare dependency candidates, find the repo behind a package.
- vulns — Sonatype Guide + keyless OSV.dev fallback:
scan(needs platform+name+version),detail(needs vuln_id; enriched with NVD CVSS/CWE/references),latest_version/license(need purl). - docs — Docs with smart fallback (Context7 → ReadTheDocs → llms.txt → DevDocs); then
fetch(url)ordevdocs_fetch_contentfor full pages. - so_search — Stack Overflow:
stackexchange(authoritative resolved answers) orsofa(fresher agent content, needsSOFA_KEY). - hn — Hacker News discussion and sentiment (search, stories, items, users).
- papers — Academic papers. Prefer
action=search(S2 → arXiv → OpenAlex → CORE fallback chain);arxiv_searchis single-source and rate-limited. - enrich — Fetch full content for a result list from any search tool, dedup + rerank.
- ping — Connectivity check. Use before expensive calls when uncertain.
Setup
Requires 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
Point your MCP client at run (stdio):
{ "codesearch": { "command": "/path/to/codesearch/run" } }
API keys (run)
| Key | Used for | Required? |
|---|---|---|
GITHUB_TOKEN |
GitHub API (repo ops, higher rate limits) | Recommended |
CONTEXT7_API_KEY |
Context7 docs | Optional |
TAVILY_KEYS |
Tavily lane in search_all | Optional |
S2_API_KEY |
Semantic Scholar (1 rps dedicated vs shared anonymous pool) | Optional |
SE_API_KEY / SOFA_KEY |
Stack Exchange / Stack Overflow for Agents | Optional |
LI_KEY |
Libraries.io | Optional |
OSS_TOKEN |
Sonatype OSS Index | Optional |
FIRECRAWL_KEYS |
Firecrawl fallback | Optional |
NV_KEY |
NVIDIA embedding endpoint | Optional |
Install from PyPI
pip install skdev-codesearch-mcp # core install, small
pip install skdev-codesearch-mcp[all] # + browser/OCR/extract extras (multi-GB)
The codesearch-mcp console script speaks MCP over stdio:
{ "codesearch": { "command": "codesearch-mcp" } }
Docker
docker build -t codesearch-mcp .
docker run --rm -i codesearch-mcp
Keys are passed at run time, never baked in: -e GROQ_API_KEYS=....
Heavy extras: docker build --build-arg EXTRAS="[all]" -t codesearch-mcp .
Notes
- Reranker (optional, local): shared with the websearch server — one cross-encoder worker over a Unix socket. Without it, results return unranked; everything still works.
- Caching: per-source file caches with TTLs; repeat queries are cheap.
- Safety: all user-URL fetches are SSRF-validated (private-IP blocking + redirect-hop revalidation).
codesearch MCP questions
How do I add codesearch MCP to Claude Code?
Run claude mcp add --env GROQ_API_KEYS=<YOUR_GROQ_API_KEYS> --env NV_KEY=<YOUR_NV_KEY> --env S2_KEY=<YOUR_S2_KEY> --env SE_KEY=<YOUR_SE_KEY> --env TAVILY_KEYS=<YOUR_TAVILY_KEYS> codesearch -- uvx skdev-codesearch-mcp in your terminal. Add --scope user to make it available in every project.
How do I add codesearch MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does codesearch MCP provide?
It exposes 14 tools, including analyze, search_all, code_search, searchcode, wiki.
What can I search for with this server?
You can search for code, packages, documentation, academic papers, and vulnerability data.
How can I analyze an unfamiliar repository?
Use the analyze tool to get GitHub metadata, code quality, and wiki architecture in a single call.
Can I search for vulnerabilities in specific packages?
Yes, the vulns tool allows you to scan for vulnerabilities using Sonatype Guide and OSV.dev.