Back to MCP directory
publicPublicdnsLocal runtime

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

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client