GitHub Search MCP Server
Enables searching and exploring GitHub repositories with tools for cloning repositories, searching code with grep and regex, displaying directory structures, reading file contents with line range support, and extracting code outlines showing classes and functions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GitHub Search MCP Serversearch for 'async def' in the fastapi repo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GitHub Search MCP Server
A Model Context Protocol (MCP) server for searching and exploring GitHub repositories. Compatible with OpenAI's ChatGPT and Responses API.
Features
5 MCP Tools with
readOnlyHintannotations:clone_repository- Clone repositories from a whitelisted GitHub usersearch_code- Fast grep-based code search with regex supportget_tree- Display repository directory structureread_file- Read file contents with line range supportget_outline- Extract code structure (classes, functions, methods)
No Authentication Required - Server handles GitHub PAT internally
Streamable HTTP Transport - Compatible with OpenAI's MCP integration
MCP Protocol 2025-06-18 - Latest specification compliance
Related MCP server: GitHub MCP TypeScript SDK Server
Quick Start
1. Install Dependencies
pip install -r requirements.txt2. Configure Environment
cp .env.example .env
# Edit .env with your GitHub PAT token3. Run the Server
python main.pyThe server will start on http://localhost:8000.
Docker
# Build
docker build -t github-mcp-server .
# Run
docker run -p 8000:8000 -e GITHUB_PAT=your_token github-mcp-serverAPI Endpoints
Endpoint | Method | Description |
| GET | Server info and available endpoints |
| POST | MCP protocol endpoint (JSON-RPC) |
| GET | Health check |
| GET | Server capabilities |
MCP Tools
clone_repository
Clone a GitHub repository from the whitelisted user.
{
"name": "clone_repository",
"arguments": {
"repo_name": "my-repo"
}
}search_code
Search for code patterns using grep.
{
"name": "search_code",
"arguments": {
"repo_name": "my-repo",
"pattern": "def main",
"file_pattern": "*.py",
"case_sensitive": false,
"max_results": 50
}
}get_tree
Display repository directory tree.
{
"name": "get_tree",
"arguments": {
"repo_name": "my-repo",
"path": "src",
"max_depth": 3,
"show_hidden": false
}
}read_file
Read file contents with optional line ranges.
{
"name": "read_file",
"arguments": {
"repo_name": "my-repo",
"file_path": "src/main.py",
"start_line": 1,
"end_line": 50
}
}get_outline
Get code outline showing classes and functions.
{
"name": "get_outline",
"arguments": {
"repo_name": "my-repo",
"file_path": "src/main.py"
}
}Connecting to ChatGPT
Deploy the server to a public URL (e.g., Railway, Render, or AWS)
In ChatGPT, go to Settings > Connectors > Add Connector
Enter your server URL (e.g.,
https://your-server.com/mcp)Select "No authentication required"
Security
Whitelisted User: Only repositories from the configured
ALLOWED_USERNAMEcan be clonedPath Traversal Prevention: All file paths are validated
No Secrets in Responses: GitHub PAT is server-side only
Environment Variables
Variable | Description | Default |
| GitHub Personal Access Token | (empty) |
| Server host |
|
| Server port |
|
| Path for cloned repos |
|
| Whitelisted GitHub username |
|
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Dive into the world of open-source with the GitHub Repo Explorer! Utilize the powerful GitHub
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Code intelligence for LLMs. Analyze, search, and retrieve code from any public git repository.
Finds real, maintained open-source repos that fit your project. MCP grounding for coding agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repository structures and read file contents with features like directory traversal, file type analysis, syntax highlighting, and code pattern detection. Supports both public and private repositories through GitHub API integration.5 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceProvides comprehensive access to GitHub repositories, issues, pull requests, commits, user profiles, and statistics through 10 tools with natural language query support and advanced search capabilities.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to analyze GitHub repositories, including fetching repository details, searching, and retrieving README content.291 npm2ISC
- AlicenseNot gradedqualityDmaintenanceEnables Claude to analyze GitHub repositories with tools for health scoring, contributor analysis, issue tracking, code search, and more.MIT