一个强大的MCP服务器,通过简洁且可扩展的架构提供智能摘要功能。使用现代TypeScript构建,并设计为与AI工作流无缝集成。
要通过Smithery自动安装Claude Desktop的摘要功能:
npx -y @smithery/cli install mcp-summarization-functions --client claude
npm i mcp-summarization-functions
此MCP服务器主要开发目的是增强Roo Cline和Cline等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执行并汇总命令输出。
{
// 必需
command: string, // 要执行的命令
cwd: string, // 命令执行的工作目录
// 可选
hint?: string, // 关注领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认:"text")
}
summarize_files汇总文件内容。
{
// 必需
paths: string[], // 要汇总的文件路径数组(相对于cwd)
cwd: string, // 解析文件路径的工作目录
// 可选
hint?: string, // 关注领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认:"text")
}
summarize_directory获取目录结构概述。
{
// 必需
path: string, // 要汇总的目录路径(相对于cwd)
cwd: string, // 解析目录路径的工作目录
// 可选
recursive?: boolean, // 是否包含子目录。对于深层目录是安全的
hint?: string, // 关注领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认:"text")
}
summarize_text汇总任意文本内容。
{
// 必需
content: string, // 要汇总的文本内容
type: string, // 内容类型(例如:"日志输出","API响应")
// 可选
hint?: string, // 关注领域:"security_analysis" | "api_surface" | "error_handling" | "dependencies" | "type_definitions"
output_format?: string // 格式:"text" | "json" | "markdown" | "outline"(默认:"text")
}
get_full_content根据给定的摘要ID检索完整内容。
{
// 必需
id: string // 存储内容的ID
}
评估包加载了一个mcp客户端,然后运行index.ts文件,因此测试之间无需重新构建。您可以通过在npx命令前缀加载环境变量。完整文档可以在这里找到这里。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/server/mcp-server.ts
MIT