该仓库实现了一个遵循 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 客户端通过结构化的请求调用服务器的后端功能。
安装步骤
- 确保您的系统已安装 Node.js (推荐使用 LTS 版本) 和 npm 或 Yarn。
- 克隆本项目到您的本地:
git clone https://github.com/matheussouzajose/mcp-server.git cd mcp-server - 安装项目依赖:
yarn install # 或者使用 npm: # npm install - 请注意,该服务器的工具实现依赖于一个在 'http://localhost:3001' 运行的外部服务来实际执行品牌数据的 CURD 操作。在运行 MCP 服务器之前,您需要确保该外部服务正在运行。
- 您可以运行测试来验证安装和基本功能是否正常:
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 客户端的具体配置方式填写这些信息。)
基本使用方法
- 确保您已完成安装步骤,并且依赖的外部服务(如果需要完全运行工具功能)正在运行。
- 通过您的 MCP 客户端,使用上面提供的配置信息连接到此 MCP 服务器。
- 连接成功后,您的 LLM 客户端将能够发现服务器提供的工具 ('get_brands_paginated', 'create_brand', 'update_brand', 'delete_brand') 及其描述和参数规范。
- 您的 LLM 可以根据需要通过 MCP 协议调用这些工具,例如调用 'create_brand' 工具并提供相应的品牌信息参数来创建品牌。服务器将执行相应的操作并通过 MCP 协议返回结果。
信息
分类
商业系统