Myrcael

Myrcael

site icon
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 方法实现。

会话

会话对象表示客户端会话,提供与客户端交互的方法。

事件

支持监听服务器和会话事件,如连接、断开连接等。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。