Is the Searchcode MCP server down?

mcp-registry/com.searchcode/mcp · v1.0.0

healthy
Last checked 2026-10-26 11:28 UTC · handshake 628ms

As of 2026-10-26 11:28 UTC, the Searchcode MCP server is up with a Glimind reliability score of 94/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 12 outages in 90 days, with a median recovery of 4 minutes.

uptime (30d checks)
100%
checks observed
4,857
outages (90d)
12
tools
7

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

Install Searchcode MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http searchcode-mcp-server https://api.searchcode.com/v1/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "searchcode-mcp-server": {
      "type": "http",
      "url": "https://api.searchcode.com/v1/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: B (82/100)

B (82/100): 0 error(s), 2 warning(s) across 7 tool(s); ~4,976 tokens of tool definitions.
Scores higher than 36% of 15,749 MCP servers Glimind has audited.
Its tool list costs an agent ~4,976 tokens per session — more than 60% of servers.
80 → 80 since 2026-10-17
no tool-poisoning patterns
Schemas100
Descriptions100
Safety hints30
Token cost100
Client compatibility70
Protocol40
Reliability100
Stability92

What to fix (4)

7 of 7 tool(s) carry no readOnlyHint/destructiveHint annotations.

Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →

Tools: code_analyze, code_file_tree, code_find_usages, code_get_file, code_get_files and 2 more

Negotiates MCP 2025-03-26. Structured output, tool output schemas and elicitation arrived in 2025-06-18.

Upgrade the MCP SDK and negotiate 2025-06-18 or newer. How to fix →

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

In the last 30 days: 0 tool(s) removed and 2 schema change(s).

Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →

Auto-fix: 6 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.searchcode%2Fmcp/fixes

code_analyze 1 change
{
  "name": "code_analyze",
  "description": "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 find",
  "inputSchema": {
    "type": "object",
    "required": [
      "repository"
    ],
    "properties": {
      "path": {
        "type": "string",
        "description": "Subdirectory 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 question is about a specific component. Omit to analyze the entire repository."
      },
      "tests": {
        "enum": [
          "exclude",
          "include",
          "only"
        ],
        "type": "string",
        "default": "exclude",
        "description": "Findings in TEST files (*_test.go, test/, tests/, spec/, __tests__/, testdata/, *.test.ts, *.spec.js, *Test.java, *Tests.cs, test_*.py, conftest.py, *_spec.rb and the like). \"exclude\", the default, leaves them out of code_quality_summary and security_summary and counts them in tests_excluded; \"include\" adds them, each marked test: true; \"only\" returns just them. They are kept, not deleted: a credential committed in a test fixture is still a real credential, and include reaches it."
      },
      "language": {
        "type": "string",
        "description": "Filter results to a specific language (e.g. \"Java\", \"Go\", \"Python\")."
      },
      "repository": {
        "type": "string",
        "description": "Full 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 demand. Wildcards and placeholders (\"*\", \"all\", \"global\", a bare host like \"github.com\") are rejected — if you do not have a specific repository URL, ask for one rather than guessing."
      },
      "detail_level": {
        "enum": [
          "summary",
          "full"
        ],
        "type": "string",
        "description": "Controls 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 for deep per-language audits or when you need granular per-file breakdowns within a specific language."
      },
      "scan_test_files": {
        "type": "boolean",
        "default": false,
        "description": "Older spelling of tests=\"include\", honoured when tests is not set. Prefer tests."
      },
      "include_all_dirs": {
        "type": "boolean",
        "default": false,
        "description": "Include 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/vendored code."
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}
code_find_usages 1 change
{
  "name": "code_find_usages",
  "description": "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 w",
  "inputSchema": {
    "type": "object",
    "required": [
      "repository",
      "technology"
    ],
    "properties": {
      "offset": {
        "type": "integer",
        "default": 0,
        "description": "Skip this many files before returning. Use for paging."
      },
      "language": {
        "type": "string",
        "description": "Restrict results to files of this language (e.g. \"Python\", \"Go\")."
      },
      "repository": {
        "type": "string",
        "description": "Full 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 demand. Wildcards and placeholders (\"*\", \"all\", \"global\", a bare host like \"github.com\") are rejected — if you do not have a specific repository URL, ask for one rather than guessing."
      },
      "technology": {
        "type": "string",
        "description": "Technology, 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 first if you are unsure what is detected."
      },
      "max_results": {
        "type": "integer",
        "default": 50,
        "maximum": 500,
        "description": "Maximum number of files to return (cap: 500)."
      },
      "path_filter": {
        "type": "string",
        "description": "Restrict results to files whose path contains this substring (e.g. \"src/\", \"handlers\")."
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}
code_get_file 1 change
{
  "name": "code_get_file",
  "description": "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, J",
  "inputSchema": {
    "type": "object",
    "required": [
      "repository",
      "path"
    ],
    "properties": {
      "path": {
        "type": "string",
        "description": "File path relative to repository root"
      },
      "end_line": {
        "type": "integer",
        "description": "Last line to return (inclusive). If omitted, returns to end of file. Cannot combine with symbol_name."
      },
      "max_lines": {
        "type": "integer",
        "default": 500,
        "maximum": 2000,
        "description": "Lines 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_name instead — it returns only the relevant declaration and avoids pulling unnecessary context."
      },
      "repository": {
        "type": "string",
        "description": "Full 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 demand. Wildcards and placeholders (\"*\", \"all\", \"global\", a bare host like \"github.com\") are rejected — if you do not have a specific repository URL, ask for one rather than guessing."
      },
      "start_line": {
        "type": "integer",
        "default": 1,
        "description": "First line to return (1-based). Cannot combine with symbol_name."
      },
      "symbol_name": {
        "type": "string",
        "description": "PREFERRED 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 of fetching the entire file. Cannot combine with start_line/end_line. Response includes a symbols list for supported languages."
      },
      "include_adjacent_symbols": {
        "type": "boolean",
        "default": false,
        "description": "When true and symbol_name is set, includes structurally related declarations (nearby siblings) alongside the target symbol."
      }
    }
  },
  "annotations": {
    "readOnlyHint": true
  }
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.searchcode/mcp"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/com.searchcode/mcp"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.searchcode%2Fmcp.svg)](https://glimind.com/server/mcp-registry%2Fcom.searchcode%2Fmcp?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fcom.searchcode%2Fmcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.searchcode%2Fmcp.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.searchcode%2Fmcp.svg
   :target: https://glimind.com/server/mcp-registry%2Fcom.searchcode%2Fmcp?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:f712c88395766257…, first seen 2026-10-17, included at leaf 3413 of 72,497. Version history · verify what your client received.

Tools (7)

Compare: most reliable code servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Searchcode MCP server down right now?

As of 2026-10-26 11:28 UTC, the Searchcode MCP server is up with a Glimind reliability score of 94/100 (grade A). Over the last 30 days it answered 100% of Glimind's liveness checks. It had 12 outages in 90 days, with a median recovery of 4 minutes.

How many tools does Searchcode MCP server provide?

Searchcode MCP server advertises 7 tools, including code_analyze, code_file_tree, code_find_usages, code_get_file, code_get_files.

How do I install Searchcode MCP server?

Point your MCP client at this streamable-http endpoint: https://api.searchcode.com/v1/mcp

Is the Searchcode MCP server safe to connect to an AI agent?

Glimind scanned all 7 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Searchcode MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve