lloydzhou
MCP Serverlloydzhoupublic

redis mcp transport

Redis-based transport layer for Model Context Protocol with SSE support

Repository Info

2
Stars
0
Forks
2
Watchers
0
Issues
TypeScript
Language
-
License

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

1

Clone the repository

git clone https://github.com/lloydzhou/redis-mcp-transport
2

Install dependencies

cd redis-mcp-transport
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerlloydzhou
Reporedis-mcp-transport
LanguageTypeScript
License-
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation