该仓库实现了一个遵循 Model Context Protocol (MCP) 标准的服务器,专注于提供品牌(Brand)相关的管理功能,例如创建、读取、更新和删除品牌信息。它通过 MCP 提供的工具(Tools)机制,将这些数据操作能力暴露给 LLM 客户端。

项目简介

本项目是一个基于 Node.js 和 TypeScript 实现的 MCP 服务器示例。它使用 '@modelcontextprotocol/sdk/server' 库构建,并通过 StdIO 协议进行通信。服务器内部采用了干净的架构(Clean Architecture),通过 Use Cases 组织业务逻辑,并通过 Controllers 适配到 MCP 工具调用。数据持久化或外部服务调用通过 'AxiosHttpClient' 抽象,本示例中配置为调用 'http://localhost:3001/api/v1/brands' 这个地址。

主要功能点

该 MCP 服务器通过以下几个 MCP 工具对外提供服务:

  • 'get_brands_paginated': 获取品牌列表,支持分页(尽管当前实现未包含详细分页参数)。
  • 'create_brand': 创建一个新的品牌记录,需要提供品牌的名称、描述、关键词、文本内容、网站标题以及激活状态。
  • 'update_brand': 更新一个已存在的品牌记录(当前示例中的 Use Case 实现是空的,需要进一步完善)。
  • 'delete_brand': 删除一个指定 ID 的品牌记录。

这些工具允许 LLM 客户端通过结构化的请求调用服务器的后端功能。

安装步骤

  1. 确保您的系统已安装 Node.js (推荐使用 LTS 版本) 和 npm 或 Yarn。
  2. 克隆本项目到您的本地:
    git clone https://github.com/matheussouzajose/mcp-server.git
    cd mcp-server
  3. 安装项目依赖:
    yarn install
    # 或者使用 npm:
    # npm install
  4. 请注意,该服务器的工具实现依赖于一个在 'http://localhost:3001' 运行的外部服务来实际执行品牌数据的 CURD 操作。在运行 MCP 服务器之前,您需要确保该外部服务正在运行。
  5. 您可以运行测试来验证安装和基本功能是否正常:
    yarn test
    # 或者使用 npm:
    # npm test

服务器配置 (供 MCP 客户端连接)

要从一个 MCP 客户端连接到这个服务器,您需要配置客户端以启动并连接到这个 Node.js 进程。典型的客户端连接配置信息(通常在客户端的配置文件或设置中指定)如下所示:

  • name: 'weather' - 服务器在其能力声明中广播的名称 (注意:尽管项目功能与品牌相关,代码中设置的服务器名称是 "weather")
  • command: 'sucrase-node' - 用于启动服务器进程的命令
  • args: '["./src/main/server.ts"]' - 传递给命令的参数,这里是服务器的入口文件路径

完整的配置示例(JSON 格式,用于客户端):

{
  "name": "weather",
  "command": "sucrase-node",
  "args": ["./src/main/server.ts"],
  "transport": "stdio"
}

(请根据您的 MCP 客户端的具体配置方式填写这些信息。)

基本使用方法

  1. 确保您已完成安装步骤,并且依赖的外部服务(如果需要完全运行工具功能)正在运行。
  2. 通过您的 MCP 客户端,使用上面提供的配置信息连接到此 MCP 服务器。
  3. 连接成功后,您的 LLM 客户端将能够发现服务器提供的工具 ('get_brands_paginated', 'create_brand', 'update_brand', 'delete_brand') 及其描述和参数规范。
  4. 您的 LLM 可以根据需要通过 MCP 协议调用这些工具,例如调用 'create_brand' 工具并提供相应的品牌信息参数来创建品牌。服务器将执行相应的操作并通过 MCP 协议返回结果。

信息

分类

商业系统