Skip to main content
Glama

streamctx — MCP 2.1 流式上下文引擎

把 Anthropic MCP 2.1「实时流式上下文更新」从协议概念,落地为一套可运行、可部署、可嵌入的增量上下文交付引擎。

Python License CI

一句话

MCP 2.1 引入了流式上下文更新:AI 助手通过增量事件接收上下文变化,而无需每次全量重载,从而把长会话的上下文加载延迟降低最高 75%、显著节省 Token。streamctx 是这一能力的开源、零重型依赖实现——一套「服务端 + SDK + 传输 + 预算 + 可观测」完整的增量上下文引擎。

Related MCP server: context-repo-mcp

为什么需要它

传统 MCP 的上下文是「全量快照」模型:每次上下文变化,客户端都要重新拉取整份上下文。上下文一大,这就是灾难:

  • 延迟高:每轮都全量传输,网络往返成本与上下文体积成正比

  • Token 浪费:大量未变化的内容被反复重传

  • 无法流式:无法在长会话中边用边更新

streamctx 用「增量 diff + 版本向量 + 断点续传」解决上述问题:只推送变化的部分,客户端按 seq 应用,落后太多时自动降级为全量快照。

特性

  • ✅ 增量 diff:行级 LCS 最小化差异,只推送变化部分

  • ✅ 版本向量 + Lamport 时钟:多会话因果一致、断点续传锚点

  • ✅ 三种传输:进程内(零依赖)/ SSE(stdlib)/ WebSocket(可选)

  • ✅ Token 预算与加权 LRU 驱逐:控制上下文体积

  • ✅ 快照/增量自适应降级:落后超过阈值自动切全量快照

  • ✅ 断线重连 + 断点续传:指数退避 + checkpoint 恢复

  • ✅ 主题订阅:精确 topic + glob 模式路由

  • ✅ 可观测:指标 / 追踪 / 健康检查

  • ✅ 插件系统:去重 / 计数 / 审计

  • ✅ 零核心依赖:pip install streamctx 即可跑通全部核心功能

  • ✅ FastAPI / stdlib 双控制面 + CLI + Docker/K8s/Helm/CI

快速开始

# 安装(核心零依赖)
pip install -e .

# 自检
python -m streamctx doctor

# 端到端演示(零依赖)
python examples/demo_basic.py

# 启动 SSE 服务
python -m streamctx serve --config config/config.yaml

架构

                ┌─────────────────────────────────────────────┐
  写入源        │            StreamContextEngine               │
 (LLM/文档) ──▶ │  ContextManager ── DeltaEngine ── Budget    │
                │       │              │            │          │
                │  SessionManager   Subscription  Metrics     │
                └───────┼──────────────┼───────────────────────┘
                        │ 事件流(snapshot / delta / ack)      │
        ┌───────────────┼──────────────┼───────────────┐
        ▼               ▼              ▼               ▼
   in-process        SSE            WebSocket       (FastAPI)
        │
        ▼
  StreamClient(本地视图 + seq 确认 + 断点续传)

模块总览见 docs/architecture.md。

目录结构

streamctx/
├── streamctx/            # 核心包
│   ├── engine.py         # 引擎门面
│   ├── context.py        # 上下文状态与管理
│   ├── delta_engine.py   # 增量引擎
│   ├── diff.py           # 行级 LCS diff
│   ├── patch.py          # 增量应用
│   ├── tokenizer.py      # Token 估算
│   ├── budget.py         # Token 预算与驱逐
│   ├── session.py        # 会话
│   ├── subscription.py   # 主题订阅
│   ├── protocol.py       # 协议序列化
│   ├── transport/        # 进程内 / SSE / WebSocket
│   ├── server/           # stdlib SSE / FastAPI
│   ├── client/           # 客户端 SDK
│   ├── adapters/         # mock / openai / anthropic / ollama
│   ├── backends/         # 内存 / redis
│   ├── observability/    # 指标 / 追踪 / 健康
│   ├── plugins/          # 插件
│   ├── utils/            # 配置 / 日志
│   └── cli/              # 命令行
├── examples/             # 演示脚本
├── tests/                # 单元测试
├── benchmarks/           # 基准
├── docs/                 # 文档
├── model_cards/          # 设计决策卡
├── deploy/               # K8s / Helm
├── Dockerfile / docker-compose.yml
└── .github/workflows/    # CI / Release

配置

复制 config/config.example.yaml 为 config/config.yaml,按需修改:

actor: "server"
session_ttl: 300.0        # 会话 TTL(秒)
max_tokens: 4096          # 上下文最大 token
soft_ratio: 0.9           # 软上限比例
evict_on_exceed: true     # 超限是否驱逐
snapshot_ratio: 0.5       # 变化超过该比例降级为快照
history_limit: 500        # 版本历史上限
server:
  host: "127.0.0.1"
  port: 9000

更多

License

MIT License,详见 LICENSE。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Facilitates interaction and context sharing between AI models using the standardized Model Context Protocol (MCP) with features like interoperability, scalability, security, and flexibility across diverse AI systems.
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    An MCP server that enables AI assistants to manage Context Repo prompts, documents, and collections with semantic search and progressive disclosure navigation.
    23 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to maintain persistent context across sessions, restarts, and handoffs through a mailbox-based context sync protocol, compatible with any MCP-aware client.
    14 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A deterministic, local-first memory engine for AI assistants that provides versioned context management via MCP, enabling token-budgeted context patches with provenance and explainability.
    Apache 2.0