Token导航 LogoToken导航TokenDH.com
MCP Session logo
AI代理未说明官方级别未说明来源级核验

MCP Session

MCP Server

mcp-session是一个为MCP服务器设计的有限会话管理工具,提供并发会话控制、速率限制和空闲超时等功能,适用于需要防止资源耗尽的高并发场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
会话管理RustSession认证

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

butterflyskies

提供方

butterflyskies

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mcp会议

有限会话管理 主控程序 服务器构建于 rmcp.

MCP的Streamable HTTP传输在每个客户端上创建服务器端会话 initialize 请求。没有界限,会话会无限积累——这是一个资源耗尽向量。这个箱子包裹着rmcp LocalSessionManager 具有生产强化的会话生命周期控制。

特性

  • 最大并发会话数 --当达到配置的限制时,FIFO驱逐最旧的会话
  • 速率限制 --滑动窗口计数器拒绝突发会话创建(防止会话洪水DoS)
  • 空闲超时 --rmcp的直通配置 keep_alive 计时器
  • 零死亡分配 --速率限制器状态仅在启用速率限制时分配

用法

use std::sync::Arc;
use mcp_session::{BoundedSessionManager, SessionConfig};

let manager = Arc::new(
    BoundedSessionManager::new(
        SessionConfig {
            keep_alive: Some(std::time::Duration::from_secs(4 * 60 * 60)),
            ..Default::default()
        },
        100, // max concurrent sessions
    )
    .with_rate_limit(10, std::time::Duration::from_secs(60)), // 10 new sessions per minute
);

// Pass to StreamableHttpService::new(factory, manager, config)

设计

BoundedSessionManager 实现rmcp SessionManager 通过委派来培养特质 LocalSessionManager 对于会话存储和生命周期,添加:

  1. 容量检查 使用 inner.sessions (权威实时计数)-过期的会话不会占用容量槽
  2. FIFO驱逐 通过a VecDeque 跟踪创建顺序
  3. 速率限制 通过可选 RateLimiter 创建失败时进行滑动窗口令牌回滚
  4. 分割关键部分 --异步操作之间没有锁

ADR-0001 用于架构决策记录。

并发注意事项

在并发会话创建下,活动计数可能会暂时超过 max_sessions 最多减少并发呼叫者的数量。在争论中,极限是尽最大努力。看 讨论#6 为了设计上的权衡。

状态

这个箱子正在积极开发中。公共API如下 森伯,但内部架构可能会发生重大变化,特别是未来的版本可能会取代当前的版本 LocalSessionManager 委托模型具有完全自主的会话生命周期实现,以提高并发特性。

许可证

根据以下任一方式获得许可 Apache许可证,版本2.0MIT许可证 由您选择。

目录标签

目录标签

会话管理RustSession认证本地部署资源控制并发处理MCP协议

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP