项目简介

该项目是 DevPulse Agent 体系中的一个关键组成部分,实现了一个基于 Model Context Protocol (MCP) 的服务器。它旨在为连接的 LLM 客户端(如 IDE 集成的 AI 助手)提供结构化的上下文信息和功能调用能力。

主要功能点

  • 通用工具集: 提供基础的工具,如数值计算(加法)和模拟掷骰子,LLM 可以通过 MCP 协议调用这些工具执行简单任务。
  • AI 代理集成: 包含一个与内部 Mastra AI 代理系统交互的工具。LLM 可以通过调用此工具,向 Mastra 发送问题,例如获取天气信息等,扩展其能力。
  • 动态资源访问: 实现了一个动态资源(如个性化问候语),允许客户端根据URI模式 ('greeting://{name}') 请求并获取个性化内容,展示了 MCP 管理和提供动态上下文的能力。
  • 标准协议实现: 使用 '@modelcontextprotocol/sdk' 实现 MCP 标准,支持通过 Stdio 等传输方式与客户端通信。

安装步骤

  1. 确保您的系统已安装 Node.js 环境。
  2. 克隆本 GitHub 仓库到本地:
    git clone https://github.com/JeongJaeSoon/devpulse-agent.git
    cd devpulse-agent
  3. 安装项目依赖(在仓库根目录执行):
    npm install
    # 或者使用 yarn: yarn install
  4. 构建项目(需要编译 TypeScript):
    npm run build
    # 或者使用 yarn: yarn build
    (注意:具体的构建命令可能因项目的 'package.json' 配置而异,请查阅实际文件)

服务器配置(供MCP客户端使用)

MCP 客户端需要知道如何启动并连接到这个服务器。以下是客户端配置时所需的核心信息:

{
  "name": "MCP Server",
  "command": "node",
  "args": [
    "/path/to/your/cloned/repo/mcp-server/dist/index.js"
  ],
  "transport": "stdio"
}

参数说明:

  • 'name': 服务器向客户端声明的名称,客户端将以此名称识别服务器。
  • 'command': 用于启动服务器进程的可执行命令。这里是 'node',因为它是一个 Node.js 应用。
  • 'args': 传递给 'command' 的参数列表。这里是服务器主程序的路径。请将 '/path/to/your/cloned/repo/' 替换为你实际克隆并构建项目后的路径。
  • 'transport': 服务器使用的通信协议。这里是 'stdio' (标准输入输出)。

客户端根据以上信息配置后,启动时会自动执行 'command' 并传入 'args',建立与该 MCP 服务器的 'stdio' 连接。

基本使用方法

一旦 MCP 客户端连接成功并与该服务器建立会话,LLM 或客户端应用就可以通过 MCP 协议调用服务器暴露的功能:

  1. 调用工具 (Tools): LLM 可以根据工具的名称、描述和参数 schema,向服务器发送请求来调用特定的工具。

    • 例如,调用 "add" 工具进行加法运算,提供参数 '{ "a": 5, "b": 3 }'。
    • 调用 "getDiceRoll" 工具模拟掷骰子,提供参数 '{ "sides": 6 }'。
    • 调用 "askMastra" 工具向 Mastra 代理提问,提供参数 '{ "question": "今天天气如何?", "agentId": "weatherAgent" }'。服务器将调用 Mastra API 并返回结果。
  2. 访问资源 (Resources): LLM 或客户端可以根据资源 URI 模式请求获取资源内容。

    • 例如,请求获取 URI 为 'greeting://Alice' 的资源,服务器将动态生成并返回包含 "Hello, Alice!" 的内容。

这些操作通常由支持 MCP 协议的 LLM 框架或客户端自动完成,LLM 在生成回复时会根据上下文和自身能力决定何时调用哪个工具或访问哪个资源。

信息

分类

AI与计算