mcpField
C
Context Optimizer

Context Optimizer

本地服务
github.com/malaksedarous开发工具6361 周前更新

关于 Context Optimizer

Context Optimizer 是一个 MCP 服务,为 GitHub Copilot、Cursor、Claude Desktop 等 AI 编码助手提供上下文优化工具。它通过只提取所需信息,避免大型文件和终端输出占满对话上下文。

主要功能

  1. 01按需提取文件中的特定信息
  2. 02执行命令并用 LLM 提取关键结果
  3. 03基于先前命令输出的追问
  4. 04基于 Exa.ai 的快速与深入网络研究
  5. 05路径校验与命令过滤等安全控制

适用场景

  1. 01检查大型文件中是否包含某个函数或导入语句
  2. 02从长篇构建或测试日志中提取错误信息
  3. 03为技术选型收集当前最佳实践的网络资料

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 askAboutFile、runAndExtract、askFollowUp、researchTopic 和 deepResearch 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Context Optimizer MCP Server

npm 版本 许可证 Node 测试

一个 Model Context Protocol(MCP)服务,为 GitHub Copilot、Cursor AI、Claude Desktop 及其他兼容 MCP 的助手提供上下文优化工具,使它们能够提取目标信息,而无需处理大量终端输出和文件,浪费上下文。

此 MCP 服务是 VS Code Copilot Context Optimizer 扩展的演进版本,同时兼容支持 MCP 的应用。

🎯 它解决的问题

你是否在使用 AI 编码助手(例如 Copilot、Claude Code 或 Cursor)时遇到过这些情况?

  • 🔄 助手不断压缩/总结对话,并在过程中丢失一些上下文。
  • 🖥️ 终端输出塞满上下文,出现数百行内容,而助手只需要关键信息。
  • 📄 大文件占满上下文,而助手其实只需要检查某个具体内容。
  • ⚠️ **“已达到上下文限制”**的消息打断工作流。
  • 🧠 上下文溢出导致助手“忘记”对话前面的内容。
  • 😫 对话变长后,推理质量下降。

根本原因:当助手:

  • 执行终端命令后,读取构建、测试、代码检查等过程中产生的长日志。
  • 为了回答问题而完整读取一个或多个大文件,即使并不需要全部代码。
  • 为了学习如何完成某项任务而从网上读取多个网页,搜索某个主题。
  • 或者只是在进行长时间对话时。

助手可能会:

  • 开始压缩、总结或截断对话历史。
  • 推理质量下降。
  • 无法跟踪之前的上下文和决策。
  • 因为注意力不集中而变得不那么有帮助。

解决方案:

此服务为任何兼容 MCP 的助手提供专用工具,仅提取你需要的具体信息,让聊天上下文保持简洁、专注于高效解决问题,而不是管理数据。

功能

  • 🔍 文件分析工具(askAboutFile)- 从文件中提取具体信息,无需加载全部内容
  • 🖥️ 终端执行工具(runAndExtract)- 执行命令并使用大模型分析提取相关信息
  • ❓ 后续问题工具(askFollowUp)- 继续讨论之前的终端执行结果
  • 🔬 研究工具(researchTopic、deepResearch)- 使用 Exa.ai 的 API 开展网络研究
  • 🔒 安全控制 - 路径验证、命令过滤和会话管理
  • 🔧 多大模型支持 - 支持 Google Gemini、Claude(Anthropic)和 OpenAI
  • ⚙️ 环境变量配置 - 通过系统环境变量管理 API 密钥
  • 🏗️ 简单配置 - 仅需环境变量,无需管理配置文件
  • 🧪 全面测试 - 单元测试、集成测试和安全验证

快速开始

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 - 无需重新运行命令,即可继续询问之前的命令行执行结果。可访问之前 runAndExtract 调用的完整上下文,包括完整命令输出和执行详情。

  • researchTopic - 使用 Exa.ai 的研究能力,对软件开发主题开展快速、聚焦的网络研究。获取当前最佳实践、实现指南以及不断演进的技术的最新信息。

  • deepResearch - 使用 Exa.ai 的全面研究能力,开展深入研究与分析,为关键决策和复杂架构规划提供支持。适用于技术战略决策、架构规划和长期路线图制定。

如需查看详细的工具文档和示例,请参阅 docs/tools.md 和 docs/guides/usage.md。

文档

所有文档均位于 docs/ 目录下:

主题位置描述
架构docs/architecture.md系统设计和组件概览
工具参考docs/tools.md完整的工具文档和示例
使用指南docs/guides/usage.md完整的设置和配置说明
VS Code 设置docs/guides/vs-code-setup.mdVS Code 专属配置
故障排除docs/guides/troubleshooting.md常见问题及解决方案
API 密钥docs/reference/api-keys.mdAPI 密钥管理
测试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

测试

# Run all tests (skips LLM integration tests without API keys)
npm test

# Run tests with API keys for full integration testing
# Set environment variables first:
export CONTEXT_OPT_LLM_PROVIDER="gemini"
export CONTEXT_OPT_GEMINI_KEY="your-gemini-key"
export CONTEXT_OPT_EXA_KEY="your-exa-key"
npm test  # Now runs all tests including LLM integration

# Run in watch mode
npm run test:watch
手动测试

如需使用 AI 助手进行全面的端到端测试,请参阅 手动测试设置指南。该指南提供基于工作流的测试流程,通过真实场景验证所有工具。

如需了解详细的测试设置,请参阅 docs/reference/testing.md。

贡献

欢迎贡献!请阅读 docs/reference/contributing.md,了解开发工作流、编码标准、测试和提交拉取请求的相关指南。

社区

  • 行为准则:请参阅 docs/reference/code-of-conduct.md
  • 安全报告:请遵循 docs/reference/security.md 中的负责任披露指南
  • 问题:使用 GitHub Issues 报告错误和提交功能请求
  • 拉取请求:请确保测试通过且文档已更新
  • 讨论:(如果已启用)用于开放式问题和想法交流

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

相关项目

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。