
Myrcael

2025.04.30
0
TypeScriptMCP 服务器框架实时通信内容生成开发效率
Myrcael 是一个基于 TypeScript 的框架,用于构建能够处理客户端会话的 MCP(Model Context Protocol)服务器。它提供了丰富的功能,包括工具定义、资源管理、提示模板、认证、会话管理等,支持多种内容类型(如文本、图像、音频)的返回和处理。Myrcael 适用于需要与客户端进行实时交互和复杂数据处理的场景,如自动化工具、内容生成、远程通信等。
View on GitHub
Overview
基本能力
产品定位
Myrcael 是一个用于构建 MCP 服务器的框架,支持客户端会话管理和实时通信。
核心功能
- 工具定义:支持通过标准模式定义可执行函数,供客户端和 LLM 调用。
- 资源管理:提供资源加载和模板功能,支持文本和二进制数据。
- 提示模板:定义可重用的提示模板和工作流。
- 认证:支持自定义认证逻辑。
- 会话管理:提供会话对象和方法,支持 1:1 通信。
- 内容返回:支持返回文本、图像、音频等多种内容类型。
- 日志和错误处理:提供日志记录和用户错误处理功能。
- 进度通知:支持任务进度报告。
- SSE 支持:支持服务器发送事件(SSE)以实现实时通信。
适用场景
- 自动化工具:定义和执行自动化任务。
- 内容生成:生成和处理文本、图像、音频等内容。
- 远程通信:通过 SSE 实现远程 MCP 通信。
- 调试和测试:使用 CLI 和 Inspector 工具进行服务器调试和测试。
工具列表
- mcp-cli:用于在终端测试和调试 MCP 服务器。
- MCP Inspector:提供 Web UI 用于服务器检查和调试。
常见问题解答
- 如何与 Claude Desktop 集成:通过配置
mcpServers
字段指定服务器命令和环境变量。
使用教程
使用依赖
安装 Node.js 和 npm。
安装教程
npm install Myrcael
快速启动
import { Myrcael } from "Myrcael";
import { z } from "zod";
const server = new Myrcael({
name: "My Server",
version: "1.0.0",
});
server.addTool({
name: "add",
description: "Add two numbers",
parameters: z.object({
a: z.number(),
b: z.number(),
}),
execute: async (args) => {
return String(args.a + args.b);
},
});
server.start({
transportType: "stdio",
});
调试方式
# 使用 CLI 测试服务器
npx Myrcael dev src/examples/addition.ts
# 使用 Inspector 检查服务器
npx Myrcael inspect src/examples/addition.ts
SSE 支持
server.start({
transportType: "sse",
sse: {
endpoint: "/sse",
port: 8080,
},
});
核心概念
工具
工具允许服务器暴露可执行函数,供客户端和 LLM 调用。支持多种模式验证库(如 Zod、ArkType、Valibot)。
资源
资源表示服务器提供给客户端的任何类型的数据,如文件内容、图像等。
提示
提示模板用于定义可重用的 LLM 交互模板和工作流。
认证
支持自定义认证逻辑,通过 authenticate
方法实现。
会话
会话对象表示客户端会话,提供与客户端交互的方法。
事件
支持监听服务器和会话事件,如连接、断开连接等。