Xircuits MCP组件库
用于实现模型上下文协议(MCP)服务器的Xircuits组件库。该库提供的组件使使用Xircuits可视化编程界面创建、配置和运行MCP服务器变得容易。
什么是模型上下文协议(MCP)?
这 模型上下文协议(MCP) 允许您构建以安全、标准化的方式向LLM应用程序公开数据和功能的服务器。将其视为一个web API,但它是专门为LLM交互而设计的。MCP服务器可以:
- 通过以下方式公开数据 资源 (将这些类似于GET端点;它们用于将信息加载到LLM的上下文中)
- 通过以下方式提供功能 工具 (有点像POST端点;它们用于执行代码或产生副作用)
- 通过以下方式定义交互模式 鼓励 (LLM交互的可重用模板)
- 还有更多!
先决条件
- Python 3.8或更高版本
- 电路
- MCP Python SDK
安装
要使用此组件库,请确保已安装Xircuits,然后只需运行:
xircuits install https://github.com/xpressai/xai-mcp或者,您可以手动将目录/克隆或子模块存储库复制到您的工作Xircuits项目目录,然后使用以下命令安装软件包:
pip install -r requirements.txt组件
此库提供了用于实现MCP服务器的组件,分为几类:
服务器设置组件
- MCPCreateServer:使用指定名称和可选依赖项创建FastMCP服务器实例。
- MCPRunServer:启动MCP服务器并保持其运行,直到中断。
启动节点组件
这些组件充当定义MCP服务器功能的入口点。可以将它们拖到画布上以实现对事件的响应:
- MCPDefineTool (皇家蓝):为MCP服务器定义一个工具,允许LLM执行操作和计算。
- MCP定义资源 (青柠绿):为MCP服务器定义一个资源,允许LLM通过URI模式访问数据。
- MCPDefinePrompt (Dark Orchid):为MCP服务器定义一个提示模板,为LLM提供可重用的交互模式。
- MCPServerOnStart (深橙色):定义MCP服务器启动时要执行的代码。
- MCPServerOn关机 (Firebrick):定义MCP服务器关闭时要执行的代码。
结果设置组件
这些组件在开始节点的主体中用于设置工具、资源或提示执行的结果:
- MCPSet工具结果 (皇家蓝):设置工具执行的结果。
- MCPSetResourceResult (青柠绿):设置资源执行的结果。
- MCPSetPromptResult (Dark Orchid):设置提示执行的结果。
实用程序组件
- MCPCreateImage:创建用于MCP工具和资源的Image对象。
- MCPGetArgument:从args字典获取参数。
- MCP报告进度:报告长时间运行的操作的进度。
- MCPReadResource:从MCP服务器读取资源。
- MCPCreateusermessage:创建用于提示的用户消息。
- MCPCreateAssistant消息:创建用于提示的助手消息。
- MCPCreateMessageList:创建用于提示的消息列表。
用法示例
以下是一个如何使用此组件库创建MCP服务器的示例:
- 创建新的Xircuits工作流
- 添加一个 MCPCreateServer 创建服务器实例的组件
- 添加 MCPDefineTool, MCP定义资源,以及 MCPDefinePrompt 启动节点以定义服务器的功能
- 对于每个启动节点,连接组件以实现工具、资源或提示的逻辑
- 使用 MCPSet工具结果, MCPSetResourceResult,或 MCPSetPromptResult 设定结果
- (可选)添加 MCPServerOnStart 和 MCPServerOn关机 启动节点以定义服务器生命周期行为
- 添加一个 MCPRunServer 启动服务器的组件
示例:创建计算器工具
- 拖动 MCPDefineTool 在画布上启动节点
- 将其名称设置为“add”,将描述设置为“添加两个数字”
- 连接 MCPGetArgument 组件以获取“a”参数
- 连接另一个 MCPGetArgument 获取“b”参数的组件
- 连接一个将两个数字相加的组件
- 连接 MCPSet工具结果 设置结果的组件
示例:服务器生命周期管理
- 拖动 MCPServerOnStart 在画布上启动节点
- 连接组件以初始化资源、加载数据或执行其他启动任务
- 拖动 MCPServerOn关机 在画布上启动节点
- 连接组件以清理资源、保存数据或执行其他关机任务
文档
许可证
Apache许可证2.0
