使用说明
项目简介
Kakashi 是一个集成了聊天室、任务系统、知识库的应用,其 'mcp/servers' 目录下包含了基于 Model Context Protocol (MCP) 实现的服务器组件,例如天气信息查询和网页文件下载服务。这些 MCP 服务器旨在为大型语言模型 (LLM) 提供可扩展的工具和服务,以增强 LLM 在特定领域的能力。
主要功能点
- 天气信息查询: 提供美国地区的天气预警和天气预报查询工具。
- 网页文件下载: 支持从互联网下载文件到指定路径。
- MCP 协议支持: 基于 'fastmcp' 框架实现,遵循 MCP 协议标准,易于与兼容的 MCP 客户端集成。
- 工具注册与调用: 通过装饰器 '@mcp.tool()' 注册工具函数,客户端可以发现并调用这些工具。
- Stdio 传输协议: 使用标准输入输出 (Stdio) 作为默认的服务器-客户端通信协议。
安装步骤
- 克隆仓库
git clone https://github.com/spoonbobo/kakashi.git - 进入仓库目录
cd kakashi - 复制环境变量配置文件
(您可以根据需要编辑 'public/.env' 文件,但对于运行 MCP 服务器而言,默认配置可能已足够)cp public/.env.template public/.env - 使用 Docker Compose 启动应用
这将启动包括 MCP 服务器在内的整个 Kakashi 应用。docker compose up
服务器配置
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 服务器。
基本使用方法
- 启动 Kakashi 应用后,'weather' 和 'web_fetcher' MCP 服务器将作为独立的进程运行,并通过 Stdio 协议等待客户端连接。
- 配置兼容 MCP 协议的客户端,例如 'kakashi' 项目中的 'mcp/client' 部分,使用上述提供的服务器配置信息连接到 'weather' 和 'web_fetcher' 服务器。
- 客户端连接成功后,可以调用 'weather' 服务器提供的 'get_alerts' (获取天气预警) 和 'get_forecast' (获取天气预报) 工具,以及 'web_fetcher' 服务器提供的 'download_file_from_internet' (下载网页文件) 工具,以增强 LLM 应用的功能。
信息
分类
网页与API