使用说明
🔐 带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检查器
- 打开检查器UI
- 设置传输类型: 上海证券交易所
- 网址:
http://localhost:3001/sse - 添加授权标头:
Authorization: Bearer <your-token> - 点击 连接
🎉 成功!您的服务器现在已连接。
步骤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
📄 许可证
这个项目是开源的,可以免费使用。