Code Explainer MCP

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.

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

代码解释器 MCP

Cloudflare Worker 用作代码解释的 MCP(模型上下文协议)服务器。它通过对代码结构和功能的全面细分来分析和解释代码。

特征

  • 架构图:生成一个 ASCII 图表,显示整体结构、组件之间的关系和数据流。
  • 核心功能分析:根据模式识别识别并解释代码的主要目的。
  • 组件细分:列出所有主要类和功能以及它们的作用的简要说明。
  • 多语言支持:分析各种编程语言的代码,包括 JavaScript、TypeScript、Python、Java、C# 等。
  • JSDoc/Docstring 识别:提取并利用代码中的现有文档。
  • 安全 API :承载令牌认证以保护您的端点。

工作原理

代码解释器使用多种技术来分析源代码:

  1. 模式识别:识别代码结构和常见模式
  2. 关系分析:映射组件之间的依赖关系
  3. 文档提取:优先考虑现有文档注释
  4. 架构可视化:创建代码结构的 ASCII 图表
  5. 组件描述:提供函数和类的语义描述

所有处理都在 Cloudflare Worker 内部进行,无需任何外部依赖。

安装

先决条件

  • Node.js (版本 12 或更高版本)
  • Wrangler (Cloudflare Workers CLI)
  • Cloudflare 帐户

设置

  1. 克隆此存储库:
    git clone https://github.com/BillDuke13/code-explainer-mcp.git cd code-explainer-mcp
  2. 安装依赖项:
    npm install
  3. 配置你的密钥:
    • 编辑wrangler.jsonc并将YOUR_SECRET_KEY_HERE替换为你选择的密钥,或者
    • 使用 Cloudflare 机密(推荐用于生产):
      wrangler secret put SHARED_SECRET
  4. 部署到 Cloudflare Workers:
    npm run deploy

用法

API 端点

使用以下 JSON 主体向您的工作者 URL 发送 POST 请求:

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

将授权标头与您的密钥一起包含在内:

Authorization: Bearer YOUR_SECRET_KEY_HERE

响应格式

响应将是一个 JSON 对象,其result字段包含代码分析:

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

示例用法

JavaScript(浏览器)

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(请求)

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));

本地开发

  1. 克隆存储库并安装依赖项:
    git clone https://github.com/BillDuke13/code-explainer-mcp.git cd code-explainer-mcp npm install
  2. 运行开发服务器:
    wrangler dev
  3. 在本地测试端点:
    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"]}'

开发指南

  • 遵循 TypeScript 最佳实践
  • 为复杂逻辑添加注释
  • 更新公共 API 变更的文档
  • 添加新功能测试

安全

  • API 通过 Bearer 令牌认证进行保护
  • 使用环境机密在生产中存储共享机密
  • 不要将您的实际密钥提交给版本控制
  • 建议对生产部署进行速率限制

执照

该项目根据 Apache License 2.0 获得许可 - 有关详细信息,请参阅LICENSE文件。

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

Cloudflare Worker 可分析源代码以提供全面的解释,包括架构图、核心功能分析和跨多种编程语言的组件细分。

  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
          ID: n61qu4bdbv