Mcp Github Ocr
Scans GitHub repositories to provide structured access to their file trees and contents, allowing users to view directories and files easily. Supports secure access to both public and private repositories using user-provided GitHub tokens.
Author

dylandaubenspeck
Quick Info
Actions
Tags
GitHub Repository Scanner MCP
A Cloudflare Worker that scans GitHub repositories and provides a structured view of the repository files, directories, and contents. Perfect for integrating with Smithery and other MCP tools.
Features
- 📁 Scans any public or private GitHub repository (with appropriate token)
- 🧠 Creates a structured tree view of repository files and directories
- 📝 Shows file contents for easy viewing
- 🚀 Caches repository data for 24 hours to improve performance
- 🔄 Provides both HTML and JSON output formats
- 🔒 Secure - users provide their own GitHub tokens
API Usage
Web Interface
Visit the deployed worker URL in your browser to access the web interface.
Programmatic Access
Make a GET request to the /scan
endpoint with the following parameters:
/scan?url=REPO_URL&token=YOUR_GITHUB_TOKEN&format=json
Parameters:
url
: GitHub repository URL (e.g., https://github.com/username/repo)token
: Your GitHub personal access token withrepo
orpublic_repo
scopeformat
: (optional) Response format, usejson
for machine-readable output
Example:
/scan?url=https://github.com/username/repo&token=ghp_xxxx&format=json
Response Format
The JSON response includes:
{
"success": true,
"data": {
"name": "repository-name",
"owner": "owner-name",
"projectStructure": {
"files": ["root-level-file1", "root-level-file2"],
"directories": {
"dir1": {
"files": ["file-in-dir1"],
"directories": {}
}
}
},
"fileContents": {
"file-path": "file content",
"dir1/file-in-dir1": "content of file in dir1"
},
"timestamp": 1679000000000
},
"cached": false,
"timestamp": 1679000000000
}
Deployment
Cloudflare Workers
- Clone this repository
- Install dependencies with
npm install
- Deploy with
npm run deploy
Docker
A Dockerfile is included for deployment on platforms that support Docker containers:
docker build -t github-repo-scanner .
docker run -p 8787:8787 github-repo-scanner
Smithery Integration
This worker is designed to be easily integrated with Smithery. When deploying on Smithery:
- Fork or clone this repository
- Deploy using the Smithery platform
- Users will need to provide their own GitHub tokens when using the tool
GitHub Token
A GitHub Personal Access Token with the following scopes is required:
repo
scope for private repositoriespublic_repo
scope for public repositories
Create a token at: https://github.com/settings/tokens
License
MIT