Token导航 LogoToken导航TokenDH.com
Elden MCP logo
运维云端未说明官方级别未说明来源级核验

Elden MCP

MCP Server

通过Socket.IO提供MCP工具的远程执行能力,支持服务端和客户端组件,实现网络上的无缝交互。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
实时通信TypeScript云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

3p3r

提供方

3p3r

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

埃尔登mcp

通过Socket IO远程执行MCP工具。

- 主要技术 - 次要技术

总结

此存储库是一个端到端的解决方案,通过Socket IO为模型上下文协议(MCP)工具提供远程执行功能。它包括服务器和客户端组件,实现了通过网络与MCP工具的无缝交互。

此实现要求并强制其用户使用OpenID Connect(OIDC)进行身份验证。JWT令牌既经过真实性验证,又用于将请求与特定用户及其连接的套接字相关联。

此实现允许每个有效的JWT令牌有一个套接字连接。

在MCP调用中交换一个套接字连接的ID,以确定哪个客户端应该执行工具逻辑。这是 自动添加到MCP工具注册中。

问题

假设你想描述以下MCP工具并将其暴露给你的AI代理:

// Confirm tool registered server-side
server.registerTool(
    'confirm',
    {
        title: 'Confirm Tool',
        description: 'Pops up for user confirmation',
        inputSchema: { message: z.string() },
        outputSchema: { result: z.boolean() }
    },
    // Confirm logic executed client-side
    async ({ message }) => {
        const output = new Promise((resolve) => {
            const confirmed = window.confirm(message);
            resolve({ result: confirmed });
        });
        return {
            content: [{ type: 'text', text: JSON.stringify(output) }],
            structuredContent: output.result
        };
    }
);

这通常是不可能的,但生成UI项目通常需要这样做。使用 window.confirm 需要浏览器上下文,这在服务器端不可用。

解决方案

使用elden-mcp,您可以在服务器端注册该工具,但可以在客户端执行它。服务器将工具执行请求转发给连接的客户端,客户端将运行工具逻辑并将结果返回给服务器。

在内部,工具函数被“提升”,并替换为Socket上的RPC调用。IO。客户端监听工具执行请求,运行工具逻辑,并将结果发送回服务器。

每个RPC调用都有两个部分,服务器和客户端。RPC调用的另一半也是自动生成的,可用于公开客户端逻辑。

实施

Elden mcp使用以下堆栈实现:

主要技术

  • 插座。输入:用于服务器和客户端之间的实时双向通信。
  • MCP-SDK:用于定义和执行模型上下文协议工具。
  • Next.js:用于构建服务器和客户端组件。
  • 更好的认证:用于在Next.js中处理OIDC身份验证。

次要技术

  • OpenID连接(OIDC):用于安全身份验证和授权。
  • SQLite:用于持久会话存储(通过better-splite3)。
  • 生物群系:用于代码格式化和linting。
  • 反应:用于构建客户端用户界面。
  • Node.js:用于服务器端JavaScript运行时。
  • TypeScript:用于类型安全和现代JavaScript功能。
  • 黄道:用于工具输入和输出的模式验证。

身份验证设置

Better Auth已配置为本地Keycloak实例的OIDC支持:

  • 配置:在中配置了OIDC提供程序 server/src/lib/auth.ts 使用 genericOAuth 插件
  • 数据库:SQLite数据库(server/database.sqlite)用于持久会话存储
  • API路线:身份验证端点可在 /api/auth/*
  • 健康检查:受保护的健康端点位于 /api/health 需要身份验证
  • 测试:全面的测试套件,包括单元和集成测试(集成测试需要Keycloak运行)
  • 文档:邮递员测试指南 server/POSTMAN_TESTING.md

安装程序使用来自的配置 elden-realm.json 默认情况下,环境变量覆盖可用。跑 npm run dev 从根目录启动Keycloak和Next.js服务器。

备注:SQLite数据库文件(database.sqlite)在第一次运行时自动创建,并被忽略。如果Keycloak不可用,集成测试将失败-在运行测试之前,请确保Keycloak正在运行。

目录标签

目录标签

实时通信TypeScript云端部署远程执行本地部署Socket.IOMCP工具OIDC认证

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP