gread
An MCP server that gives your AI access to the source code and docs of all public github repos
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"gread": {
"url": "https://api.gread.dev/mcp"
}
}
}Remote endpoints
https://api.gread.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (5)
π’search_repos(q)
Search for GitHub repositories by name, description, or topic keywords using the GitHub Search API.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Keyword to search in repository names, descriptions, or topics"
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’view_repo(name)
View repository basic information and its directory structure. Includes corresponding documentation repo if available.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$",
"description": "Full name of the repository (owner/name)"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’list_tree(name, targetDir, maxDepth, maxPerDir)
List the directory tree of a specific path in a repository with customizable depth and traversal limits.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$",
"description": "Full name of the repository (owner/name)"
},
"targetDir": {
"default": "",
"description": "Target directory path to inspect. Leaves empty to search from root.",
"type": "string"
},
"maxDepth": {
"default": 3,
"description": "Maximum depth into the directory structure to list.",
"type": "number"
},
"maxPerDir": {
"default": 40,
"description": "Maximum number of items to display per directory level.",
"type": "number"
}
},
"required": [
"name"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’read_code(name, paths)
Retrieve the raw source code of specified files from within a known repository.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$",
"description": "Full name of the repository (owner/name)"
},
"paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "An array of precise file paths within the repository"
}
},
"required": [
"name",
"paths"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}π’search_code(name, query, ignoreCase, fixedStrings, extendedRegexp, ...)
Perform a fast git grep inside the repository, allowing regex matching by default or substring search.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]+\\/[a-zA-Z0-9_.-]+$",
"description": "Full name of the repository (owner/name)"
},
"query": {
"type": "string",
"description": "Search pattern or query to pass to git grep"
},
"ignoreCase": {
"description": "Ignore case distinctions in both the PATTERN and the input files (-i)",
"type": "boolean"
},
"fixedStrings": {
"description": "Use fixed strings for patterns (donβt interpret pattern as a regex) (-F)",
"type": "boolean"
},
"extendedRegexp": {
"description": "Use extended regular expressions (-E)",
"type": "boolean"
},
"contextLines": {
"description": "Print num lines of output context (-C)",
"type": "number"
},
"path": {
"description": "Directory or file path to limit the search scope",
"type": "string"
}
},
"required": [
"name",
"query"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence