项目简介

LimeSurvey MCP 服务器是一个后端应用,它将流行的开源问卷调查平台 LimeSurvey 集成到 Model Context Protocol (MCP) 生态系统中。通过这个服务器,大型语言模型(LLM)客户端可以以标准化的方式访问和管理 LimeSurvey 中的问卷、问题、群组、参与者和回复等各种资源,并执行如添加、更新、删除问卷或回复等操作。这使得LLM能够与LimeSurvey平台进行深度交互,实现智能问卷管理和数据分析。

主要功能点

本MCP服务器提供了以下主要功能:

  • 问卷管理: 获取问卷属性、列出所有问卷、添加新问卷、复制问卷、删除问卷、激活问卷、导入问卷、设置问卷属性。
  • 问卷元素管理: 获取问题、列出问卷中的问题、删除问题、设置问题属性、导入问题;管理问卷群组(获取、列出、添加、删除、设置属性、导入)。
  • 参与者管理: 获取参与者详情、列出问卷所有参与者、添加参与者、删除参与者、邀请参与者、设置参与者属性、从中央参与者数据库导入参与者、激活令牌。
  • 回复管理: 获取问卷所有回复ID、添加单条或多条回复、更新回复、删除回复、保存回复、导出回复。
  • 数据导出与分析: 导出问卷统计数据(如PDF、Excel)、导出时间线数据。
  • 语言与服务器信息: 获取可用语言、默认语言、语言属性;获取LimeSurvey服务器版本、数据库版本、站点名称、用户列表。
  • 文件操作: 上传文件、下载问卷相关文件。

安装步骤

  1. 克隆仓库: 首先,使用Git命令将项目仓库克隆到本地计算机:

    git clone https://github.com/edgarrmondragon/limesurvey-mcp.git
    cd limesurvey-mcp
  2. 安装依赖: 确保您的系统已安装Python环境。然后,安装项目所需的Python依赖包。推荐使用'pip'工具:

    pip install fastmcp citric

    如果您希望使用'uv'工具链(如README中示例所示),可以先安装'uv',然后进入项目目录执行'uv install':

    # 如果未安装uv,请先安装:
    # pip install uv
    # 进入项目目录后
    uv install

服务器配置

要让您的MCP客户端能够连接并使用LimeSurvey MCP服务器,您需要将以下配置信息添加到MCP客户端的配置中(通常是一个JSON文件)。请根据您的实际环境替换占位符。

{
  "mcpServers": {
    "limesurvey-mcp": {
      "command": "/path/to/uv",
      "args": [
        "--directory",
        "/path/to/limesurvey-mcp",
        "run",
        "main.py"
      ],
      "env": {
        "LIMESURVEY_URL": "https://myinstance.limequery.com/admin/remotecontrol",
        "LIMESURVEY_USERNAME": "myusername",
        "LIMESURVEY_PASSWORD": "mypassword"
      }
    }
  }
}

配置说明:

  • '"mcpServers"': 这是一个包含所有MCP服务器配置的JSON对象。
  • '"limesurvey-mcp"': 这是此MCP服务器的唯一标识符(您可以自定义)。
  • '"command"': 指定用于启动MCP服务器的可执行文件的路径。在示例中,假定您使用'uv'来运行Python应用。请将'/path/to/uv'替换为您系统中'uv'可执行文件的实际路径。如果您直接使用'python',这里可以是'/usr/bin/python'或'python'。
  • '"args"': 传递给'command'的命令行参数列表。
    • '"--directory"' 和 '"/path/to/limesurvey-mcp"': 如果您使用'uv',这指示'uv'在哪个目录下查找并运行项目。请将'/path/to/limesurvey-mcp'替换为您克隆的'limesurvey-mcp'仓库的实际路径。
    • '"run"' 和 '"main.py"': 这指示'uv'执行'main.py'文件来启动MCP服务器。
  • '"env"': 这是一个JSON对象,用于设置MCP服务器运行时的环境变量。
    • '"LIMESURVEY_URL"': 您LimeSurvey实例的远程控制接口URL。例如 'https://yourdomain.com/admin/remotecontrol'。
    • '"LIMESURVEY_USERNAME"': 您的LimeSurvey管理员用户名或具有API访问权限的用户。
    • '"LIMESURVEY_PASSWORD"': 对应LimeSurvey用户的密码。 请务必替换为您自己的LimeSurvey实例凭据。

基本使用方法

一旦MCP客户端配置好并成功启动了LimeSurvey MCP服务器,LLM就可以通过MCP协议与LimeSurvey进行交互。

例如:

  • 获取所有问卷列表: LLM可以向MCP服务器发送请求,获取所有可用的问卷信息。
  • 获取特定问卷的详细信息: LLM可以指定问卷ID,请求获取该问卷的属性、问题列表或参与者列表。
  • 添加新的回复: LLM可以构造回复数据,调用MCP服务器提供的工具,向指定的问卷添加新的回复。
  • 导出数据: LLM可以请求导出特定问卷的回复数据(如CSV格式)或统计报告。
  • 管理问卷生命周期: LLM可以创建、激活、删除问卷,或修改问卷的设置。

LLM客户端会通过JSON-RPC协议发送请求,MCP服务器会根据请求调用相应的资源获取数据或工具执行操作,并将结果以JSON-RPC响应的形式返回给客户端。

信息

分类

AI与计算