模型上下文协议服务器

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

  • by ory
  • TypeScript
  • 本地部署
  • 更新于

使用说明

MCP SSE Ory服务器

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

概述

服务器提供:

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

先决条件

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

环境变量

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

# Ory Network Configuration
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

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

安装

  1. 克隆存储库
  2. 安装依赖项:
    npm install
    

发展

运行开发服务器:

npm run dev

建筑

构建TypeScript项目:

npm run build

跑步

启动生产服务器:

npm run start

API终点

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

特性

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

安全

  • 承载令牌身份验证
  • PKCE 支持
  • 安全令牌验证
  • 客户端验证
  • 正确的错误处理和记录

错误处理

服务器为以下对象实现了优雅关机和正确的错误处理:

  • 无异常
  • 未经处理的拒绝承诺
  • 进程终止信号(SIGINT、SIGTERM)

许可证

版权所有2025 Ory Corp

根据Apache许可证2.0版(“许可证”)许可; 除非遵守许可证,否则您不得使用此文件。 您可以在以下网址获得许可证副本

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

除非适用法律要求或书面同意,否则软件 根据许可证分发的内容按“原样”分发, 无任何明示或暗示的保证或条件。 请参阅许可证,了解管理权限和 许可证下的限制。