Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

searchcode

REMOTE · API.SEARCHCODE.COM · SCANNED SEP 21

Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.

−1 this week 73 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability61
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3513 tokens (~501/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
  • Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the searchcode MCP server?

searchcode is a hosted endpoint at https://api.searchcode.com/v1/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.searchcode.com

# add to Claude Code
claude mcp add --transport http com-searchcode-mcp 'https://api.searchcode.com/v1/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-searchcode-mcp": {
      "url": "https://api.searchcode.com/v1/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-searchcode-mcp": {
      "type": "http",
      "url": "https://api.searchcode.com/v1/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-searchcode-mcp]
url = "https://api.searchcode.com/v1/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-searchcode-mcp": {
      "type": "remote",
      "url": "https://api.searchcode.com/v1/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-searchcode-mcp --url 'https://api.searchcode.com/v1/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-searchcode-mcp:
    url: "https://api.searchcode.com/v1/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-searchcode-mcp": {
      "Transport": "http",
      "Url": "https://api.searchcode.com/v1/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-searchcode-mcp -t streamable-http -u 'https://api.searchcode.com/v1/mcp'
// mcp.json
{
  "mcpServers": {
    "com-searchcode-mcp": {
      "type": "http",
      "url": "https://api.searchcode.com/v1/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 15 Sept 26 −1
    • Tool “code_analyze” rewrote its description, which is the text the model reads security
    • Tool “code_get_findings” rewrote its description, which is the text the model reads security
    • Tool “code_search” rewrote its description, which is the text the model reads security
  • 13 Sept 26 0
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “code_get_findings” rewrote its description, which is the text the model reads security
    • Schema quality: 377 → 476 functional
    • New tool “code_find_usages” functional
    • “code_get_findings” added an optional parameter “kind” cosmetic
    • “code_analyze” reworded the description of “repository” cosmetic
    • “code_file_tree” reworded the description of “max_results” cosmetic
    • “code_file_tree” reworded the description of “repository” cosmetic
    • “code_get_file” reworded the description of “repository” cosmetic
    • “code_get_files” reworded the description of “repository” cosmetic
    • “code_get_findings” reworded the description of “repository” cosmetic
    • “code_search” reworded the description of “max_results” cosmetic
    • “code_search” reworded the description of “query” cosmetic
    • “code_search” reworded the description of “repository” cosmetic
  • 26 Aug 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Probed https://api.searchcode.com/v1/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.searchcode.com CN=YE2,O=Let's Encrypt,C=US 3 Sept 2026 2 Dec 2026 ECDSA 256 ECDSA-SHA384 6d996a16a523c20033037f0680cf3637cb3
SANs: api.searchcode.com
CN=YE2,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 4df3b15dd6c0784c507cd37b58e6f115
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.searchcode.com. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
searchcode.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.searchcode.com/v1/mcp Verified 200
http (plaintext) http://api.searchcode.com/v1/mcp HTTPS enforced 308 https://api.searchcode.com/v1/mcp
MCP tools · 7 exposed · ~3,345 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
code_analyze ~524

Instant repo overview — languages, complexity, file count, tech stack, code quality findings, and secret scanning. Use as your first call to understand any remote public codebase. This is the tool that scans for LEAKED CREDENTIALS: security_summary is a dedicated secret and credential scanner covering API keys, access tokens, private keys and connection strings, each with a file, a line and a confidence grade. Prefer it over grepping for key prefixes with code_search — a pattern search only finds what you thought to spell, and finds nothing at all in the repositories where you guessed wrong. Supports language filtering and path scoping (for large monorepos, analyze a subdirectory instead of the full repo). When analysing multiple repositories, call in parallel rather than sequentially. Dependency/build directories excluded by default.

NameTypeReqDescription
detail_levelstringControls response verbosity. summary returns top 20 across all languages; full returns top 20 per language. Use summary for portfolio reviews, hiring assessments, and high-level overviews. Use full f…
include_all_dirsbooleanInclude dependency/build/cache directories that are excluded by default (vendor, node_modules, third_party, target, build, dist, Pods, generated, etc.). Set to true if you need to analyze generated/v…
languagestringFilter results to a specific language (e.g. "Java", "Go", "Python").
pathstringSubdirectory to scope analysis to (e.g. 'src', 'clang/lib'). Only files under this path are walked and analyzed — use this for large monorepos where full analysis is too slow or when the user's quest…
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…
scan_test_filesbooleanInclude test files in code quality and credential scan results. Test files are excluded by default to reduce false positives (e.g. test credit card numbers, mock credentials). Set to true if you need…

No output schema declared.

No examples provided.

code_file_tree ~468

List files and directories in any public git repo. Supports fuzzy file search (query parameter), language/path filtering, and depth control. Combine query with path_filter to search within a directory subset. Use to explore project layout, find files by name, or browse specific directories. Results capped at 1000 files; response includes total_files, files_shown, and truncated fields. Use language or path_filter to narrow large repos. Dependency/build directories excluded by default.

NameTypeReqDescription
include_all_dirsbooleanInclude dependency/build/cache directories that are excluded by default (vendor, node_modules, third_party, target, build, dist, Pods, generated, etc.). Set to true if you need to see generated/vendo…
include_statsbooleanIf true, include line count and file size for each file.
languagestringFilter to only show files of this language (e.g. "Go", "Java").
max_depthintegerMaximum directory depth to return. If omitted, returns full tree.
max_resultsintegerMax fuzzy matches to return. Integer between 1 and 100 — values above 100 are rejected, not clamped. Only used with query.
path_filterstringFilter to restrict tree to matching paths. Supports both glob patterns (e.g. 'pkg/**', 'src/**/*.go') and token-style filters (e.g. 'pkg/api .go'). Glob patterns are auto-converted to token filters.…
querystringFuzzy search query for finding files by approximate name. Returns ranked matches instead of tree. Examples: 'main.go', 'auth handler'. Can be combined with path_filter to search within a directory su…
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…

No output schema declared.

No examples provided.

code_find_usages ~413

Find which files in a repository use a given technology, library or framework — with the line number and the import keyword that proves it. Use after code_analyze reports a technology in tech_stack and you need to know which files it is actually in, rather than searching for import statements by hand. Returns file, line, evidence keyword and language. COVERAGE LIMIT: technology detection reads only the first 150 lines of each file, so a file that imports the technology further down, or uses it without a top-of-file import, does not appear. Absence from these results is not proof the file does not use the technology. The count matches the files_using value code_analyze reports for the same technology. Shares the analysis cache with code_analyze — no duplicate work if analyze already ran.

NameTypeReqDescription
languagestringRestrict results to files of this language (e.g. "Python", "Go").
max_resultsintegerMaximum number of files to return (cap: 500).
offsetintegerSkip this many files before returning. Use for paging.
path_filterstringRestrict results to files whose path contains this substring (e.g. "src/", "handlers").
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…
technologystringyesTechnology, library or framework to find. Matched against the names code_analyze reports in tech_stack, exactly first and then as a substring — so "boto3" finds "AWS SDK (Boto3)". Call code_analyze f…

No output schema declared.

No examples provided.

code_get_file ~482

Get code from a remote public git repository — either a specific function/class by name, a line range, or a full file. PREFERRED WORKFLOW: When search results or findings have already identified a specific function, method, or class, use symbol_name to extract just that declaration. This avoids fetching entire files and keeps context focused. Only fetch full files when you need a broad understanding of a file you haven't seen before. For supported languages (Go, Python, TypeScript, JavaScript, Java, C, C++, C#, Kotlin, Swift, Rust) the response includes a symbols list of declarations with line ranges. This is not a first-call tool — use code_analyze or code_search first to identify targets, then extract precisely what you need.

NameTypeReqDescription
end_lineintegerLast line to return (inclusive). If omitted, returns to end of file. Cannot combine with symbol_name.
include_adjacent_symbolsbooleanWhen true and symbol_name is set, includes structurally related declarations (nearby siblings) alongside the target symbol.
max_linesintegerLines to return (max: 2000). When reading an unfamiliar file for orientation, set this to 2000. When you already know which function or class you need (from search or findings results), prefer symbol…
pathstringyesFile path relative to repository root
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…
start_lineintegerFirst line to return (1-based). Cannot combine with symbol_name.
symbol_namestringPREFERRED for targeted retrieval. Name of a function/method/class to extract — returns only that declaration. Use this when search results or findings have pointed you to a specific symbol, instead o…

No output schema declared.

No examples provided.

code_get_files ~210

Get contents of multiple files from a remote public git repository in a single call. Reduces round-trips when you need to read several related files. Max 10 files per batch, 5000 total lines budget across all files. Each file supports optional line ranges. Failed files return per-file errors without blocking other files.

NameTypeReqDescription
max_linesintegerPer-file safety cap on lines returned (cap: 2000).
pathsarrayyesList of files to read. Each entry has a path and optional line range.
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…

No output schema declared.

No examples provided.

code_get_findings ~485

Get detailed code quality findings from a remote public git repository. Returns rule IDs, line numbers, severity, category, descriptions, and source snippets. Supports filtering by file path, severity (error, warning, info), category (security, deprecated, safety, correctness, maintainability, accessibility, modernization, performance, concurrency), and kind (security, quality) — kind=security is every security-category finding in one call, kind=quality is everything else. code_analyze.top_findings shows only the quality half; use kind=security here to see the security-category findings it leaves out. THIS IS NOT THE SECRET SCANNER. kind=security means insecure code — weak hashes, unsafe deserialization, injection-shaped patterns — and it will not find a leaked API key or private key. Leaked credentials are code_analyze.security_summary, which is a different scanner over different rules; the two sets do not overlap, so an audit wants both. Use after code_analyze to drill into specific findings. Shares the same analysis cache — no duplicate work if analyze already ran.

NameTypeReqDescription
categorystringFilter findings by category.
kindstringPartition the findings: "security" returns the security-category findings, "quality" returns every other category. The two are exhaustive and do not overlap, so kind is the way to ask for everything-…
max_resultsintegerMaximum number of findings to return (cap: 200).
offsetintegerSkip this many findings before returning. Use for paging.
pathstringFilter findings to files matching this path prefix (e.g. "pkg/api/" or "src/main.go").
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…
scan_test_filesbooleanInclude findings from test files. By default test files are excluded.
severitystringFilter findings by severity level.

No output schema declared.

No examples provided.

code_search ~763

Fast code search across any public git repo. Returns file paths, line numbers, and code snippets with context. Supports regex, boolean queries, fuzzy matching, and structural filters (declarations, usages, strings, comments). Dependency/build directories excluded by default. Searching for leaked secrets? Call code_analyze instead and read security_summary — it runs a real secret and credential scanner over the whole repository, where searching for key prefixes like "sk-", "ghp_" or "AIza" only matches the spellings you happened to think of.

NameTypeReqDescription
case_sensitivebooleanWhether to match case-sensitively.
code_filterstringStructural filter to narrow matches to specific code regions. only-declarations and only-usages use heuristic patterns and support 30+ languages (Go, Python, JS/TS, Rust, Java, C/C++, C#, Ruby, PHP,…
context_linesintegerLines of context before and after each match.
include_all_dirsbooleanInclude dependency/build/cache directories that are excluded by default (vendor, node_modules, third_party, target, build, dist, Pods, generated, etc.). Set to true if you need to search generated/ve…
max_matches_per_fileintegerMaximum matches to show per file (cap: 50). Keeps responses compact for files with many hits. The response includes matches_in_file (total) so you know if more exist.
max_resultsintegerMaximum number of file results to return. Integer between 1 and 100 — values above 100 are rejected, not clamped. Paginate with offset for more.
offsetintegerSkip this many results before returning. Use for paging.
querystringyesSearch query. Keywords are ANDed — use OR for exploratory multi-term searches (e.g. auth OR login OR session). Prefer single precise terms over multi-keyword phrases. Supports OR, NOT, "phrases", reg…
repositorystringyesFull git URL of ONE public remote repository, e.g. "https://github.com/redis/redis". Required. There is no cross-repository or global search: this API analyses one repository per call, cloning it on…
snippet_modestringauto (ranked relevance), grep (every matching line), or summary (1 best match per file, no context — very compact). Use auto when exploring or discovering where something is used across a codebase (e…

No output schema declared.

No examples provided.

Common questions

What is the searchcode MCP server?

searchcode is an MCP server listed in the public MCP registry as com.searchcode/mcp. Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository. This page covers its hosted endpoint (https://api.searchcode.com/v1/mcp).

Is the searchcode MCP server safe to use?

searchcode scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the searchcode MCP server expose?

searchcode exposes 7 tools: code_analyze, code_search, code_get_file, code_file_tree, code_get_files, and 2 more. Their descriptions and schemas cost roughly 3,345 tokens of context every time the server is loaded.

Does the searchcode MCP server require authentication?

No. We connected to searchcode without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the searchcode MCP server still maintained?

searchcode is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.