项目简介

这是一个多语言(Rust、C++、Node.js、Python)项目,旨在提供隐私增强的HTTP API、A2A协议支持以及基于Model Context Protocol (MCP) 的上下文服务,用于大语言模型(LLM)应用。

主要功能点

  • 多语言客户端/SDK: 提供 Rust、Node.js 和 Python 的客户端库,用于访问各种AI服务。
  • AI API 代理/封装: 包含连接和使用多种大型语言模型(如 OpenAI, Grok, Gemini, Qwen, Claude, Llama)及图像生成模型(如 Stable Diffusion)的示例或封装。
  • A2A (Agent-to-Agent) 支持: 实现 A2A 协议的服务器端组件,支持 '.well-known/agent.json' 和任务发送 ('tasks/send')。
  • MCP (Model Context Protocol) 服务器: 集成外部 MCP 库,提供符合 MCP 协议的服务器功能,允许 LLM 客户端通过标准方式访问预定义的资源和工具。

安装步骤

本项目是多语言的,安装步骤取决于你想构建和运行哪个部分。通常需要安装以下依赖:

  1. Rust: 安装 Rust 编程语言及其工具链。
  2. Node.js: 安装 Node.js 和 npm。
  3. Python: 安装 Python 3.6+ 和 pip。
  4. C++ 构建环境: 安装 C++ 编译器(如 GCC, Clang)和 CMake。

进入项目克隆的目录,并根据需要进入对应的子目录 ('http-c++', 'http-js', 'http-py') 查看具体的构建和安装说明。

  • Python 部分: 进入 'http-py' 目录,运行 'pip install -e .' 安装 Python SDK 及其依赖(包括 MCP 库)。
  • Node.js 部分: 进入 'http-js' 目录,运行 'npm install' 安装 Node.js SDK 及其依赖(包括 MCP Server 库)。
  • C++ 部分: 进入 'http-c++' 目录,使用 CMake 进行构建。

服务器配置 (针对MCP客户端)

本项目包含不同语言实现的服务器组件。其中 Node.js 部分通过 Stdio 传输协议提供 MCP 服务,可供支持 MCP Stdio 传输的 LLM 客户端使用。Python 部分也初始化了 MCP 服务器实例,但示例代码未明确展示其启动方式和传输协议,通常 MCP 库也支持 Stdio 或 WebSocket。

以下是针对 Node.js MCP 服务器(使用 Stdio 传输)的 MCP 客户端配置示例(JSON格式):

{
  "server name": "PrivacyServerJS_MCP_Stdio",
  "command": "node",
  "args": ["http-js/index.js"],
  "description": "HTTP Privacy Node.js实现的MCP服务器 (通过Stdio传输)"
}

参数说明:

  • 'server name': 服务器的标识名称。
  • 'command': 启动 MCP 服务器进程的命令(在此例中为 'node')。
  • 'args': 传递给命令的参数列表(在此例中为 Node.js 脚本文件路径)。
  • 'description': 对该服务器的描述信息。

将此配置添加到您的 LLM 客户端支持 MCP 服务器配置的地方。客户端将使用此命令启动 MCP 服务器进程,并通过标准输入/输出来与服务器通信。

基本使用方法

一旦 MCP 服务器启动并通过 Stdio(或其他配置的传输方式)连接到您的 LLM 客户端,LLM 就可以通过 MCP 协议调用服务器提供的功能。

根据 Node.js 代码示例,该 MCP 服务器提供了:

  • 一个名为 'add' 的工具 (Tool):接收两个数字参数 'a' 和 'b',返回它们的和。LLM 客户端可以调用此工具进行简单的加法运算。
  • 一个名为 'greeting' 的资源 (Resource):通过 URI 'greeting://{name}' 访问,接收一个 'name' 参数,返回包含个性化问候语的资源内容。LLM 客户端可以读取此资源获取上下文信息。

LLM 客户端将按照 MCP 协议规范构造 JSON-RPC 请求(例如 'tool_code/execute' 或 'resource/read')发送给服务器,服务器处理请求并返回 JSON-RPC 响应。

请查阅您的 LLM 客户端文档,了解如何配置和与外部 MCP 服务器交互。

信息

分类

AI与计算