
sova

2025.05.01
0
TypeScript开发效率实时交互数据处理开发效率
sova 是一个基于 TypeScript 的框架,用于构建能够处理客户端会话的 MCP(Model Context Protocol)服务器。它提供了丰富的功能,包括工具定义、资源管理、提示模板、认证、会话管理等,支持多种内容类型(如文本、图像、音频)的返回和处理。sova 适用于需要与客户端进行实时交互和复杂数据处理的场景,特别是在需要集成大型语言模型(LLM)的应用中。
View on GitHub
Overview
基本能力
产品定位
sova 是一个用于构建 MCP 服务器的 TypeScript 框架,专注于处理客户端会话和实时交互。
核心功能
- 工具定义:支持通过简单的方式定义可执行的工具函数,供客户端和 LLM 调用。
- 资源管理:允许服务器提供各种数据资源(如文件内容、图像、音频等)。
- 提示模板:定义可重用的提示模板和工作流,便于客户端和 LLM 使用。
- 认证和会话管理:支持自定义认证逻辑和会话管理。
- 多种内容类型支持:支持返回文本、图像、音频等多种内容类型。
- 实时交互:通过 Server-Sent Events (SSE) 支持实时通信。
- 日志和错误处理:提供日志记录和错误处理机制。
适用场景
- 需要与客户端进行实时交互的应用。
- 集成大型语言模型(LLM)的应用。
- 需要处理复杂数据(如文件、图像、音频)的场景。
- 需要自定义认证和会话管理的应用。
工具列表
- sova dev:用于在终端中测试和调试 MCP 服务器。
- sova inspect:使用 MCP Inspector 的 Web UI 检查服务器。
常见问题解答
- 如何与 Claude Desktop 一起使用?:参考 quickstart 指南 并配置
mcpServers
。
使用教程
使用依赖
安装 Node.js 和 npm。
安装教程
npm install sova
快速开始
import { sova } from "sova";
import { z } from "zod";
const server = new sova({
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",
});
调试方式
npx sova dev src/examples/addition.ts
npx sova inspect src/examples/addition.ts
标签信息
安装类型
sse
或 stdio
产品定位
- 开发效率
- 实时交互
- 数据处理
归类
开发效率