JoeBlockchain_mcp Server Client

JoeBlockchain_mcp Server Client

🚀 MCP 服务器 - 客户端示例

本项目借助 TypeScript SDK,为你展示了 Model Context Protocol (MCP) 的基础实现。它涵盖了一个用于提供资源访问的服务器,以及一个连接至该服务器并发起资源请求的客户端,二者通过 stdio 传输进行通信。

🚀 快速开始

本示例包含提供资源访问的 MCP 服务器、连接服务器并请求资源的 MCP 客户端,具备基本的资源列表和读取功能。

先决条件

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

安装

克隆仓库并安装依赖项:

npm install

运行示例

你需要分别在两个终端窗口中运行服务器和客户端。

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

客户端将执行以下操作:

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

✨ 主要特性

服务器功能

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

  • 资源列表
  • 资源读取
  • 基本错误处理(针对未知资源)

可用资源

示例服务器提供以下资源访问权限:

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

📦 安装指南

克隆仓库并安装依赖项:

npm install

💻 使用示例

基础用法

你需要分别在两个终端窗口中运行服务器和客户端。 启动服务器:

npm run start:server

在新终端中启动客户端:

npm run start:client

高级用法

添加新资源

要添加新资源,请修改 ListResourcesRequestSchema 处理器位于 src/index.ts

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

📚 详细文档

项目结构

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

开发

脚本

  • 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

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-29 17:45

相似服务问题