返回 MCP 目录
public公开dns本地运行

mcp-server-client

该项目展示了一个基于TypeScript SDK的Model Context Protocol (MCP)基础实现,包含通过stdio传输进行通信的服务器和客户端示例。

article

README

🚀 MCP 服务器 - 客户端示例

本项目借助 TypeScript SDK 实现了基础的 Model Context Protocol (MCP) 功能。它涵盖了一个用于提供资源访问的 MCP 服务器,以及一个连接该服务器并请求资源的客户端,为 MCP 的应用提供了直观的示例。

🚀 快速开始

此示例包含一个 MCP 服务器和一个 MCP 客户端。服务器用于提供资源访问,客户端则连接到服务器并请求资源,同时具备基本的资源列表和读取功能。

📦 安装指南

先决条件

  • Node.js (v16 或更高版本)
  • npm

安装步骤

克隆仓库并安装依赖项:

npm install

💻 使用示例

基础用法

您需要在两个单独的终端窗口中运行服务器和客户端。

  1. 启动服务器:
npm run start:server
  1. 在新终端中,启动客户端:
npm run start:client

客户端将执行以下操作:

  1. 连接到服务器
  2. 请求可用资源列表
  3. 读取示例资源的内容

📚 详细文档

项目结构

src/
  ├── index.ts    # 服务器实现
  └── client.ts   # 客户端实现

服务器功能

当前服务器支持的功能包括:

  • 资源列表
  • 资源读取
  • 未知资源的基本错误处理

可用资源

示例服务器提供以下资源:

  • file:///example.txt:一个简单的文本资源

开发

脚本

  • npm run start:server:启动 MCP 服务器
  • npm run start:client:启动 MCP 客户端

添加新资源

要在服务器中添加新的资源,请修改 ListResourcesRequestSchema 处理器在 src/index.ts 中:

server.setRequestHandler(ListResourcesRequestSchema, async () => {
  return {
    resources: [
      {
        uri: "file:///example.txt",
        name: "Example Resource",
      },
      // 在此处添加新的资源
    ],
  };
});

依赖项

| 属性 | 详情 | |------|------| | 依赖项 | @modelcontextprotocol/sdk:MCP TypeScript SDK;ts-node:TypeScript 执行环境;typescript:TypeScript 编译器 |

📄 许可证

本项目采用 ISC 许可证。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端