项目简介

此仓库是围绕构建轻量级AI代理的研讨会材料,其中包含了一个使用Model Context Protocol (MCP) 实现的简单服务器示例。该服务器托管了一些基本的工具和上下文信息,用于演示如何让AI模型通过MCP发现和使用外部功能。

主要功能点

该MCP服务器示例提供以下功能:

  • 托管工具: 注册并提供可供LLM调用的功能,例如一个简单的“天气查询”工具。
  • 托管资源: 注册并提供可供LLM访问的数据或服务接口,例如一个简单的“回显”资源。
  • 定义Prompt模板: 提供预定义的Prompt模板,帮助构建与LLM的交互逻辑。
  • MCP通信: 通过标准的MCP协议(基于JSON-RPC)与客户端进行通信。

安装步骤

运行此MCP服务器需要Python环境。

  1. 确保已安装Python 3.9+。
  2. 推荐使用'uv'创建和管理虚拟环境:
    pip install uv
    uv venv
    source .venv/bin/activate  # macOS/Linux
    # 或者
    .venv\Scripts\activate  # Windows
  3. 安装项目依赖:
    uv pip install -r requirements.txt

服务器配置

此MCP服务器是一个独立的Python脚本 ('apps/weather_server.py')。MCP客户端需要配置连接信息才能与服务器建立连接。典型的配置信息会包含服务器的名称、启动命令及其参数。

对于此仓库中的 'apps/weather_server.py',客户端连接时需要指定服务器名称,以及用于启动该服务器的命令(例如 'python')和作为参数的脚本路径(例如 'apps/weather_server.py')。

注:具体的客户端配置方式取决于您使用的MCP客户端实现,通常是通过提供一个包含服务器启动信息的JSON对象来建立连接。

基本使用方法

  1. 启动MCP服务器: 在终端中激活您的Python环境,然后运行服务器脚本:

    python apps/weather_server.py

    服务器启动后会监听来自MCP客户端的请求。

  2. 连接并使用服务器: 使用兼容的MCP客户端(例如此仓库中的 'apps/gemma_client.py' 或 'apps/gemini_client.py' 脚本,或其他任何MCP客户端库)连接到正在运行的服务器。客户端可以通过MCP协议发现服务器提供的工具(如 'weather_tool')、资源(如 'echo://')和Prompt模板(如 'weather_prompt'、'weather_response_prompt'),并进行交互。

信息

分类

网页与API