Token导航 LogoToken导航TokenDH.com
MCP CodeAnalysis logo
开发工具未说明官方级别未说明来源级核验

MCP CodeAnalysis

MCP Server

基于模型上下文协议(MCP)的代码库分析工具包,提供AI辅助的代码理解与转换功能,适用于开发效率提升和代码质量分析。

工具数

0

提示词数

0

GitHub Stars

7

资源数

0
代码分析PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

0xjcf

提供方

0xjcf

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP代码分析

一个强大的代码库分析工具包,利用模型上下文协议(MCP)进行人工智能辅助的代码理解和转换。

特性

  • 代码分析:使用抽象语法树解析和分析代码库
  • 上下文生成:为AI模型创建丰富的上下文信息
  • 工具集成:基于MCP SDK构建,实现无缝AI工具集成
  • 可扩展架构:基于插件的自定义分析器系统

需求

  • Node.js 18+
  • NPM 9+
  • Redis(可选,仅生产环境需要)

安装

# Clone the repository
git clone https://github.com/yourusername/mcp-codeanalysis.git
cd mcp-codeanalysis

# Install dependencies
npm install

# Build the project
npm run build

Redis配置(可选)

Redis用于生产环境中的会话存储。对于开发和测试,如果Redis不可用,系统将自动回退到内存中的会话存储。

备注:Redis连接存在一个已知问题,即使Redis正在运行,操作也可能失败。请参阅中的“技术债务”部分 plan.md 了解详情。目前,您可以使用 ./use-memory-session.sh 使用内存会话存储运行服务器的脚本。有关更多信息,请参见 Redis故障排除指南.

安装Redis:

# Ubuntu/Debian
sudo apt-get install redis-server

# macOS
brew install redis

# Windows (using WSL is recommended)
# For native Windows, download from https://redis.io/download

默认情况下,应用程序尝试在以下位置连接到Redis redis://localhost:6379。您可以使用环境变量配置Redis连接:

# Set custom Redis URL
export REDIS_URL=redis://custom-host:6379

# Force memory session store even if Redis is available
export FORCE_MEMORY_SESSION=true

发展

# Run in development mode
npm run dev

# Run tests
npm test

# Run linting
npm run lint

用法

# Start the MCP server
npm start

# Run CLI tool
node ./tools/mcp-stdio-client.js --task "Analyze dependencies" --files "src/*.ts"

文档

许可证

麻省理工学院

代码分析MCP服务器

一个全面的模型上下文协议(MCP)服务器,用于高级代码分析,通过可扩展的架构提供工具和见解。

🚀 特性

  • 基本代码分析:语法和结构分析
  • 代码度量:复杂性、行数和代码质量指标
  • 相关性分析:打包和导入关系可视化
  • 知识图谱:代码关系可视化和查询
  • 存储器系统:存储和检索有关代码库的见解
  • 可视化:生成多种格式的图表(Mermaid、DOT、ASCII)
  • 社会技术分析:了解团队和代码关系
  • 多存储库分析:跨存储库关系分析
  • 进化规划:代码改进建议
  • 现场观看:实时监控代码更改
  • IDE集成:编辑器集成工具
  • 开发者工具:增强的人工智能辅助开发工作流程支持

📋 先决条件

  • Node.js 18+
  • npm或纱线
  • Redis(开发可选,生产推荐)

🛠️ 安装

# Clone the repository
git clone https://github.com/your-username/codeanalysis-mcp.git
cd codeanalysis-mcp

# Install dependencies
pnpm install

# Build the project
pnpm build

🖥️ 用法

CodeAnalysis MCP服务器有两种使用方式:

1.作为MCP服务器

# Start the MCP server
pnpm start

这将启动MCP服务器,任何MCP客户端(如Claude Desktop、Cursor或其他客户端)都可以连接到该服务器。

2.使用CLI

该项目包括一个用于直接交互的全面CLI:

# Get help
pnpm run cli --help

# Analyze a repository or directory
pnpm run cli analyze repo ./src

# Check code quality
pnpm run cli quality analyze ./src

3.使用开发工具进行人工智能辅助开发

该项目包括旨在增强人工智能辅助开发的特殊工具:

# Generate code context for AI assistants
node tools/ai-dev-helper.js --task="Implement new feature" --search="related functionality"

# Run example client
node examples/dev-tools-client.js

请参阅 开发人员工具指南 了解详细信息。

📊 示例命令

基本分析

# Analyze a local directory
pnpm run cli analyze repo ./src

# Analyze a specific file
pnpm run cli analyze file ./src/server.ts

代码度量

# Get code metrics with function details
pnpm run cli metrics analyze ./src --functions

# Save metrics to a file
pnpm run cli metrics analyze ./src -o metrics-report.json

相关性分析

# Analyze dependencies in Mermaid format
pnpm run cli dependencies analyze ./src -f mermaid -o deps.mmd

# Visualize dependencies
pnpm run cli visualize dependencies -p ./src --format mermaid

代码质量

# Run quality analysis
pnpm run cli quality analyze ./src

# Generate HTML report
pnpm run cli quality analyze ./src --html -o quality-report.html

知识图谱

# Build knowledge graph
pnpm run cli knowledge build ./src

# Query the knowledge graph
pnpm run cli knowledge query ./src "type:function AND complexity>5"

# Export as diagram
pnpm run cli knowledge export ./src -f mermaid

洞察力和记忆

# Store an insight
pnpm run cli insights store -r ./src -t code-pattern -c "Refactoring opportunity"

# Retrieve insights
pnpm run cli insights retrieve -r ./src

开发者工具

# Prepare context for AI interactions
node tools/ai-dev-helper.js --task="Fix authentication bug" --files="src/auth/*.ts" --search="login"

# Use with AI prompts
# Copy content from the generated ai-context.json file into your AI assistant prompt
# or use the template in templates/ai-prompt-template.md

🏗️ 建筑

该项目遵循MCP架构,包括以下组件:

  1. MCP服务器:使用MCP协议实现核心服务器
  2. 分析特征:模块化代码分析功能
  3. 命令行界面:用于直接交互的命令行界面
  4. 传输层:通信机制(默认为stdio)

🔌 与MCP客户端集成

此服务器与任何符合MCP的客户端兼容,包括:

  • 克劳德桌面应用程序
  • 光标编辑器
  • 继续
  • 其他MCP兼容工具

📝 路径规范

命令接受各种格式的路径:

  • 本地目录: ./src/absolute/path/to/dir
  • 本地文件: ./src/file.ts/path/to/file.ts
  • 存储库URL: https://github.com/username/repo

🤝 贡献

欢迎投稿!请随时提交拉取请求。

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

MCP SDK状态管理架构

该项目为模型上下文协议(MCP)SDK实现了有状态工具,为构建维护调用之间上下文的工具提供了一个框架。

架构概述

状态管理架构分为几个模块化组件:

src/state/
├── helpers/
│   └── statefulTool.ts       # Main entry point for stateful tool creation
├── machines/
│   └── toolMachine.ts        # XState machine for tool execution flow
├── services/
│   ├── toolService.ts        # Core execution service for tools
│   ├── redisToolExecutionService.ts  # Distributed execution service
│   ├── redisSessionStore.ts  # Redis-based session persistence
│   └── types.ts              # Shared type definitions

核心组件

状态工具助手(statefulTool.ts)

MCP SDK的中心集成点,提供:

  • 使用会话管理进行工具注册
  • 符合MCP的响应格式
  • 内存会话管理
  • 会话访问和操作的辅助功能
// Creating a stateful tool with state persistence
createStatefulTool(server, "my-tool", schema, handler);

// With description
createStatefulTool(server, "my-tool", "My stateful tool", schema, handler);

工具机(toolMachine.ts)

基于XState的状态机,定义了工具的执行流:

  • 状态转换(空闲、工具已选择、参数设置、执行等)
  • 参数、结果和历史的上下文管理
  • 错误处理和恢复路径

此组件将会话管理委托给statefulTool实现。

工具服务(toolService.ts)

协调工具状态转换的核心执行服务:

  • 管理工具选择、参数验证和执行
  • 跟踪执行历史记录
  • 处理执行结果和错误

类型(types.ts)

确保整个状态管理系统一致性的共享类型定义:

  • SessionData:用于存储工具状态的结构
  • SessionStore:会话存储实现的接口
  • ExecutionResult:工具的标准响应格式

与MCP SDK集成

该架构通过以下方式与MCP SDK集成:

  1. 通过状态管理扩展工具注册模式
  2. 保持与MCP响应格式的兼容性
  3. 为有状态操作提供会话和上下文跟踪

用法示例

import { createServer } from "@modelcontextprotocol/sdk";
import { createStatefulTool } from "./state/helpers/statefulTool";
import { z } from "zod";

const server = createServer();

// Register a stateful tool
createStatefulTool(
  server,
  "counter",
  "A tool that maintains a count between invocations",
  {
    action: z.enum(["increment", "decrement", "reset"]),
  },
  async (params) => {
    // Get session ID from params (or a new one will be created)
    const sessionId = params.sessionId;

    // Process the action
    let count = 0;

    // Tool logic with state manipulation...

    return { count };
  }
);

server.listen(3000);

分布式状态管理

对于分布式环境,基于Redis的实现提供了:

  • 跨服务器重启的会话持久性
  • 并发访问的分布式锁定
  • 基于TTL的会话清理
  • 网络/连接问题的错误处理

测试

这些组件包括全面的测试套件,用于验证:

  • 工具状态转换
  • 会话管理
  • 错误处理和恢复
  • 响应格式
  • 分布式操作(使用Redis)

AI开发工具

CodeAnalysis MCP服务器为人工智能辅助开发提供了专门的工具。这些工具有助于收集代码上下文,这些上下文可以提供给人工智能系统以获得更有效的帮助。

客户端脚本

存储库中包括几个客户端脚本 tools/ 目录:

  • HTTP客户端 (tools/http-client.js):通过HTTP传输连接到MCP服务器(默认)。
  node tools/http-client.js --task "Your task description" --files "src/features/*.ts" --search "session"
  • 原始客户端 (tools/mcp-raw-client.js):一个只捕获服务器信息的更简单的客户端。
  node tools/mcp-raw-client.js --task "Your task description"
  • 普通客户端 (tools/simple-client.js):通过stdio与服务器通信。
  node tools/simple-client.js --task "Your task description" --files "src/features/*.ts"

所有客户端脚本都会生成 ai-context.json 项目根目录中的文件。此文件包含有关代码库的有价值的上下文,可以与AI助手共享,以提供更明智的响应。

提示模板

人工智能助手的提示模板可在 templates/ai-prompt-template.md。此模板有助于根据MCP工具的适当上下文来组织您对AI助手的请求。

服务器传输模式

MCP服务器支持两种传输模式:

  1. HTTP传输 (默认):默认情况下在端口3000上运行。最适合客户端-服务器架构。
  2. 标准运输:用于直接过程通信。设置 STDIO_TRANSPORT=true 要启用的环境变量。

会话存储体系结构

MCP代码分析现在具有模块化会话存储架构,具有自动后端检测功能:

  • 灵活的存储:自动在Redis和内存存储之间切换
  • 有利于发展:在开发过程中不使用Redis运行
  • 生产就绪:在生产环境中使用Redis进行持久化
  • 自动回退:当Redis不可用时,优雅地回退到内存存储

有关更多详细信息,请参阅 会话存储架构 文档。

需求

  • Node.js 18+
  • npm或纱线
  • Redis(开发可选,生产推荐)

目录标签

目录标签

代码分析PythonClaude本地部署AI辅助开发语法树解析依赖可视化知识图谱

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP