首页
/ 【亲测免费】 MCP TypeScript SDK 使用教程

【亲测免费】 MCP TypeScript SDK 使用教程

2026-01-30 04:49:25作者:宣利权Counsellor

1. 项目介绍

Model Context Protocol (MCP) TypeScript SDK 是一个开源项目,旨在为 Model Context Protocol 提供一个类型安全的 TypeScript 实现。它允许开发者构建能够向大型语言模型(LLM)应用程序提供数据和功能的标准化服务器。通过 MCP,开发者可以创建支持多种传输方式的服务器,如标准输入输出(stdio)和基于 HTTP 的服务器发送事件(SSE),并且可以轻松地处理 MCP 协议消息和生命周期事件。

2. 项目快速启动

以下是一个快速启动 MCP 服务器的示例代码:

import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio";
import { z } from "zod";

// 创建一个 MCP 服务器
const server = new McpServer({
  name: "Demo",
  version: "1.0.0"
});

// 添加一个加法工具
server.tool("add", {
  a: z.number(),
  b: z.number()
}, async ({ a, b }) => ({
  content: [
    { type: "text", text: String(a + b) }
  ]
}));

// 添加一个动态问候资源
server.resource("greeting", new ResourceTemplate("greeting://{name}", { list: undefined }), async (uri, { name }) => ({
  contents: [
    { uri: uri.href, text: `Hello, ${name}!` }
  ]
}));

// 开始接收 stdin 消息并发送 stdout 消息
const transport = new StdioServerTransport();
await server.connect(transport);

确保你已经通过 npm 安装了 @modelcontextprotocol/sdk

npm install @modelcontextprotocol/sdk

3. 应用案例和最佳实践

Echo 服务器

创建一个简单的 Echo 服务器,将接收到的消息原样返回:

// Echo 服务器工具
server.tool("echo", {
  message: z.string()
}, async ({ message }) => ({
  content: [
    { type: "text", text: message }
  ]
}));

SQLite 浏览器

创建一个工具来查询 SQLite 数据库并返回结果:

// SQLite 查询工具
server.tool("query-sqlite", {
  query: z.string()
}, async ({ query }) => {
  // 这里应该包含对 SQLite 数据库的查询逻辑
  const result = "查询结果"; // 假设的查询结果
  return {
    content: [
      { type: "text", text: result }
    ]
  };
});

测试和调试

为了测试和调试 MCP 服务器,可以使用内置的测试框架和工具,例如 jest

// jest 配置
jest.config({
  // jest 配置项
});

4. 典型生态项目

MCP TypeScript SDK 的生态系统中有许多项目,例如:

  • @modelcontextprotocol/cli:命令行工具,用于启动和调试 MCP 服务器。
  • @modelcontextprotocol/sdk-browser:浏览器版本的 SDK,用于在浏览器中创建 MCP 客户端。
  • @modelcontextprotocol/examples:包含多个使用 MCP SDK 的示例项目。

通过这些项目和工具,开发者可以更轻松地构建与 LLM 应用程序交互的复杂系统。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
827
5.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
494
515
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
783
1.57 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
800
1.14 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
970
2.28 K
kernelkernel
deepin linux kernel
C
32
16
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
480
312
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.01 K
766
cannbot-skillscannbot-skills
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Markdown
1.26 K
808
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
647
284