MCP-summarization-functions
通过简洁、可扩展的架构提供智能摘要功能。主要用于解决 AI 代理在大型存储库中遇到的问题,因为大型文件会占用上下文窗口。
Tools
summarize_command
Execute a command and summarize its output if it exceeds the threshold
summarize_files
Summarize the contents of one or more files
summarize_directory
Summarize the structure of a directory
summarize_text
Summarize any text content (e.g., MCP tool output)
get_full_content
Retrieve the full content for a given summary ID
README
<div align="center">
摘要函数
用于模型上下文协议的智能文本摘要
</div>
概述
一个强大的 MCP 服务器,通过简洁、可扩展的架构提供智能摘要功能。使用现代 TypeScript 构建,专为与 AI 工作流程无缝集成而设计。
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装摘要函数:
npx -y @smithery/cli install mcp-summarization-functions --client claude
npm i mcp-summarization-functions
AI 代理集成
此 MCP 服务器主要用于增强 AI 代理(如 Roo Cline 和 Cline)的性能和可靠性。它解决了 AI 代理操作中的一个关键挑战:上下文窗口管理。
上下文窗口优化
AI 代理经常遇到上下文窗口被以下内容快速填满的情况:
- 命令执行结果
- 文件内容读取
- 目录列表
- API 响应
- 错误消息和堆栈跟踪
此服务器通过以下方式帮助维持高效的上下文使用:
- 提供简洁、相关的摘要,而不是完整内容
- 存储完整内容,以便在需要时参考
- 根据特定需求(安全性、API 表面等)提供重点分析
- 支持多种输出格式,以实现最佳上下文利用
AI 代理的优势
- 降低失败率:通过防止上下文窗口溢出
- 提高响应质量:通过重点、相关的摘要
- 提高效率:通过在减少噪音的同时保持重要上下文
- 更好的资源管理:通过智能内容缓存和检索
- 灵活的集成:支持多个 AI 提供商和配置选项
推荐的 AI 代理提示
在与 AI 代理集成时,请在代理的指令中包含以下内容:
# 上下文管理
您可以通过 MCP 服务器访问摘要函数。这些函数不是可选的 - 您必须将它们用于所有可能的大型输出,以防止上下文溢出:
强制摘要:
- 您必须始终对以下内容使用摘要函数:
- 任何首次文件读取操作(除非您确定它很小并且您将要编辑它)
- 所有命令执行输出
- 每个目录分析
- 任何 API 响应或错误日志
- 任何可能很大的输出
切勿尝试直接处理原始输出 - 始终使用适当的摘要函数:
• 对于命令:summarize_command
• 对于文件:summarize_files
• 对于目录:summarize_directory
• 对于其他文本:summarize_text
始终利用可用功能:
• 指定提示以进行重点分析
• 选择适当的输出格式
• 仅在绝对必要时使用内容 ID 访问完整详细信息
无需处理完美或完整的输出。与原始数据相比,始终首选摘要内容。如有疑问,请使用摘要。
<b>Ollama 存储库上的摘要操作(Gemini 2.0 Flash 摘要,Claude 3.5 代理)</b>
特性
-
命令输出摘要 执行命令并获取其输出的简洁摘要
-
文件内容分析 摘要单个或多个文件,同时保持技术准确性
-
目录结构理解 获取复杂目录结构的清晰概览
-
灵活的模型支持 使用来自不同提供商的模型
-
AI 代理上下文优化 通过智能摘要防止上下文窗口溢出并提高 AI 代理性能
配置
服务器通过环境变量支持多个 AI 提供商:
必需的环境变量
PROVIDER
:要使用的 AI 提供商。支持的值: -ANTHROPIC
- 来自 Anthropic 的 Claude 模型 -OPENAI
- 来自 OpenAI 的 GPT 模型 -OPENAI-COMPATIBLE
- 与 OpenAI 兼容的 API(例如 Azure) -GOOGLE
- 来自 Google 的 Gemini 模型API_KEY
:所选提供商的 API 密钥
可选环境变量
MODEL_ID
:要使用的特定模型(默认为提供商的标准模型)PROVIDER_BASE_URL
:与 OpenAI 兼容的提供商的自定义 API 端点MAX_TOKENS
:模型响应的最大令牌数(默认值:1024)SUMMARIZATION_CHAR_THRESHOLD
:何时进行摘要的字符数阈值(默认值:512)SUMMARIZATION_CACHE_MAX_AGE
:缓存持续时间(以毫秒为单位)(默认值:3600000 - 1 小时)MCP_WORKING_DIR
- 用于尝试查找具有相对路径的文件的备用目录
示例配置
# Anthropic 配置
PROVIDER=ANTHROPIC
API_KEY=your-anthropic-key
MODEL_ID=claude-3-5-sonnet-20241022
# OpenAI 配置
PROVIDER=OPENAI
API_KEY=your-openai-key
MODEL_ID=gpt-4-turbo-preview
# Azure OpenAI 配置
PROVIDER=OPENAI-COMPATIBLE
API_KEY=your-azure-key
PROVIDER_BASE_URL=https://your-resource.openai.azure.com
MODEL_ID=your-deployment-name
# Google 配置
PROVIDER=GOOGLE
API_KEY=your-google-key
MODEL_ID=gemini-2.0-flash-exp
使用
将服务器添加到您的 MCP 配置文件:
{
"mcpServers": {
"MUST_USE_summarization": {
"command": "node",
"args": ["path/to/summarization-functions/build/index.js"],
"env": {
"PROVIDER": "ANTHROPIC",
"API_KEY": "your-api-key",
"MODEL_ID": "claude-3-5-sonnet-20241022",
"MCP_WORKING_DIR": "default_working_directory"
}
}
}
}
可用函数
服务器提供以下摘要工具:
summarize_command
执行并摘要命令输出。
{
// Required
command: string, // 要执行的命令
cwd: string, // 命令执行的工作目录
// Optional
hint?: string, // 重点领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认值:"text")
}
summarize_files
摘要文件内容。
{
// Required
paths: string[], // 要摘要的文件路径数组(相对于 cwd)
cwd: string, // 用于解析文件路径的工作目录
// Optional
hint?: string, // 重点领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认值:"text")
}
summarize_directory
获取目录结构概览。
{
// Required
path: string, // 要摘要的目录路径(相对于 cwd)
cwd: string, // 用于解析目录路径的工作目录
// Optional
recursive?: boolean, // 是否包含子目录。对于深层目录是安全的
hint?: string, // 重点领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认值:"text")
}
summarize_text
摘要任意文本内容。
{
// Required
content: string, // 要摘要的文本内容
type: string, // 内容类型(例如,“日志输出”、“API 响应”)
// Optional
hint?: string, // 重点领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认值:"text")
}
get_full_content
检索给定摘要 ID 的完整内容。
{
// Required
id: string // 存储内容的 ID
}
许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Crypto Price & Market Analysis MCP Server
一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。
MCP PubMed Search
用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的。