使用说明
项目简介
本项目是一个使用Python实现的MCP服务器,它充当Todoist任务管理器的自然语言接口。通过集成Groq大型语言模型(LLM),服务器能够理解用户的自然语言指令,并将其转化为对Todoist API的调用,从而实现任务的创建和查看等功能。该服务器遵循Model Context Protocol (MCP),旨在为LLM客户端提供标准化的上下文服务。
主要功能点
- 自然语言任务管理: 允许用户使用自然语言指令创建和查看Todoist任务,例如“明天买菜”、“显示今天的任务”等。
- 意图理解: 利用Groq LLM解析用户自然语言指令,判断用户意图(创建任务或列出任务)并提取相关参数。
- Todoist集成: 与Todoist API交互,实现任务的创建和检索。
- MCP服务器: 基于Model Context Protocol构建,提供标准化的工具注册和调用接口。
- SSE传输协议: 使用Server-Sent Events (SSE) 作为MCP服务器的传输协议,与客户端进行通信。
安装步骤
- 安装依赖: 确保你的Python环境中已安装必要的库。在项目根目录下运行以下命令安装依赖:
pip install mcp python-dotenv requests - 配置API密钥:
- 在项目根目录下创建 '.env' 文件。
- 在 '.env' 文件中填入你的Todoist API密钥和Groq API密钥,如下所示:
请替换 '你的Todoist API密钥' 和 '你的Groq API密钥' 为你实际的API密钥。你需要在 Todoist开发者平台 和 Groq平台 获取相应的API密钥。TODOIST_API_KEY=你的Todoist API密钥 GROQ_API_KEY=你的Groq API密钥
服务器配置
MCP客户端需要配置以下信息以连接到此MCP服务器。以下配置信息为JSON格式,请提供给MCP客户端:
{ "server_name": "TodoistMCP", "command": "python", "args": ["mcp_server.py"] }
配置参数说明:
- 'server_name': 服务器的名称,可以自定义,例如 "TodoistMCP"。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 启动服务器命令的参数,这里指定运行 'mcp_server.py' 文件。
注意: MCP客户端通常需要能够执行 'python' 命令并访问到 'mcp_server.py' 文件所在的目录。
基本使用方法
- 启动服务器: 可以直接运行 'run.py' 脚本,它会自动启动MCP服务器和客户端。在项目根目录下运行:
或者,你也可以手动分别启动服务器和客户端。先在一个终端窗口运行服务器:python run.py
然后在另一个终端窗口运行客户端:python mcp_server.pypython mcp_client.py - 与客户端交互: 客户端启动后,你可以在命令行中输入自然语言指令来管理Todoist任务。例如:
- 'Create a task to buy groceries tomorrow' (创建一个明天买菜的任务)
- 'Show me my tasks for today' (显示我今天的任务)
- 'Add high priority task finish report by Friday' (添加一个高优先级任务,周五前完成报告)
- 输入 'exit' 可以退出客户端。
工作原理简述: 客户端将用户输入的自然语言请求发送给MCP服务器。服务器接收到请求后,首先使用Groq LLM分析用户意图,确定是创建任务还是查看任务,并提取任务内容、截止日期、优先级等参数。然后,服务器根据解析出的意图和参数,调用Todoist API执行相应的操作(创建任务或获取任务列表)。最后,服务器将Todoist API的响应结果返回给客户端显示。
信息
分类
生产力应用