README
🚀 上下文优化器MCP服务器
这是一个模型上下文协议(MCP)服务器,为包括GitHub Copilot、Cursor AI、Claude Desktop等在内的AI编码助手提供上下文优化工具。借助该服务器,这些助手能够提取目标信息,避免处理大量终端输出和文件而浪费上下文资源。
此MCP服务器是 VS Code Copilot上下文优化器扩展 的升级版,具备跨MCP支持应用的兼容性。
🚀 快速开始
1. 全局安装
npm install -g context-optimizer-mcp-server
2. 设置环境变量
(具体操作系统的设置说明请参考 docs/guides/usage.md)
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-api-key"
export CONTEXT_OPT_EXA_KEY="your-exa-api-key"
export CONTEXT_OPT_ALLOWED_PATHS="/path/to/your/projects"
3. 添加到MCP客户端配置
例如,在 claude_desktop_config.json(Claude Desktop) 中的 "mcpServers" 或 mcp.json(VS Code) 中的 "servers" 里添加:
"context-optimizer": {
"command": "context-optimizer-mcp"
}
如需完整的设置说明,包括特定操作系统的环境变量配置和AI助手设置,请参考 docs/guides/usage.md。
✨ 主要特性
- 🔍 文件分析工具 (
askAboutFile):无需加载整个文件内容,即可从中提取特定信息。 - 🖥️ 终端执行工具 (
runAndExtract):执行命令并通过大语言模型(LLM)分析提取相关信息。 - ❓ 后续问题工具 (
askFollowUp):继续关于之前终端执行的对话。 - 🔬 研究工具 (
researchTopic,deepResearch):通过Exa.ai的API进行网络研究。 - 🔒 安全控制:包括路径验证、命令过滤和会话管理。
- 🔧 多LLM支持:支持Google Gemini、Claude(Anthropic)和OpenAI。
- ⚙️ 环境变量配置:通过系统环境变量管理API密钥。
- 🏗️ 简单配置:仅需设置环境变量,无需管理配置文件。
- 🧪 全面测试:包含单元测试、集成测试和安全验证。
📦 安装指南
全局安装
npm install -g context-optimizer-mcp-server
设置环境变量
请参考 docs/guides/usage.md 进行特定操作系统的环境变量设置。
添加到MCP客户端配置
在相应的配置文件中添加服务器配置。
💻 使用示例
基础用法
# 安装服务器
npm install -g context-optimizer-mcp-server
# 设置环境变量
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-api-key"
export CONTEXT_OPT_EXA_KEY="your-exa-api-key"
export CONTEXT_OPT_ALLOWED_PATHS="/path/to/your/projects"
# 添加到MCP客户端配置
# 在claude_desktop_config.json或mcp.json中添加如下配置
"context-optimizer": {
"command": "context-optimizer-mcp"
}
高级用法
# 运行所有测试(无API密钥时跳过LLM集成测试)
npm test
# 使用API密钥运行完整集成测试
# 先设置环境变量
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-key"
export CONTEXT_OPT_EXA_KEY="your-exa-key"
npm test # 现在运行包括LLM集成在内的所有测试
# 以监视模式运行测试
npm run test:watch
📚 详细文档
所有文档都组织在 docs/ 目录下:
| 主题 | 位置 | 描述 |
|------|------|------|
| 架构 | docs/architecture.md | 系统设计和组件概述 |
| 工具参考 | docs/tools.md | 完整的工具文档和示例 |
| 使用指南 | docs/guides/usage.md | 完整的设置和配置说明 |
| VS Code设置 | docs/guides/vs-code-setup.md | VS Code特定配置 |
| 故障排除 | docs/guides/troubleshooting.md | 常见问题及解决方案 |
| API密钥 | docs/reference/api-keys.md | API密钥管理 |
| 测试 | docs/reference/testing.md | 测试框架和流程 |
| 更新日志 | docs/reference/changelog.md | 版本历史 |
| 贡献指南 | docs/reference/contributing.md | 开发指南 |
| 安全 | docs/reference/security.md | 安全策略 |
| 行为准则 | docs/reference/code-of-conduct.md | 社区指南 |
快速链接
- 开始使用:查看
docs/guides/usage.md获取完整设置说明。 - 工具参考:查看
docs/tools.md获取详细的工具文档。 - 故障排除:查看
docs/guides/troubleshooting.md解决常见问题。 - VS Code设置:遵循
docs/guides/vs-code-setup.md进行VS Code配置。
🔧 技术细节
解决的问题
你是否在使用AI编码助手(如Copilot、Claude Code或Cursor)时遇到过以下情况?
- 🔄 助手不断压缩/总结对话,在此过程中丢失部分上下文。
- 🖥️ 终端输出用数百行内容淹没上下文,而助手只需要关键信息。
- 📄 大文件使上下文不堪重负,而助手只需要检查一个特定的内容。
- ⚠️ “达到上下文限制” 消息中断你的工作流程。
- 🧠 助手因上下文溢出而“忘记”对话的早期部分。
- 😫 长时间对话时推理质量下降。
根本原因:当你的助手:
- 在执行终端命令后,读取构建、测试、代码检查等过程中的长日志。
- 为了回答一个问题而完整读取一个(或多个)大文件,而实际上并不需要整个代码。
- 从网络上读取多个网页来搜索一个主题,以学习如何做某件事。
- 或者只是在长时间对话中。
助手可能会:
- 开始压缩、总结或截断对话历史。
- 降低推理质量。
- 失去对早期上下文和决策的跟踪。
- 由于失去焦点而变得不那么有用。
解决方案: 此服务器为任何MCP兼容的助手提供专门的工具,仅提取你需要的特定信息,使你的聊天上下文保持简洁,专注于解决实际问题,而非数据管理。
📄 许可证
本项目采用MIT许可证,详情请参阅 LICENSE 文件。
相关项目
- VS Code Copilot上下文优化器 – 原始的VS Code扩展(配套项目)
Scan to join WeChat group