项目简介
该项目提供了一个基于 Model Context Protocol (MCP) 实现的工具服务,用于模拟企业员工请假管理功能。它作为本地AI技术栈(如结合 Ollama 和 Open WebUI)的一部分,使得大型语言模型 (LLM) 能够通过结构化的方式调用外部工具,获取实时信息并执行特定任务。
主要功能点
- 查询请假余额: LLM 可以通过调用工具查询指定员工剩余的年假天数。
- 申请请假: 支持 LLM 调用工具为指定员工申请指定日期的假期,并自动扣除余额。
- 查看请假历史: 提供工具供 LLM 查询指定员工过去的请假记录。
- 个性化问候: 提供一个资源供 LLM 获取包含用户姓名的个性化欢迎语。
安装步骤
本项目主要依赖 Docker 在 Windows 环境下运行。
- 安装 Ollama: 从 Ollama 官网 下载并安装 Ollama,确保其运行正常(通常在 'http://localhost:11434' 可访问)。
- 拉取模型: 使用 PowerShell 或命令提示符执行 'ollama pull deepseek-r1' 下载所需的语言模型。
- 克隆仓库: 使用 Git 命令克隆本项目到本地。
- 运行服务: 进入项目根目录,打开 PowerShell 或命令提示符,执行 'docker-compose up --build' 命令。这将构建并启动包含 MCP 服务器(请假管理器)和 Open WebUI 的 Docker 容器。
服务器配置(供 MCP 客户端参考)
本项目中的 MCP 服务器通过 Docker 启动,并暴露在本地网络地址。通常,MCP 客户端(如一些 LLM 应用或开发框架)需要以下信息来连接并使用此服务:
- 服务器名称 (Server Name): LeaveManager
- 访问地址 (Access Address/URL): http://localhost:8000
- 协议 (Protocol): HTTP (虽然 MCP 定义了多种协议,本项目示例通过此 HTTP 地址暴露 OpenAPI 规范,方便与支持 OpenAPI 的客户端(如 Open WebUI)集成。具体的 MCP JSON-RPC 访问方式可能依赖于 FastMCP 库的实现细节,但此 HTTP 地址是主要的集成入口。)
注意: 在使用支持标准 MCP 协议(如 Stdio, WebSocket)的客户端时,连接配置细节可能有所不同,需要查阅具体客户端和 FastMCP 库的文档。本项目示例侧重于通过 HTTP/OpenAPI 集成。
基本使用方法
在按照安装步骤成功运行 'docker-compose up' 后:
- 访问 Open WebUI 界面:在浏览器中打开 'http://localhost:3000'。
- 将 MCP 工具添加到 Open WebUI:
- 点击右上角用户图标,选择 "Settings"。
- 在侧边栏选择 "Tools"。
- 点击 "+" 按钮添加新工具。
- 在弹出的对话框中输入 MCP 服务器的访问地址 'http://localhost:8000/',然后点击添加并保存。Open WebUI 将通过此地址获取并注册请假管理器的工具。
- 与 LLM 交互并使用工具:在 Open WebUI 的聊天界面选择一个支持工具调用的模型(如已拉取的 'deepseek-r1')。然后输入自然语言指令,LLM 会根据指令自动判断并调用对应的请假管理工具。例如:
- 'Check how many leave days are left for employee E001' (检查 E001 还有多少请假天数)
- 'Apply leave for E001 on 2025-12-01' (为 E001 申请 2025-12-01 的假期)
- 'What's the leave history of E001?' (E001 的请假历史是什么?)
- 'Greet me as Alice' (用 Alice 的名字问候我)
信息
分类
生产力应用