Mcp Server Remote Setup With Jwt Auth

Mcp Server Remote Setup With Jwt Auth

🚀 🔐 SSE MCP 服务器带 JWT 认证

这是一个基于 JWT 认证的模型上下文协议(MCP)SSE 服务器。它允许您通过安全的 Bearer 令牌流,在 SSE 传输上暴露多个 AI 工具,为您的应用提供安全、高效的服务。

🚀 快速开始

本服务器使用 Node.js 和 Express 构建,结合了 JWT 认证和 Zod 输入验证,为您提供安全可靠的服务。以下是启动服务器的详细步骤:

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

✨ 主要特性

  • ✅ 使用 Bearer JWT 令牌的安全 SSE 连接,保障数据传输安全。
  • ✅ 动态工具注册(回声、时间、随机数等),满足多样化需求。
  • ✅ 已通过 MCP Inspector 测试,确保服务稳定性。
  • ✅ 记录所有请求生命周期事件,便于问题排查。
  • ✅ /message 端点的会话管理,优化用户体验。
  • 🚀 准备用于生产环境扩展,具备高可扩展性。

📦 安装指南

克隆仓库

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

安装依赖

npm install

配置环境变量

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

启动服务器

npm run dev

💻 使用示例

使用 MCP Inspector 测试服务器

步骤 1 — 安装 MCP Inspector

📖 官方文档:MCP Inspector

npx @modelcontextprotocol/inspector

步骤 2 — 生成令牌

使用 cURL 获取您的 JWT 令牌:

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

✅ 示例响应:

{
"token": "your-jwt-token-here",
"expiresIn": 3600
}

步骤 3 — 使用 MCP Inspector 连接

打开 MCP Inspector,输入以下地址并点击“Connect”:

ws://localhost:3001/ws

📚 详细文档

API 参考

接口列表

  • 获取令牌

    • URL: http://localhost:3001/auth/token
    • 参数:
      • username (必填): 用户名
      • scope (可选,默认为mcp:access): 权限范围
    • 返回:
      • token: JWT 令牌
      • expiresIn: 令牌过期时间(秒)
  • SSE 接收消息

    • URL: http://localhost:3001/sse
    • 头部:
      • Authorization: Bearer
    • 支持事件类型:message, notification

工具参考

工具名称 描述
mcp-server MCP 服务器核心模块,处理 SSE 连接和工具注册。
auth-service 负责 JWT 令牌的生成与验证服务。

🔧 技术细节

项目结构

server/
├── index.ts          # 主 Express 和 MCP 服务器
├── .env              # 环境变量文件
├── package.json      # 项目元数据及脚本
├── tsconfig.json     # TypeScript 配置
└── README.md         # 您在此处!

使用技术栈

  • 🚀 Node.js + Express
  • 🧩 @modelcontextprotocol/sdk
  • 🔒 JSON 网络令牌 (JWT) 进行认证
  • ⚙️ Zod 用于输入验证

✅ 已通过@modelcontextprotocol/inspector测试

🚀 未来计划

  • 完善文档:添加更多 API 接口文档和使用说明,方便开发者使用。
  • 增加日志:记录关键操作的日志以便调试和监控,提升系统可维护性。
  • 优化性能:通过负载均衡和集群提升服务器性能,确保高并发场景下的稳定运行。
  • 扩展功能:支持更多 MCP 协议的特性,如事件订阅和取消,满足更多业务需求。

📄 资源

🤝 维护者

  • 维护者姓名
    电子邮箱:your.email@example.com

📄 许可证

本项目是开源的,您可以自由使用。

🚀 构建. 安全. 开源

  • 0 关注
  • 0 收藏,11 浏览
  • system 提出于 2025-09-30 15:24

相似服务问题