使用说明

项目简介

Kakashi 是一个集成了聊天室、任务系统、知识库的应用,其 'mcp/servers' 目录下包含了基于 Model Context Protocol (MCP) 实现的服务器组件,例如天气信息查询和网页文件下载服务。这些 MCP 服务器旨在为大型语言模型 (LLM) 提供可扩展的工具和服务,以增强 LLM 在特定领域的能力。

主要功能点

  • 天气信息查询: 提供美国地区的天气预警和天气预报查询工具。
  • 网页文件下载: 支持从互联网下载文件到指定路径。
  • MCP 协议支持: 基于 'fastmcp' 框架实现,遵循 MCP 协议标准,易于与兼容的 MCP 客户端集成。
  • 工具注册与调用: 通过装饰器 '@mcp.tool()' 注册工具函数,客户端可以发现并调用这些工具。
  • Stdio 传输协议: 使用标准输入输出 (Stdio) 作为默认的服务器-客户端通信协议。

安装步骤

  1. 克隆仓库
    git clone https://github.com/spoonbobo/kakashi.git
  2. 进入仓库目录
    cd kakashi
  3. 复制环境变量配置文件
    cp public/.env.template public/.env
    (您可以根据需要编辑 'public/.env' 文件,但对于运行 MCP 服务器而言,默认配置可能已足够)
  4. 使用 Docker Compose 启动应用
    docker compose up
    这将启动包括 MCP 服务器在内的整个 Kakashi 应用。

服务器配置

MCP 服务器是为 MCP 客户端设计的后端服务。要让 MCP 客户端连接到 'weather' 和 'web_fetcher' 服务器,您需要在 MCP 客户端的配置中指定服务器的启动命令和参数。以下是针对这两个服务器的 MCP 客户端配置示例(JSON 格式):

weather 服务器配置

{
  "server_name": "weather",
  "command": "python",
  "args": ["./mcp/servers/weather.py"]
}
  • 'server_name': 服务器名称,例如 "weather"。
  • 'command': 启动服务器的命令,对于 Python 服务器,通常是 "python"。
  • 'args': 启动命令的参数,这里指向 'weather' 服务器脚本的路径。路径 './mcp/servers/weather.py' 是相对于 MCP 客户端运行环境中的服务器脚本位置。

web_fetcher 服务器配置

{
  "server_name": "web_fetcher",
  "command": "python",
  "args": ["./mcp/servers/web_fetcher.py"]
}
  • 'server_name': 服务器名称,例如 "web_fetcher"。
  • 'command': 启动服务器的命令,对于 Python 服务器,通常是 "python"。
  • 'args': 启动命令的参数,这里指向 'web_fetcher' 服务器脚本的路径。路径 './mcp/servers/web_fetcher.py' 是相对于 MCP 客户端运行环境中的服务器脚本位置。

重要提示

  • 上述路径 './mcp/servers/weather.py' 和 './mcp/servers/web_fetcher.py' 是示例路径, 假设 MCP 客户端与 MCP 服务器在文件系统中有相对路径关系。在实际部署中,您需要根据 MCP 客户端和服务器的部署位置,调整 'args' 中的脚本路径,确保客户端能够正确执行服务器启动命令。
  • MCP 客户端需要能够解析和执行 JSON 格式的配置信息,并根据配置启动和连接到 MCP 服务器。

基本使用方法

  1. 启动 Kakashi 应用后,'weather' 和 'web_fetcher' MCP 服务器将作为独立的进程运行,并通过 Stdio 协议等待客户端连接。
  2. 配置兼容 MCP 协议的客户端,例如 'kakashi' 项目中的 'mcp/client' 部分,使用上述提供的服务器配置信息连接到 'weather' 和 'web_fetcher' 服务器。
  3. 客户端连接成功后,可以调用 'weather' 服务器提供的 'get_alerts' (获取天气预警) 和 'get_forecast' (获取天气预报) 工具,以及 'web_fetcher' 服务器提供的 'download_file_from_internet' (下载网页文件) 工具,以增强 LLM 应用的功能。

信息

分类

网页与API