Code Explainer MCP

by BillDuke13

Integrations

  • Provides an example client implementation for making API requests to the code explainer from Node.js applications

  • Serves as the deployment platform for the code explainer MCP, enabling serverless execution of the code analysis functionality

  • Offers command-line example for testing the code explanation endpoint during local development

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.

Features

  • Architecture Diagram: Generates an ASCII diagram showing the overall structure, relationships between components, and data flow.
  • Core Functionality Analysis: Identifies and explains the primary purpose of the code based on pattern recognition.
  • Component Breakdown: Lists all main classes and functions with brief descriptions of their roles.
  • Multi-language Support: Analyzes code in various programming languages including JavaScript, TypeScript, Python, Java, C#, and more.
  • JSDoc/Docstring Recognition: Extracts and utilizes existing documentation in the code.
  • Secure API: Bearer token authentication to secure your endpoints.

How It Works

The Code Explainer analyzes source code using a combination of techniques:

  1. Pattern Recognition: Identifies code structures and common patterns
  2. Relationship Analysis: Maps dependencies between components
  3. Documentation Extraction: Prioritizes existing documentation comments
  4. Architecture Visualization: Creates ASCII diagrams of the code structure
  5. Component Description: Provides semantic descriptions of functions and classes

All processing happens within the Cloudflare Worker with no external dependencies.

Installation

Prerequisites

  • Node.js (version 12 or higher)
  • Wrangler (Cloudflare Workers CLI)
  • A Cloudflare account

Setup

  1. Clone this repository:
    git clone https://github.com/BillDuke13/code-explainer-mcp.git cd code-explainer-mcp
  2. Install dependencies:
    npm install
  3. 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):
      wrangler secret put SHARED_SECRET
  4. Deploy to Cloudflare Workers:
    npm run deploy

Usage

API Endpoint

Send a POST request to your worker URL with the following JSON body:

{ "method": "explainCode", "params": ["your code here", "programming language"] }

Include the Authorization header with your secret key:

Authorization: Bearer YOUR_SECRET_KEY_HERE

Response Format

The response will be a JSON object with a result field containing the code analysis:

{ "result": "# Code Analysis for JavaScript Code\n\n## Architecture Diagram\n...\n\n## Core Functionality\n..." }

Example Usage

JavaScript (Browser)
async function explainCode(code, language) { const response = await fetch('https://your-worker-url.workers.dev', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_SECRET_KEY_HERE', }, body: JSON.stringify({ method: "explainCode", params: [code, language] }), }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); return data.result; } // Example usage const jsCode = `function add(a, b) { return a + b; }`; explainCode(jsCode, "javascript") .then(explanation => console.log(explanation)) .catch(error => console.error('Error:', error));
Python (Requests)
import requests import json def explain_code(code, language, api_url, secret_key): headers = { 'Content-Type': 'application/json', 'Authorization': f'Bearer {secret_key}' } payload = { 'method': 'explainCode', 'params': [code, language] } response = requests.post(api_url, headers=headers, json=payload) response.raise_for_status() return response.json()['result'] # Example usage code = "def hello(): print('Hello, world!')" explanation = explain_code(code, "python", "https://your-worker-url.workers.dev", "YOUR_SECRET_KEY_HERE") print(explanation)
Node.js (Axios)
const axios = require('axios'); async function explainCode(code, language) { try { const response = await axios.post('https://your-worker-url.workers.dev', { method: 'explainCode', params: [code, language] }, { headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_SECRET_KEY_HERE' } }); return response.data.result; } catch (error) { console.error('Error:', error.response ? error.response.data : error.message); throw error; } } // Example usage const codeToAnalyze = ` class Person { constructor(name) { this.name = name; } sayHello() { return \`Hello, my name is \${this.name}\`; } } `; explainCode(codeToAnalyze, 'javascript') .then(explanation => console.log(explanation)) .catch(err => console.error('Failed to explain code:', err));

Local Development

  1. Clone the repository and install dependencies:
    git clone https://github.com/BillDuke13/code-explainer-mcp.git cd code-explainer-mcp npm install
  2. Run the development server:
    wrangler dev
  3. Test the endpoint locally:
    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 file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A Cloudflare Worker that analyzes source code to provide comprehensive explanations including architecture diagrams, core functionality analysis, and component breakdowns across multiple programming languages.

  1. Features
    1. How It Works
      1. Installation
        1. Prerequisites
        2. Setup
      2. Usage
        1. API Endpoint
        2. Response Format
        3. Example Usage
      3. Local Development
        1. Development Guidelines
      4. Security
        1. License

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            A package that connects Claude Desktop and other MCP clients to Cloudflare Workers, enabling custom functionality to be accessed via natural language through the Model Context Protocol.
            Last updated -
            1,942
            457
            TypeScript
            Apache 2.0
          • -
            security
            A
            license
            -
            quality
            An MCP server that allows using natural language to manage Cloudflare resources (Workers, KV, R2, D1) through Claude Desktop, VSCode, and other MCP clients.
            Last updated -
            8
            5
            TypeScript
            Apache 2.0
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that enables AI agents to retrieve and understand entire codebases at once, providing tools to analyze local workspaces or remote GitHub repositories.
            Last updated -
            9
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            F
            license
            -
            quality
            A comprehensive Model Context Protocol server for advanced code analysis that provides tools for syntax analysis, dependency visualization, and AI-assisted development workflow support.
            Last updated -
            2
            Python

          View all related MCP servers

          ID: n61qu4bdbv