使用说明
项目简介
本仓库是一个教程项目,旨在介绍如何使用 Model Context Protocol (MCP) 构建应用后端,并结合 LangChain 和 LangGraph 实现与 Trello 的集成。通过本教程,您可以学习如何搭建一个简单的 MCP 服务器,将 Trello 的功能以工具的形式暴露给 LLM,从而构建智能化的 Trello 工作流。
主要功能点
- MCP 服务器实现: 提供了一个基于 'fastmcp' 库实现的简易 MCP 服务器,用于托管 Trello 相关工具。
- Trello 工具集成: 定义了多个工具,允许 LLM 通过 MCP 协议访问和操作 Trello 数据,例如列出看板、获取列表、获取卡片等。
- LangChain 和 LangGraph 示例: 提供了使用 LangChain 和 LangGraph 框架构建的客户端示例,演示如何通过 MCP 客户端与 MCP 服务器交互,并利用 Trello 工具实现 AI 任务。
- 教程性质: 项目结构清晰,代码注释完善,适合学习和理解 MCP 服务器的基本概念和使用方法。
- 支持多种LLM: 客户端代码示例展示了如何与 OpenAI, Anthropic 和 Ollama 等多种 LLM 模型结合使用 MCP 服务。
安装步骤
-
克隆仓库:
git clone https://github.com/johnlafata/mcp-langgraph.git cd mcp-langgraph -
安装依赖: 根据您要运行的示例,可能需要在不同的目录下安装依赖。例如,如果您要运行 'trello-mcp-generalized-langgraph/trello-server.py' 和 'trello-mcp-generalized-langgraph/mcp_app.py',请确保在 'trello-mcp-generalized-langgraph' 目录下安装依赖。通常可以使用 pip 安装:
pip install -r requirements.txt # 如果有 requirements.txt 文件 # 或者手动安装必要的库,例如: # pip install mcp fastapi requests python-dotenv langchain langchain-openai langchain-anthropic langchain-ollama langgraph请注意,不同的示例可能需要安装不同的依赖,请根据具体情况进行安装。
-
配置环境变量:
- 您需要在项目根目录下或者相应的示例目录(例如 'trello-mcp', 'trello-mcp-generalized-langgraph')创建 '.env' 文件,并配置 Trello API 密钥和 Token。
- 您需要访问 Trello 开发者页面 获取 API Key 和 Token。
- '.env' 文件示例:
TRELLO_API_KEY=your_trello_api_key TRELLO_ACCOUNT_TOKEN=your_trello_account_token OPENAI_API_KEY=your_openai_api_key # 如果使用 OpenAI 模型,则需要配置
服务器配置
要让 MCP 客户端连接到 'trello-server.py' 服务器,您需要配置客户端的服务器连接参数。以下是一个 JSON 格式的配置示例,用于 'trello-mcp-generalized-langgraph/mcp_app.py' 或类似的 MCP 客户端:
{ "server_name": "Trello", // MCP 服务器的名称,在 trello-server.py 中定义为 FastMCP("Trello") "command": "python", // 启动服务器的命令,这里是使用 python 解释器 "args": ["trello-server.py"] // 启动服务器的参数,这里是 trello-server.py 脚本的路径 }
注意:
- 'command' 和 'args' 需要根据您的实际环境和 'trello-server.py' 脚本的路径进行调整。 如果您在客户端和服务器脚本的同一目录下运行,则可以使用相对路径 '["trello-server.py"]'。 如果不在同一目录,则需要提供 'trello-server.py' 的绝对路径。
- MCP 客户端代码 (例如 'mcp_client.py' 或 'trello-client.py') 通常会在代码中硬编码或通过更灵活的方式(例如读取配置文件)来指定这些服务器连接参数,而不是让用户手动配置 JSON。 用户通常只需要确保服务器脚本 'trello-server.py' 可以被 'python' 命令执行即可。
基本使用方法
-
启动 MCP 服务器: 打开终端,进入 'trello-mcp-generalized-langgraph' 或 'trello-mcp' 目录,运行 'trello-server.py' 脚本以启动 MCP 服务器:
cd trello-mcp-generalized-langgraph # 或者 cd trello-mcp python trello-server.py服务器成功启动后,通常会在终端输出一些日志信息,例如 "MCP Server started..."。
-
运行 MCP 客户端: 在另一个终端窗口,进入相同的目录 ('trello-mcp-generalized-langgraph' 或 'trello-mcp'),运行 MCP 客户端脚本,例如 'mcp_app.py' 或 'trello-client.py':
cd trello-mcp-generalized-langgraph # 或者 cd trello-mcp python mcp_app.py # 或者 python trello-client.py客户端脚本会连接到正在运行的 MCP 服务器,并向服务器发送查询请求。您可以在终端看到客户端的输出,以及服务器端的工具调用和日志信息。
-
与 AI Agent 交互 (通过 LangChain/LangGraph 客户端示例):
- 如果您运行的是 LangChain 或 LangGraph 示例客户端 (例如 'mcp_graph.py', 'app.py' 在 'trello-mcp-generalized-langgraph' 或 'trello-mcp-langgraph' 目录下), 客户端会自动使用配置好的 MCP 服务器和 Trello 工具。
- 您可以根据示例代码中的提示,修改查询语句,与 AI Agent 进行交互,例如查询 Trello 看板信息、列表信息或卡片信息。
请注意: 本仓库主要为教程目的,提供的 MCP 服务器实现较为基础。在实际生产环境中,您可能需要考虑更完善的错误处理、安全性、会话管理和可扩展性等问题。
信息
分类
生产力应用