mcpField
Z
ZapToMCP

ZapToMCP

本地服务
github.com/hoghweed开发工具079 周前更新

关于 ZapToMCP

ZapToMCP 是一个仍在开发中的 TypeScript monorepo,包含用于构建 MCP 服务端和客户端的包。其 SDK 提供类型化 API 和多种传输方式,另有用于简化服务端创建的高层抽象。

主要功能

  1. 01TypeScript MCP SDK
  2. 02类型化 API
  3. 03内存、SSE、stdio 和 HTTP 传输
  4. 04高层服务端抽象
  5. 05支持 ESM 和 CommonJS

适用场景

  1. 01用 TypeScript 构建 MCP 服务端
  2. 02使用 SDK 创建 MCP 客户端
  3. 03为 MCP 连接选择传输方式

MCP 相关

该 monorepo 提供 MCP TypeScript SDK 和高层服务端包。SDK 支持内存、SSE、stdio 和可流式传输的 HTTP,可用于实现服务端和客户端。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ZapToMCP

Valkeyrie

⚠️ 正在开发中

警告:此仓库目前正在积极开发中。API 和实现细节可能会发生变化。使用风险由您自行承担。

GitHub package.json version node:20 pnpm@10.8.1 npm License: MIT TypeScript Biome

ZapToMCP 是一个单体仓库,包含用于构建模型上下文协议(MCP)服务和客户端的工具与库。它提供了一种简化的方式来创建、部署和管理兼容 MCP 的服务。

概览

模型上下文协议(MCP)是一种用于 AI 助手与工具之间通信的开放标准。ZapToMCP 简化了构建兼容 MCP 的服务和客户端的流程,让开发者能够专注于打造强大的 AI 体验,而不必实现协议细节。

仓库结构

此单体仓库包含以下软件包:

  • @zaptomcp/sdk:模型上下文协议的 TypeScript 实现
  • @zaptomcp/server:用于创建 MCP 服务的更高层抽象
  • 更多软件包即将推出……

开始使用

前提条件
  • Node.js >= 20
  • pnpm >= 10.8.1
安装

克隆仓库:

git clone https://github.com/hoghweed/zaptomcp.git
cd zaptomcp

安装依赖:

pnpm install
安装
# Install dependencies
pnpm install

# Bootstrap the monorepo
pnpm bootstrap

开发

可用脚本
  • pnpm dev:启动所有软件包的开发模式
  • pnpm build:构建所有软件包
  • pnpm clean:清理构建产物
  • pnpm lint:对所有软件包运行代码检查
  • pnpm format:格式化所有软件包中的代码
  • pnpm typecheck:运行类型检查
  • pnpm commit:使用约定式提交格式创建提交
代码质量

本项目使用:

  • Biome 进行代码检查和格式化
  • TypeScript 进行类型检查
  • Husky 管理 git 钩子
  • Commitlint 验证提交消息

@zaptomcp/sdk

SDK 软件包提供了用于与模型上下文协议(MCP)交互的 TypeScript 实现。

功能
  • 多种传输方式:
    • 内存
    • SSE(服务器发送事件)
    • 标准输入/输出
    • 可流式传输的 HTTP
  • 类型安全的 API
  • 基于 Fastify 构建,性能出色
  • 支持 ESM 和 CommonJS
安装
pnpm add @zaptomcp/sdk
使用

使用:创建 MCP 服务

import { McpServer } from '@zaptomcp/sdk';

// Create a server with basic information
const server = new McpServer(
  {
    name: "my-mcp-server",
    version: "1.0.0"
  },
  {
    capabilities: {
      // Define your server capabilities
      sampling: {},
      prompts: {},
      resources: {},
      tools: {},
      logging: {}
    },
    instructions: "This is an MCP-compatible server"
  }
);

// Connect the server to a transport
import { FastifyTransport } from '@zaptomcp/sdk/transports';
const transport = new FastifyTransport();
await server.connect(transport);

// Start listening for requests
await transport.listen(3000);
console.log("MCP server running on port 3000");

创建 MCP 客户端

import { Client } from '@zaptomcp/sdk';

// Create a client with basic information
const client = new Client(
  {
    name: "my-mcp-client",
    version: "1.0.0"
  },
  {
    capabilities: {
      // Define your client capabilities
      sampling: {}
    }
  }
);

// Connect to an MCP server
import { HTTPClientTransport } from '@zaptomcp/sdk/transports';
const transport = new HTTPClientTransport('http://localhost:3000');
await client.connect(transport);

// Read a resource
const resource = await client.readResource({
  uri: "test://example/resource"
});

console.log(resource);
API 文档

SDK 提供以下主要导出项:

  • Server:主要的服务类
  • transports:各种传输方式
    • in-memory:内存传输
    • sse:服务器发送事件传输
    • stdio:标准输入/输出传输
    • streamable-http:支持流式传输的 HTTP 传输
开发

要参与 SDK 的开发:

# Navigate to the SDK package
cd packages/sdk

# Install dependencies
pnpm install

# Start development mode
pnpm dev

# Run tests
pnpm test

# Build the package
pnpm build

贡献

欢迎贡献!欢迎提交 Pull Request。

  1. Fork 此仓库
  2. 创建功能分支( git checkout -b feature/amazing-feature )
  3. 使用约定式提交提交更改( pnpm commit )
  4. 将分支推送到远程仓库( git push origin feature/amazing-feature )
  5. 发起 Pull Request

许可证

本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。