这是一个基于JWT认证的模型上下文协议(MCP) SSE服务器。 它允许您通过安全的Bearer Token流来公开多个AI工具。
构建技术:
✅ 已经使用
@modelcontextprotocol/inspector进行了全面测试
server/
├── index.ts # 主要的Express + MCP服务器
├── .env # 环境变量
├── package.json # 项目元数据及脚本
├── tsconfig.json # TypeScript配置
└── README.md # 欢迎光临!
/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
.env文件echo "JWT_SECRET=your-secret-key" > .env
npm run dev
✅ 服务器将在以下地址运行:
http://localhost:3001/sse
📖 官方文档:MCP Inspector
npx @modelcontextprotocol/inspector
使用cURL获取您的JWT令牌:
curl "http://localhost:3001/auth/token?username=aniket&scope=mcp:access"
✅ 示例响应:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
http://localhost:3001/sse
Authorization: Bearer <your-token>
🎉 成功!您的服务器现在已连接。
转到Inspector中的工具标签并点击列出工具。
您将看到:
testechoget-timerandom-number测试它们并享受!
GET /auth/token?username=<username>&scope=mcp:access
GET /sse
Authorization: Bearer <token>
POST /message?sessionId=<sessionId>
Authorization: Bearer <token>
| 工具名称 | 描述 |
|---|---|
test | 测试连接(安全检查) |
echo | 回显提供的消息 |
get-time | 返回当前服务器时间 |
random-number | 返回随机数(最小/最大) |
Aniket
此项目是开源且免费使用的。