
redis mcp transport
Redis-based transport layer for Model Context Protocol with SSE support
Repository Info
About This Server
Redis-based transport layer for Model Context Protocol with SSE support
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
redis-mcp-transport
基于Redis的传输层,为Model Context Protocol (MCP)提供高效可靠的通信方式,支持服务器发送事件(SSE)。 专为支持多用户设计,使单个MCP服务器能够同时处理多个并发会话,实现更高效的资源利用。
特点
- 多会话支持 - 通过Redis消息系统支持单个服务器同时处理多个用户会话
- 基于Redis的可靠消息传递系统,实现会话状态同步与持久化
- 支持服务器发送事件(SSE)实时数据流
- 完全实现Model Context Protocol规范
- 适用于分布式LLM应用架构,支持横向扩展
- 支持水平扩展和高可用性
- 专为Node.js环境优化
安装
npm install redis-mcp-transport
多会话工作原理
Redis-MCP-Transport 通过Redis作为消息中间件,使单个MCP服务器能够同时处理多个用户会话。每个会话都有唯一的会话ID,通过Redis频道进行消息路由,确保消息能准确发送到对应的用户。
此架构特别适合:
- 高流量AI应用需要同时服务多个用户
- 需要扩展模型服务能力的系统架构
- 需要会话状态持久化的应用场景
import express from 'express'
import { RedisMcpTransport } from 'redis-mcp-transport';
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
const REDIS_URL = 'redis://localhost:6379';
const app = express();
// 创建MCP服务器实例
const server = new McpServer({
name: "EchoService",
version: "1.0.0",
});
server.resource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
async (uri, { name }) => ({
contents: [{
uri: uri.href,
text: `Hello, ${name}!`
}]
})
);
// SSE连接端点 - 为每个用户创建唯一会话
app.get("/stream", async (req, res) => {
const sessionId = req.query.sessionId || Date.now().toString();
const transport = new RedisMcpTransport(
'/api',
res,
REDIS_URL
);
await server.connect(transport);
});
// API请求处理端点 - 处理指定会话的请求
app.post("/api", express.json(), async (req, res) => {
const sessionId = req.query.sessionId;
if (!sessionId) {
return res.status(400).send('缺少sessionId参数');
}
const transport = new RedisMcpTransport(
'/api',
sessionId,
REDIS_URL
);
await server.connect(transport);
await transport.handlePostMessage(req, res);
res.end(); // 这里需要立即结束,某些客户端会等待超时再结束连接
});
app.listen(8000, () => {
console.log('MCP服务器运行在 http://localhost:8000');
});
贡献
欢迎贡献!请随时提交 Pull Request 或创建 Issue 讨论新功能或报告问题。
许可
MIT
Quick Start
Clone the repository
git clone https://github.com/lloydzhou/redis-mcp-transportInstall dependencies
cd redis-mcp-transport
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.