Anisirji_mcp Server Remote Setup With Jwt Auth

Anisirji_mcp Server Remote Setup With Jwt Auth

🚀 基于JWT认证的SSE MCP服务器

这是一个支持JWT身份验证的模型上下文协议(MCP)SSE服务器,它允许通过安全的Bearer令牌流公开多个AI工具,为用户提供安全、便捷的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测试服务器

步骤1 — 安装MCP Inspector

📖 官方文档:MCP Inspector

npx @modelcontextprotocol/inspector

步骤2 — 生成令牌

使用cURL获取您的JWT令牌:

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

✅ 示例响应:

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

步骤3 — 连接MCP Inspector

  1. 打开Inspector UI
  2. 设置SSE连接
  3. 添加以下头信息:
    • Authorization: Bearer 令牌值
  4. 点击"Connect"

这样,您就可以开始测试各种工具了!

工具示例

基础用法

回声工具(Echo Tool)
app.use('/echo', (req, res) => {
res.send({ echo: req.query.text });
});
时间工具(Time Tool)
app.use('/time', (req, res) => {
res.send({ time: new Date().toISOString() });
});

📚 详细文档

API参考

生成令牌

  • 请求方式:GET
  • 路径/auth/token
  • 参数
    • username: 用户名
    • scope: 权限范围(例如:mcp:access
  • 响应
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}

SSE连接

  • 请求方式:GET
  • 路径/sse

发送消息到会话

  • 请求方式:POST
  • 路径/message/{sessionId}
  • 正文内容
{
"text": "消息文本"
}

🔧 技术细节

未来计划

  • Token revoke列表:支持令牌撤销功能,进一步增强系统安全性。
  • 基于角色的访问控制(RBAC):增强安全性,实现更精细的权限管理。
  • 工具发现机制:自动发现可用工具,提升用户使用体验。
  • 日志记录与监控:添加日志和性能监控,便于系统运维和性能优化。

这个项目为构建一个安全且可扩展的AI工具平台提供了坚实的基础。尽管目前可能还需要一些额外的功能来完善,但现有的结构和文档已经非常清晰了。

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

相似服务问题