代码分析服务

一个提供AI助手强大代码分析能力的模型上下文协议(MCP)服务器,适用于静态代码分析、AST操作和API设计等高级软件工程概念。

  • by kaleido34
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 kaleido34/code-analysis-mcp

使用说明

代码分析MCP服务器

项目概述

A. 模型上下文协议(MCP)服务器 它为AI助手提供了强大的代码分析功能。非常适合演示先进的软件工程概念,同时保持架构清晰易懂。

这个项目展示了什么

核心CS概念:

  • 抽象语法树(AST) -解析和分析代码结构
  • 静态代码分析 -查找错误、复杂性、模式
  • API设计 -干净、类型安全的接口
  • 协议实现 -JSON-RPC通信
  • 文件系统操作 -递归目录遍历
  • 数据结构 -用于代码表示的树、图、映射
  • 算法设计 -模式匹配、复杂度计算

软件工程实践:

  • TypeScript开发 -类型安全和现代JavaScript
  • 错误处理 -强大的错误管理和日志记录
  • 架构验证 -使用Zod进行运行时类型检查
  • 模块化架构 -关注点分离
  • 文档 -自文档化代码和API
  • 测试策略 -单元和集成测试

建筑

 Code Analysis MCP Server
 ├── Resources (Read-only data)
 │   ├── codebase://project/structure    # File tree and project info
 │   ├── docs://generated/readme         # Auto-generated README
 │   └── (dynamic)                       # Other future resources
 ├──  Tools (AI-callable functions)
 │   ├── analyze_path()                 # Analyze *any* file OR directory
 │   └── generate_documentation()        # Generate docs from code
 └──  Prompts (templates)
     └── code_review                    # Code-review helper

学习成果

  1. MCP协议 -深入了解客户端-服务器通信
  2. 代码分析 -ESLint、SonarQube等工具如何在内部工作
  3. AST操纵 -构建开发工具的基础
  4. 类型系统 -高级TypeScript模式
  5. API设计 -创建干净、可扩展的接口
  6. 错误处理 -生产就绪错误管理
  7. 软件体系结构 -可扩展、可维护的代码组织

“你会如何扩展这个系统?”

  • Git集成服务器 -分析提交历史、公关差异
  • CI/CD集成服务器 -构建指标,测试覆盖率分析
  • 文档服务器 -从代码自动生成文档
  • 安全分析服务器 -漏洞扫描、依赖性分析
  • 性能监控服务器 -运行时分析、分析数据
  • 团队分析服务器 -代码所有权、生产力指标
  1. 直接相关的 -每家公司都需要代码分析
  2. 高级概念 -展现出对CS的深刻理解
  3. 生产就绪 -正确的错误处理、记录、验证
  4. 可扩展设计 -添加功能的清晰路径
  5. 现代技术栈 -TypeScript,现代工具
  6. 清晰的文档 -展示沟通技巧

使用的技术

  • TypeScript -类型安全开发
  • Node.js -运行时环境
  • MCP-SDK -协议实施
  • AST分析器 -代码结构分析
  • 萨德 -运行时模式验证
  • 温斯顿 -专业测井
  • 开玩笑 -测试框架

@代码分析{“路径”:“C:\Users\pasha\Desktop\N2N”}

🔧 用法

  1. 安装和构建
    npm install
    npm run build
    
  2. 启动服务器(已编译)
    npm start
    # or: node dist/server.js
    
  3. 连接克劳德桌面 更新(或创建) claude_desktop_config.json:
    {
      "mcpServers": {
        "code-analysis": {
          "command": "node",
          "args": ["--no-warnings", "dist/server.js"],
          "cwd": "C:\\Users\\<you>\\Desktop\\Mcp"
        }
      }
    }
    
  4. 调用工具
    @code-analysis {"path": "C:\\Users\\<you>\\Desktop\\N2N"}
    
    •如果 path 指向a 文件 ⇒ 返回具有LOC和圈复杂度的JSON。 •如果它指向a 目录 ⇒ 返回完整的项目结构报告(文件、语言、LOC等)。

工具输入/输出

工具 输入JSON 返回
分析路径 { "path": "<absolute-or-relative-path>" } 纯文本JSON摘要(文件或目录)
生成文档 { "projectName": "MyApp", "format": "markdown" } Markdown或JSON文档

调试提示

• 服务器日志 → 标准错误(不会损坏MCP JSON)。
•如果光标显示 Unexpected token 错误,请确保您正在运行 dist/server.js (不是ts节点)。
•在任何TypeScript编辑后重新构建: npm run build.
•使用 LOG_LEVEL=debug node dist/server.js 以获得详细的输出。