search_code
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns.
This record as markdown: /tools/github/search-code.md
What search_code does on GitHub
AI agents call search_code to retrieve information from GitHub without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | — | Page number for pagination (min 1) |
sort | string | — | Sort field ('indexed' only) |
order | string | — | Sort order for results |
query | string | — | Search query using GitHub's powerful code search syntax. Examples: 'content:Skill language:Java org:github', 'NOT is:archived language:Python OR language:go', ' |
perPage | number | — | Results per page for pagination (min 1, max 100) |
Parameters from the server's own tool schema.
Why search_code is rated Low
This tool retrieves and queries publicly accessible code data from GitHub repositories without side effects. It does not create, modify, delete, execute, or move money. While it searches across all repositories (broad scope), the impact of a misused search is informational only—no resources are altered or harmed.
From the tool's definition Tool description states it performs 'code search across ALL GitHub repositories' - a retrieval operation with no modification, deletion, or execution capability.
Risk signalsAccepts freeform code/query input (query)
Attacks that exploit this kind of access
The rule that runs search_code safely
PolicyLayer is an MCP gateway: it sits between your AI agents and GitHub, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For search_code, this is the rule to start with:
search_code is read-only, so it stays allowed. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect GitHub, apply this rule, and every search_code call is checked against it from then on.
Questions about search_code
Fast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns. It is categorised as a Read tool in the GitHub MCP Server, which means it retrieves data without modifying state.
search_code accepts 5 parameters: page, sort, order, query, perPage. The full parameter table on this page comes from the server's own tool schema.
Register the GitHub MCP server in PolicyLayer and add a rule for search_code: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches GitHub. Nothing to install.
search_code is a Read tool with low risk. Read-only tools are generally safe to allow by default.
Yes. Add a rate_limit block to the search_code rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for search_code. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
search_code is provided by the GitHub MCP server (oci:ghcr.io/github/github-mcp-server:1.3.0). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on GitHub, and thousands of servers like it.
This server
Across the catalogue