sova

sova

site icon
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

标签信息

安装类型

ssestdio

产品定位

  • 开发效率
  • 实时交互
  • 数据处理

归类

开发效率

许可证

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