返回市场
MCP摘要功能服务器

MCP摘要功能服务器

作者:Braffolk36 星标更新:2025-06-16

项目介绍

<div align="center">

摘要功能

用于模型上下文协议的智能文本摘要

特性AI代理集成安装使用

smithery 徽章 npm 版本

</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服务器主要开发目的是增强Roo Cline和Cline等AI代理的性能和可靠性。它解决了AI代理操作中的一个重要挑战:上下文窗口管理。

上下文窗口优化

AI代理经常遇到其上下文窗口迅速被以下内容填满的情况:

  • 命令执行结果
  • 文件内容读取
  • 目录列表
  • API响应
  • 错误消息和堆栈跟踪

该服务器通过以下方式帮助维持高效的上下文使用:

  1. 提供简洁的相关摘要而不是完整内容
  2. 在需要时存储完整内容以供参考
  3. 根据特定需求提供有针对性的分析(安全、API接口等)
  4. 支持多种输出格式以优化上下文利用

对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>

alt text

特性

  • 命令输出摘要
    执行命令并获得其输出的简洁摘要

  • 文件内容分析
    汇总单个或多个文件,同时保持技术准确性

  • 目录结构理解
    获得复杂目录结构的清晰概述

  • 灵活的模型支持 使用来自不同提供商的模型

  • 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