Integrates with Cloudflare Workers to provide code explanation services, including architecture diagram generation, core...
Created byApr 23, 2025
Code Explainer MCP
A Cloudflare Worker that serves as an MCP (Model Context Protocol) server for code explanation. It analyzes and explains code with a comprehensive breakdown of structure and functionality.
Clone this repository:
```bash
git clone https://github.com/BillDuke13/code-explainer-mcp.git
cd code-explainer-mcp
```
Install dependencies:
```bash
npm install
```
Configure your secret key:
- Edit `wrangler.jsonc` and replace `YOUR_SECRET_KEY_HERE` with your chosen secret key, or
- Use Cloudflare secrets (recommended for production):
```bash
wrangler secret put SHARED_SECRET
```
Deploy to Cloudflare Workers:
```bash
npm run deploy
```
Usage
API Endpoint
Send a POST request to your worker URL with the following JSON body:
Include the Authorization header with your secret key:
Response Format
The response will be a JSON object with a `result` field containing the code analysis:
Example Usage
JavaScript (Browser)
Python (Requests)
Node.js (Axios)
Local Development
Clone the repository and install dependencies:
```bash
git clone https://github.com/BillDuke13/code-explainer-mcp.git
cd code-explainer-mcp
npm install
```
Run the development server:
```bash
wrangler dev
```
Test the endpoint locally:
```bash
curl -X POST http://localhost:8787 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_SECRET_KEY_HERE" \
-d '{"method":"explainCode","params":["function hello() { return \"Hello World\"; }","javascript"]}'
```
Development Guidelines
Follow TypeScript best practices
Add comments for complex logic
Update documentation for public API changes
Add tests for new features
Security
The API is secured with Bearer token authentication
Use environment secrets for storing the shared secret in production
Do not commit your actual secret key to version control
Rate limiting is recommended for production deployments
License
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.