HPD-MCP-Server-Framework

使用说明

  • 项目简介 HPD-MCP-Server-Framework 是 HPD-Agent Framework 的一部分,用于实现基于 MCP 的服务器端组件。它可托管和管理资源(Resources)、注册和执行工具(Tools),并定义与渲染 Prompt 模板(Prompts),通过标准化的 JSON-RPC 协议与客户端通信,实现对 LLM 的上下文服务、外部功能调用和模板渲染等能力。

  • 主要功能点

    • MCP 资源管理:提供数据访问、文档和 Artefact 的统一管理入口,便于 LLM 客户端查询和读取上下文数据。
    • 工具注册与执行:允许通过 MCP 服务器暴露外部工具,LLM 可以调用这些工具完成外部任务。
    • Prompt 模板定义与渲染:支持可定制的提示模板,用于规范化 LLM 的交互模式。
    • JSON-RPC 通信:客户端通过 JSON-RPC 进行请求/响应,服务器端返回标准化的响应或发送通知。
    • 会话与能力声明:支持多会话、能力对外声明,便于客户端探知可用能力。
    • 多传输协议支持:包括 Stdio、SSE、WebSocket 等,确保在不同环境下的接入能力。
    • MCP 配置途径:可通过 MCP.json 文件进行配置,或使用代码属性(如 MCPServer)进行注册。
  • 安装步骤

    • 在你的 .NET 项目中添加 HPD-Agent Framework 相关包(示例包名:HPD-Agent.Framework)。
    • 按需选择 MCP 服务器的配置方式:
      • MCP.json 配置:在 MCP.json 中列出服务器名称、启动命令、参数等,用于运行时注册 MCP 服务器。
      • 代码注册:在服务器类上使用 MCPServer 等属性进行注册,简化集成并在编译时生成必要的注册代码。
    • 运行后端服务,使其对外暴露 MCP.json 指定的启动命令或代码注册的暴露点。
  • 服务器配置(JSON 示例,客户端至少需要启动命令和参数来与 MCP 服务器建立连接) { "Servers": [ { "Name": "filesystem", "Command": "npx", "Args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"], "Description": "文件系统工具 MCP 服务,提供对工作空间的上下文化访问", "Transport": "WebSocket", "Endpoint": "/mcp/filesystem" }, { "Name": "knowledge", "Command": "node", "Args": ["server-knowledge.js"], "Description": "知识/内容资源 MCP 服务", "Transport": "SSE", "Endpoint": "/mcp/knowledge" } ] } 说明:

    • 上述 JSON 仅用于描述配置字段,实际字段名和结构需结合你使用的 MCP JSON 配置格式进行对齐。
    • MCP 客户端在首次建立连接前,需具备对 MCP 服务器的启动命令(command)及其参数(args)的基本信息,以便正确启动并与 MCP 服务器通信。

服务器信息