SSE MCP服务器

这是一个基于JWT认证的SSE MCP服务器,用于通过SSE传输安全地暴露多个AI工具。

  • by anisirji
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 anisirji/mcp-server-remote-setup-with-jwt-auth

使用说明

🔐 带JWT身份验证的SSE MCP服务器

这是一个 模型上下文协议(MCP) 基于JWT身份验证的SSE服务器。
它允许您通过SSE传输公开多个AI工具,并通过安全的承载令牌流进行保护。

内置:

  • 🚀 Node.js+Express
  • 🧩 @模型上下文协议/sdk
  • 🔒 用于身份验证的JSON Web令牌(JWT)
  • ⚙️ Zod用于输入验证

✅ 经过全面测试 @modelcontextprotocol/inspector

📂 项目结构

server/
├── index.ts          # Main Express + MCP server
├── .env              # Environment variables
├── package.json      # Project metadata & scripts
├── tsconfig.json     # TypeScript config
└── README.md         # You are here!

✨ 特性

  • ✅ 使用Bearer JWT令牌保护SSE连接
  • ✅ 动态工具注册(回声、时间、随机数等)
  • ✅ 经MCP检验员测试
  • ✅ 记录所有请求生命周期事件
  • ✅ /消息端点的会话管理
  • 🚀 准备扩展到生产使用

⚙️ 设置

1.克隆存储库

git clone https://github.com/anisirji/mcp-server-remote-setup-with-jwt-auth.git
cd mcp-server-remote-setup-with-jwt-auth

2.安装依赖项

npm install

3.创建 .env 文件

echo "JWT_SECRET=your-secret-key" > .env

4.运行服务器

npm run dev

✅ 服务器将在以下平台上运行:

http://localhost:3001/sse

🧪 使用MCP检查器测试服务器

步骤1--安装MCP检查器

📖 官方文件: MCP检查员

npx @modelcontextprotocol/inspector

步骤2——生成令牌

使用cURL获取JWT令牌:

curl "http://localhost:3001/auth/token?username=aniket&scope=mcp:access"

✅ 示例响应:

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

步骤3--连接MCP检查器

  1. 打开检查器UI
  2. 设置传输类型: 上海证券交易所
  3. 网址:
    http://localhost:3001/sse
    
  4. 添加授权标头:
    Authorization: Bearer <your-token>
    
  5. 点击 连接

🎉 成功!您的服务器现在已连接。

步骤4——测试工具

首选 工具 在检查器中的选项卡中单击 列出工具.

您将看到:

  • ✅ test
  • ✅ echo
  • ✅ get-time
  • ✅ random-number

测试它们并享受!

📖 api参考

🔑 生成令牌

GET /auth/token?username=<username>&scope=mcp:access

🔌 SSE端点(需要令牌)

GET /sse
Authorization: Bearer <token>

📩 向活动会话发送消息

POST /message?sessionId=<sessionId>
Authorization: Bearer <token>

🧩 工具参考

工具名称 描述
test 测试连接(安全检查)
echo 回显提供的消息
get-time 返回当前服务器时间
random-number 返回随机数(最小/最大)

🗓️ 即将发生的变化

  • []令牌撤销列表(黑名单)
  • []基于角色的工具访问(范围检查)
  • []会话心跳/保持活动
  • []速率限制和日志记录
  • []部署的码头化

📚 有用的资源

👨‍💻 维护者

Aniket

📄 许可证

这个项目是开源的,可以免费使用。

🚀 建造。安全。赋权。