返回市场
MCP服务器远程配置JWT认证

MCP服务器远程配置JWT认证

作者:anisirji4 星标更新:2025-04-28

项目介绍

MseeP.ai 安全评估徽章

🔐 带JWT认证的MCP SSE服务器

这是一个基于JWT认证的模型上下文协议(MCP) SSE服务器。 它允许您通过安全的Bearer Token流来公开多个AI工具。

构建技术:

  • 🚀 Node.js + Express
  • 🧩 @modelcontextprotocol/sdk
  • 🔒 使用JSON Web Tokens (JWT)进行认证
  • ⚙️ 使用Zod进行输入验证

✅ 已经使用@modelcontextprotocol/inspector进行了全面测试

📂 项目结构

server/
├── index.ts          # 主要的Express + MCP服务器
├── .env              # 环境变量
├── package.json      # 项目元数据及脚本
├── tsconfig.json     # TypeScript配置
└── README.md         # 欢迎光临!

✨ 功能

  • ✅ 使用Bearer JWT令牌的安全SSE连接
  • ✅ 动态工具注册(回声、时间、随机数等)
  • ✅ 使用MCP Inspector进行测试
  • ✅ 记录所有请求生命周期事件
  • /message端点会话管理
  • 🚀 准备用于生产扩展

⚙️ 设置

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 Inspector测试服务器

第一步 — 安装MCP Inspector

📖 官方文档:MCP Inspector

npx @modelcontextprotocol/inspector

第二步 — 生成令牌

使用cURL获取您的JWT令牌:

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

✅ 示例响应:

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

第三步 — 连接MCP Inspector

  1. 打开Inspector UI
  2. 设置传输类型:SSE
  3. URL:
    http://localhost:3001/sse
    
  4. 添加授权头:
    Authorization: Bearer <your-token>
    
  5. 点击连接

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

第四步 — 测试工具

转到Inspector中的工具标签并点击列出工具

您将看到:

  • 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返回随机数(最小/最大)

🗓️ 即将到来的变化

  • 令牌撤销列表(黑名单)
  • 基于角色的工具访问(范围检查)
  • 会话心跳/保持连接
  • 速率限制与日志记录
  • 部署用Docker化

📚 有用资源

👨‍💻 维护者

Aniket

📄 许可证

此项目是开源且免费使用的。

🚀 构建。保护。赋能。