关于 Mcp Pager — Zero Config Response Paging For Mcp Servers (typescript + Python)
mcp-pager 是面向 MCP 服务开发者的 TypeScript 和 Python 中间件,可按 Token 数量拆分过大的工具响应,并提供后续分页所需的元数据。
主要功能
- 01按 Token 数量拆分响应
- 02通过游标获取后续页面
- 03Redis 共享存储后端
- 04可选的 HMAC 游标签名
- 05分页生命周期回调
适用场景
- 01处理超出 LLM 上下文限制的工具结果
- 02跨服务进程分页读取大量结果
MCP 相关
它包装 MCP 服务,并拦截超过 Token 限制的工具响应。MCP 客户端可使用返回的游标和 get_next_page 获取后续数据块。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-pager
为 MCP 服务提供感知 Token 的响应管理。
你的工具会返回数千条记录,而大模型有 Token 限制。mcp-pager 位于二者之间——它会拦截超大的工具响应,按 Token 数量分块,并为每页附上 Agent 可读的元数据,让大模型准确知道接下来该获取什么。只需一行代码。无需更改现有服务。
选择你的语言
| TypeScript / JavaScript | Python | |
|---|---|---|
| 安装 | npm install mcp-pager | pip install mcp-pager |
| 文档 | TypeScript 指南 → | Python 指南 → |
| 仓库 | npmjs.com/package/mcp-pager | pypi.org/project/mcp-pager |
| MCP SDK | @modelcontextprotocol/sdk | mcp (FastMCP) |
功能
Tool call → mcp-pager → Your MCP server
│
token count ≤ limit?
├─ yes → return as-is
└─ no → chunk → store → return page 1 + metadata
get_next_page(cursor) → read from store → return next chunk + metadata
响应过大时,大模型会收到可直接执行操作的结构化元数据:
{
"hasMore": true,
"pageIndex": 0,
"totalPages": 22,
"remainingPages": 21,
"nextCursor": "eyJpZCI6Ijkx...",
"instruction": "Call `get_next_page` with nextCursor to get the next page. Repeat until hasMore is false."
}
主要功能
| 功能 | 说明 |
|---|---|
| 零配置 | 一行代码即可包装整个服务 |
| 只调用一次后端 | 无论大模型获取多少页,你的 API 都只会被调用一次 |
| 滑动 TTL | 每次获取页面都会重置游标过期时间——长会话不会中途超时 |
| Redis 后端 | 适用于多进程 / 无服务器部署的生产级共享存储 |
| HMAC 签名 | 可选的游标签名,适用于多租户环境 |
| 可观测性 | onPaginate / on_paginate 回调,提供类型化的生命周期事件 |
| Agent 可读的元数据 | 结构化 JSON 会准确告知大模型接下来该做什么 |
文档
| 文档 | 说明 |
|---|---|
| TypeScript 指南 | 完整 API、后端、签名、可观测性 |
| Python 指南 | 完整 API、FastMCP 集成、后端 |
| 大模型提示词指南 | 经测试适用于 Claude、GPT-4o、Cursor 的系统提示词 |
| 迁移指南 | 从手动分页迁移到 mcp-pager |
| Token 节省 | 真实示例的前后对比数据 |
| 路线图 | v1.x 即将推出的内容(智能响应处理) |
源码
mcp-pager/
├── src/ TypeScript source
├── docs/ Guides and documentation
├── python/
│ ├── mcp_pager/ Python source
│ └── README.md Full Python documentation
└── examples/ Demo servers (TS + Python)
许可证
MIT — Satish Kakollu
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。