上下文感知MCP服务器
一个MCP(模型上下文协议)服务器,自动加载相关的markdown上下文文件作为GitHub Copilot的指南。
特性
- 🎯 智能上下文匹配:根据提示中的关键字自动选择相关文档
- 📚 多种工具:自动加载上下文、列出可用文档或获取特定文件
- ⚙️ 可配置的:易于管理manifest.json,用于添加新的上下文文件
- 🔄 基础上下文:始终包含base.md的基本准则
- 🖥️ 中央服务器模式:在服务器上运行,从多个客户端连接(请参阅 服务器设置.md)
设置选项
选项A:本地设置(每台电脑)
在每台机器上本地运行MCP服务器。最适合个人使用。
选项B:中央服务器设置(建议团队使用)
在一个中央服务器上运行MCP服务器,所有PC远程连接。 无需在客户端PC上安装!
👉 有关中央服务器的说明,请参阅SERVER_SETUP.md
设置
1.克隆存储库
git clone https://github.com/713zhao/autoload_context_mcp.git
cd autoload_context_mcp2.安装依赖项
pip install -r requirements.txt3.配置GitHub Copilot以使用此MCP
对于VS代码:
- 打开VS代码设置(JSON)
- 按 Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上) - 键入“首选项:打开用户设置(JSON)” - 选择它以打开您的 settings.json 文件
- 添加MCP服务器配置
将以下配置添加到您的settings.json中(更新路径以匹配您克隆存储库的位置):
{
"github.copilot.chat.mcpServers": {
"context-loader": {
"command": "python",
"args": ["/absolute/path/to/autoload_context_mcp/mcp_server.py"]
}
}
}Windows示例:
{
"github.copilot.chat.mcpServers": {
"context-loader": {
"command": "python",
"args": ["c:\\Users\\YourName\\autoload_context_mcp\\mcp_server.py"]
}
}
}Mac/Linux示例:
{
"github.copilot.chat.mcpServers": {
"context-loader": {
"command": "python3",
"args": ["/home/username/autoload_context_mcp/mcp_server.py"]
}
}
}- 保存settings.json文件
- 重新加载VS代码
- 按 Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上) - 键入“开发人员:重新加载窗口” - 按 Enter
- 验证MCP是否处于活动状态
- 在VS Code中打开Copilot聊天 - MCP服务器现在应该可以作为工具使用 - 试着问:“我该如何编写一个模拟?”以看到它自动加载上下文
对于Claude Desktop:
添加到您的 claude_desktop_config.json:
地点:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - 雨衣:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"context-loader": {
"command": "python",
"args": ["/absolute/path/to/autoload_context_mcp/mcp_server.py"]
}
}
}保存后重新启动Claude Desktop。
用法
配置后,您可以在Copilot Chat中使用这些工具:
自动加载上下文
@workspace How do I write a mock for my function?MCP将自动检测“mock”关键字并加载相关测试文档。
列出可用上下文
@workspace Use load_contexts tool to show what documentation is available获取特定文件
@workspace Load the Design.md context file添加新上下文文件
编辑 context/manifest.json 添加新文档:
{
"docs": [
{
"path": "context/your-new-doc.md",
"when": ["keyword1", "keyword2", "trigger-word"]
}
]
}这 when 数组包含将触发加载此文档的关键字。
文件结构
autoload/
├── mcp_server.py # Main MCP server
├── context/
│ ├── base.md # Always-included base context
│ ├── manifest.json # Configuration for context routing
│ ├── design/
│ │ └── Design.md
│ └── testing/
│ ├── GTest_Mock.md
│ └── GTest_Execute.md
└── agent/ # Legacy API server (optional)运作原理
- 当您向Copilot提问时,MCP服务器会收到您的提示
- 它分析提示中的关键字与
manifest.json配置 - 它根据关键字匹配对每个文档进行评分
- 它加载前3个最相关的文档以及base.md
- 所有上下文都返回给Copilot,作为生成响应的指导方针
示例
您的提示: “如何使用筛选器运行特定测试?”
MCP自动加载:
- base.md(始终包含在内)
- GTest_Execute.md(匹配“run”、“Execute”、“filter”)
加载的上下文以您的具体指导方针和最佳实践指导Copilot的响应。
