MCP服务器组件库

一个用于实现模型上下文协议(MCP)服务器的Xircuits组件库,提供创建、配置和运行MCP服务器的组件。

  • by XpressAI
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 xpressai/xai-mcp

使用说明

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服务器的示例:

  1. 创建新的Xircuits工作流
  2. 添加一个 MCPCreateServer 创建服务器实例的组件
  3. 添加 MCPDefineTool, MCP定义资源,以及 MCPDefinePrompt 启动节点以定义服务器的功能
  4. 对于每个启动节点,连接组件以实现工具、资源或提示的逻辑
  5. 使用 MCPSet工具结果, MCPSetResourceResult,或 MCPSetPromptResult 设定结果
  6. (可选)添加 MCPServerOnStart 和 MCPServerOn关机 启动节点以定义服务器生命周期行为
  7. 添加一个 MCPRunServer 启动服务器的组件

示例:创建计算器工具

  1. 拖动 MCPDefineTool 在画布上启动节点
  2. 将其名称设置为“add”,将描述设置为“添加两个数字”
  3. 连接 MCPGetArgument 组件以获取“a”参数
  4. 连接另一个 MCPGetArgument 获取“b”参数的组件
  5. 连接一个将两个数字相加的组件
  6. 连接 MCPSet工具结果 设置结果的组件

示例:服务器生命周期管理

  1. 拖动 MCPServerOnStart 在画布上启动节点
  2. 连接组件以初始化资源、加载数据或执行其他启动任务
  3. 拖动 MCPServerOn关机 在画布上启动节点
  4. 连接组件以清理资源、保存数据或执行其他关机任务

文档

许可证

Apache许可证2.0