上下文优化器 MCP 是一个 MCP(模型上下文协议)服务器,借助 Redis 和内存缓存,实现对大型聊天历史上下文窗口的优化与扩展,为聊天应用提供更高效的上下文管理。
npx mcp install degenhero/context-optimizer-mcp
git clone https://github.com/yourusername/context-optimizer-mcp.git
cd context-optimizer-mcp
pip install -r requirements.txt
python app.py
docker pull yourusername/context-optimizer-mcp:latest
docker run -d --name context-optimizer-mcp -p 5000:5000 yourusername/context-optimizer-mcp:latest
创建或编辑 config.yml
文件,内容如下:
# 系统配置
system:
port: 5000
debug_mode: false
log_level: INFO
# 缓存配置
cache:
type: redis
host: localhost
port: 6379
db: 0
# 上下文限制
context_limit:
max_tokens: 1200
max_messages: 20
此 MCP 服务器作为应用程序与 LLM 提供商(目前支持 Anthropic 的 Claude 模型)之间的中间件。它通过以下策略智能管理上下文:
所有请求均通过 HTTP 发送,具体要求如下:
application/json
{
"messages": [
{ "role": "system", "content": "您是一个诚实且友好的助手。" },
{ "role": "user", "content": "这是用户的查询。" }
],
"model": "gpt-3.5-turbo",
"temperature": 0.7,
"conversation_id": "1234567890"
}
在请求中添加以下可选参数:
{
"messages": [ ... ],
"model": "...",
"temperature": ...,
"conversation_id": "...",
"context_optimization": true
}
当请求中的 token 数超过 max_tokens
限制时,系统会自动对旧消息进行摘要处理。
如果 conversation_id
相同,服务器会保留对话历史并合并到当前上下文中。
更多详细文档可参考 docs/
目录:
python test.py
# 启动服务后,打开浏览器访问 http://localhost:5000/test
当请求中的 token 数超过 max_tokens
限制时,系统会自动对旧消息进行摘要处理。
如果 conversation_id
相同,服务器会保留对话历史并合并到当前上下文中。
本项目采用 MIT 许可证。