M

MCP-SSE模型协议服务器

通过Ory Network使用OAuth 2.1集成的服务器端事件(Server-Sent Events)来实现模型上下文协议服务器,以进行实时通信,支持带有身份验证和客户端管理的安全AI模型通信。

security-and-iamapi-testingcommunication

396 查看 · 2026-07-07 更新

简介

通过Ory Network使用OAuth 2.1集成的服务器端事件(Server-Sent Events)来实现模型上下文协议服务器,以进行实时通信,支持带有身份验证和客户端管理的安全AI模型通信。

简介

通过Ory Network使用OAuth 2.1集成的服务器端事件(Server-Sent Events)来实现模型上下文协议服务器,以进行实时通信,支持带有身份验证和客户端管理的安全AI模型通信。

MCP SSE Ory 服务器

本项目实现了一个使用服务器发送事件(SSE)进行通信的模型上下文协议(MCP)服务器,并集成了Ory Network以提供OAuth 2.1功能。

概述

该服务器提供:

  • 使用SSE传输的MCP服务器实现
  • 通过Ory Network集成OAuth 2.1
  • 安全令牌验证和客户端管理
  • 用于Ory Network的项目管理工具

前提条件

  • Node.js (v18或更高版本)
  • Ory Network账户和API密钥

环境变量

创建一个.env文件,包含以下变量(参考.example.env文件):

env

Ory Network 配置

ORY_BASE_API_URL=https://api.console.ory.sh ORY_PROJECT_URL=https://yourprojectslug.projects.oryapis.com ORY_PROJECT_API_KEY=yourprojectapikey ORY_WORKSPACE_API_KEY=yourworkspaceapikey

服务器配置

MCP_SERVER_BASE_URL=http://localhost:4000 MCP_SERVER_DOCS_URL=https://ory.sh/docs MCP_SERVER_PORT=4000

安装

  1. 克隆仓库
  2. 安装依赖: bash npm install

开发

运行开发服务器:

bash npm run dev

构建

构建TypeScript项目:

bash npm run build

运行

启动生产服务器:

bash npm run start

API端点

  • GET /mcp - 建立用于MCP通信的SSE连接
  • POST /messages - 处理来自客户端的MCP消息
  • OAuth端点(通过Ory Network):
    • /oauth2/auth - 授权端点
    • /oauth2/token - 令牌端点
    • /oauth2/revoke - 令牌撤销端点
    • /oauth2/register - 客户端注册端点

功能

  • MCP服务器:实现AI模型通信的模型上下文协议
  • SSE传输:使用服务器发送事件进行实时通信
  • OAuth集成:通过Ory Network进行安全认证
  • 客户端管理:动态OAuth客户端验证和管理
  • 项目工具:用于管理Ory Network项目的工具,包括:
    • 列出工作区中的项目
    • 创建新项目
    • 获取项目详情
    • 更新项目配置

安全性

  • Bearer令牌认证
  • PKCE支持
  • 安全令牌验证
  • 客户端验证
  • 正确的错误处理和日志记录

错误处理

服务器实现了优雅关闭和正确的错误处理,包括:

  • 未捕获的异常
  • 未处理的Promise拒绝
  • 进程终止信号(SIGINT, SIGTERM)

许可证

版权所有 2025 Ory Corp

根据Apache许可证2.0版("许可证")授权;除非遵守许可条款,否则不得使用此文件。 您可以在以下网址获取许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按"原样"分发,不附带任何明示或暗示的担保或条件。 有关权限和限制的具体语言,请参阅许可证。

来源