GitHub Spring Repository Profiler MCP
by jcdiegolopez
README.md
# GitHub Spring Profiler MCP Server ☁️⚡
[](https://modelcontextprotocol.io)
[](https://workers.cloudflare.com)
[](https://www.typescriptlang.org)
[](LICENSE)
A high-speed, serverless **Model Context Protocol (MCP)** remote server deployed on **Cloudflare Workers**.
Accepts any public GitHub repository URL, queries the GitHub REST API without cloning, and delivers an instant architectural pre-screening profile. It enables AI agents to evaluate whether a remote repository is a valid Spring Boot project before triggering deep local analysis.
---
## 🌐 Live Remote Endpoint
| Environment | Transport | URL |
|---|---|---|
| **Production** | HTTP / Streamable SSE | `https://github-spring-profiler-mcp.dijolopez.workers.dev/` |
---
## 🤖 For AI Agents & LLMs: Operational Guide & Tool Contract
### Purpose & When to Call
Call `profile_github_repository` when:
1. The user asks about an online GitHub repository (e.g. `https://github.com/spring-projects/spring-petclinic`).
2. You need to pre-screen a repository before recommending cloning or running deep local AST analysis.
3. You want to inspect high-level metadata (stars, default branch, Spring annotations, Maven POM presence) without downloading the codebase.
### Tool Specification
#### `profile_github_repository`
- **Parameters:**
- `repo_url` *(string, required)*: The full HTTPS URL of the public GitHub repository (e.g., `https://github.com/spring-projects/spring-petclinic` or `owner/repo`).
- **Response Format:** JSON string containing the profile object.
```json
{
"repository": "spring-projects/spring-petclinic",
"url": "https://github.com/spring-projects/spring-petclinic",
"default_branch": "main",
"stars": 7532,
"has_pom_xml": true,
"has_maven_wrapper": true,
"has_src_main_java": true,
"java_file_count": 30,
"detected_annotations": [
"@SpringBootApplication",
"@Controller",
"@Entity",
"@Component"
],
"is_spring_boot_candidate": true,
"recommendation": "Repository is a valid Spring Boot Maven project suitable for local architecture analysis."
}
```
---
## 👤 For Developers: Installation & Deployment
### Prerequisites
- **Node.js 18+** & `npm`
- **Cloudflare Account** (free tier is fully supported)
- **Wrangler CLI** (installed locally via npm)
### 1. Clone & Install Dependencies
```bash
git clone https://github.com/jcdiegolopez/github-spring-profiler-mcp.git
cd github-spring-profiler-mcp
npm install
```
### 2. Local Development
Run the worker locally in development mode:
```bash
npx wrangler dev
```
### 3. Deploy to Cloudflare Workers
Deploy your own instance to Cloudflare's global edge network:
```bash
npx wrangler deploy
```
*(Optional)* If you want higher GitHub API rate limits, configure a GitHub personal access token as a Cloudflare secret:
```bash
npx wrangler secret put GITHUB_TOKEN
```
---
## ⚙️ MCP Host Configuration
To connect this remote MCP server to your chatbot or IDE host:
### For Custom Hosts (e.g. `mcp_servers.json`)
```json
{
"mcpServers": {
"github-profiler": {
"transport": "http",
"url": "https://github-spring-profiler-mcp.dijolopez.workers.dev/"
}
}
}
```
### For Claude Desktop / Cursor / Antigravity
In environments supporting remote HTTP MCP transports:
```json
{
"mcpServers": {
"github-spring-profiler": {
"transport": "sse",
"url": "https://github-spring-profiler-mcp.dijolopez.workers.dev/sse"
}
}
}
```
---
## 🔗 Related Repositories
- [RD-PR01](https://github.com/jcdiegolopez/RD-PR01): Interactive Console MCP Client & Chatbot host (Google Gemini Interactions API).
- [spring-architecture-analyzer-mcp](https://github.com/jcdiegolopez/spring-architecture-analyzer-mcp): Local Python MCP server for deep AST static analysis and dependency graph generation.
---
## 📄 License
MIT License. See [LICENSE](LICENSE) for details.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues