代码库引导助手

一个开发者导向的MCP服务器演示项目,通过暴露安全的只读能力帮助AI客户端更快地熟悉代码库。

  • by BPMSTC
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 BPMSTC/MCP_demo

使用说明

回购入职助理MCP演示

此存储库演示了一个实用的、以开发人员为中心的模型上下文 协议(MCP)服务器。服务器帮助AI客户端进入代码库 通过为存储库检查提供安全的只读功能,可以更快地进行检查。

为什么存在此演示

大多数MCP示例都故意简单,但并不总是现实的。此演示 使用具体的工程工作流程:理解一个不熟悉的存储库。

服务器在一个连贯的故事中公开了所有三个MCP原语:

  • 工具:针对存储库上下文的主动操作
  • 资源:稳定、可检索的文档有效载荷
  • 提示:AI客户端的可重用工作流指令

实施MCP表面

工具:summarize_files_Tool

  • 输入:一个或多个文件路径
  • 输出:带有元数据、目的提示和预览行的降价摘要
  • 安全模型:只读、有界文件读取、二进制检测

工具:find_entry_points_Tool

  • 输入:存储库根路径(默认为当前目录)
  • 输出:可能的启动/进入文件和信心原因的排名列表
  • 启发式:文件名评分加轻量级内容信号检查

资源:project://architecture

  • 有效负载来源:resources/architecture.md
  • 目的:为AI客户端提供稳定的架构上下文

提示:生成_登机_摘要

  • 联合
    • promises/onboarding_prompt.txt(模板)
    • resources/architecture.md(上下文)
    • find_entry_points的实时输出
  • 结果:生成入职培训的结构化提示包

仓库的规划

MCP_demo/
├── server.py
├── repo_tools.py
├── requirements.txt
├── documents/
│   ├── instructions.md
│   ├── DEMO_RUNBOOK.md
│   └── VENV_SETUP.md
├── resources/
│   └── architecture.md
├── prompts/
│   └── onboarding_prompt.txt
├── sample_repo/
│   ├── README.md
│   ├── config/
│   │   └── app.yaml
│   └── src/
│       └── main.py
├── scripts/
│   ├── setup_mcpdemo_env.ps1
│   ├── start_mcp_server.ps1
│   └── start_demo_client.ps1
└── tests/
│   ├── test_repo_tools.py
│   └── test_server_handlers.py

快速开始

  1. 创建并激活虚拟环境(推荐)。
  2. 安装依赖项:
pip install -r requirements.txt
  1. 使用一个脚本启动MCP服务器:
.\scripts\start_mcp_server.ps1
  1. 使用一个脚本启动引导式浏览器演示客户端:
.\scripts\start_demo_client.ps1
  1. 打开终端输出中显示的URL(默认值:http://localhost:8501).

  2. 在应用侧边栏中,设置 存储库路径 转到您要分析的任何Python项目文件夹。

  • 在以下位置使用绝对路径、相对路径或包含的样本 sample_repo.
  • 该应用程序验证路径是否存在、是否为目录以及是否包含 .py 文件夹。
  • 路径验证通过后,配置扫描选项并运行指导步骤。

PowerShell自动化可用:

powershell -ExecutionPolicy Bypass -File .\scripts\setup_mcpdemo_env.ps1 -InstallRequirements

运行本地验证

运行单元测试:

python -m unittest discover -s tests -p "test_*.py" -v

可选语法检查:

python -m py_compile server.py repo_tools.py

演示演练建议

  1. 跑 连接性和功能(步骤0) 验证MCP传输并列出工具/资源/提示。
  2. 跑 第一步:寻找切入点 在配置的扫描根上。
  3. 跑 第二步:总结核心文件 用于目标存储库中的选定文件。
  4. 跑 步骤3:加载架构资源 以检索稳定的上下文。
  5. 跑 步骤4:生成入职提示 制作可重复使用的入职指南。

有关预期结果的详细脚本,请参阅documents/DEMO_RUNBOOK.md。

有关课堂就绪的浏览器流,请参阅documents/browser_DEMO_RUNBOOK.md。

当前范围和限制

  • 只读设计,安全演示
  • 启发式入口点检测(非AST级静态分析)
  • 总结是有限度的,以保持回答的简洁性和可预测性

下一个增强功能(可选)

  • 添加特定语言的分析器(Python/Node/.NET检测配置文件)
  • 添加一个工具来映射高级模块依赖关系
  • 为多语言示例存储库添加测试夹具