项目简介

Prisma Cloud 文档 MCP 服务器是一个专门为大型语言模型(如Claude)设计的后端服务,它能将Prisma Cloud的官方文档和API参考资料转化为可供LLM搜索和利用的上下文信息。通过该服务器,LLM可以直接查询文档、获取相关信息,从而更准确地回答用户关于Prisma Cloud产品和API的问题。它支持通过标准输入/输出 (STDIO) 和 HTTP 两种方式进行通信,方便本地开发和云端部署。

主要功能点

  • 搜索Prisma Cloud文档: 能够全文搜索Prisma Cloud的官方产品文档,帮助LLM找到产品特性、使用指南等信息。
  • 搜索Prisma Cloud API文档: 能够全文搜索Prisma Cloud的API参考资料,方便LLM理解API功能、参数和响应。
  • 全局文档搜索: 支持同时搜索所有已索引的Prisma Cloud产品和API文档,提供更全面的结果。
  • 文档索引管理: 提供工具让LLM发起文档抓取和索引操作,确保服务器内的数据是最新且可搜索的。
  • 缓存机制: 内置文档缓存和搜索结果缓存系统,显著提高多次查询时的响应速度。
  • 索引状态查询: 提供工具让LLM查询当前服务器已索引的文档数量和缓存统计信息。

安装步骤

推荐通过以下两种方式安装和使用此服务器:

  • 方法一:直接通过'uvx'在Claude Desktop中使用(推荐) 这种方式无需手动安装服务器代码。你的Claude Desktop客户端将自动处理服务器的下载和运行。你只需在客户端的配置中添加服务器信息即可。

  • 方法二:开发环境安装 如果你想在本地进行开发、自定义功能或手动运行服务器,请按照以下步骤操作:

    1. 前提条件: 确保你的系统已安装 Python 3.12 或更高版本,以及 'uv' 包管理器
    2. 安装 'uv': 如果尚未安装 'uv',可以通过在终端运行以下命令进行安装:
      curl -LsSf https://astral.sh/uv/install.sh | sh
    3. 克隆仓库并设置: 打开终端,执行以下命令来下载项目代码并安装所有必要的依赖:
      git clone https://github.com/clarkemn/prisma-cloud-docs-mcp-server.git
      cd prisma-cloud-docs-mcp-server
      uv sync # 安装所有依赖

服务器配置(针对MCP客户端,如Claude Desktop)

在你的MCP客户端(例如Claude Desktop的配置文件,通常位于 '~/Library/Application Support/Claude/claude_desktop_config.json')中添加以下服务器配置。请根据你的实际需求选择配置方式:

{
  "mcpServers": {
    "Prisma Cloud Docs": {
      "command": "uvx",
      "args": ["prisma-cloud-docs-mcp-server@latest"],
      "env": {},
      "transport": "stdio",
      "description": "提供对Prisma Cloud产品和API文档的搜索访问,支持大型语言模型查询。",
      "capabilities": {
        "tools": [
          {
            "name": "index_prisma_docs",
            "description": "索引Prisma Cloud官方产品文档。在搜索前需先调用此工具以准备数据。",
            "parameters": {
              "type": "object",
              "properties": {
                "max_pages": {
                  "type": "integer",
                  "description": "要索引的最大页面数量,默认为50。可以根据需要调整此值。",
                  "default": 50
                }
              }
            }
          },
          {
            "name": "index_prisma_api_docs",
            "description": "索引Prisma Cloud API文档。在搜索前需先调用此工具以准备数据。",
            "parameters": {
              "type": "object",
              "properties": {
                "max_pages": {
                  "type": "integer",
                  "description": "要索引的最大页面数量,默认为50。可以根据需要调整此值。",
                  "default": 50
                }
              }
            }
          },
          {
            "name": "search_prisma_docs",
            "description": "搜索Prisma Cloud官方产品文档。提供准确的搜索关键词以获得最佳结果。",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "你希望搜索的关键词或短语。"
                }
              },
              "required": ["query"]
            }
          },
          {
            "name": "search_prisma_api_docs",
            "description": "搜索Prisma Cloud API文档。提供准确的搜索关键词以获得最佳结果。",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "你希望搜索的API相关关键词或短语。"
                }
              },
              "required": ["query"]
            }
          },
          {
            "name": "search_all_docs",
            "description": "在所有已索引的Prisma Cloud产品和API文档中进行搜索。适用于不确定信息具体来源的情况。",
            "parameters": {
              "type": "object",
              "properties": {
                "query": {
                  "type": "string",
                  "description": "你希望在所有文档中搜索的关键词或短语。"
                }
              },
              "required": ["query"]
            }
          },
          {
            "name": "get_index_status",
            "description": "检查当前服务器已缓存的文档数量和索引状态,了解数据准备情况。"
          }
        ]
      }
    }
  }
}

配置参数说明:

  • '"Prisma Cloud Docs"': 这是MCP服务器在你的MCP客户端中显示的名称。
  • '"command"': 启动MCP服务器所使用的命令。对于从PyPI安装的情况,'"uvx"' 是一个推荐的工具,能自动运行Python包。
  • '"args"': 传递给 'command' 命令的参数。'"prisma-cloud-docs-mcp-server@latest"' 表示运行最新版本的已发布包。
  • '"env"': 启动服务器时可以设置的环境变量,在此处留空即可。
  • '"transport"': 服务器与客户端通信的协议类型,'"stdio"' 表示通过标准输入/输出来进行通信。
  • '"description"': 对此MCP服务器功能的简要描述,帮助LLM理解其用途。
  • '"capabilities"': 声明该服务器提供的能力,通常包含一个 'tools' 列表。
  • '"tools"': 一个列表,详细描述了服务器提供的每个工具的名称、功能描述和所需的参数。这些信息对于LLM正确调用工具至关重要。

本地开发环境的额外配置: 如果你是在本地开发环境中运行服务器,需要将上述配置中的 'command' 和 'args' 修改为:

{
  // ... 其他配置
  "command": "uv",
  "args": ["run", "python", "server.py"],
  "cwd": "/path/to/prisma-cloud-docs-mcp-server",
  // ... 其他配置
}
  • '"cwd"': 指定服务器运行的工作目录。你必须将 '"/path/to/prisma-cloud-docs-mcp-server"' 替换为你在本地克隆此仓库的实际路径

基本使用方法(通过MCP客户端调用)

配置完成后,你的大型语言模型客户端(如Claude Desktop)将能够识别并调用此MCP服务器提供的工具。

  1. 索引文档: 在进行搜索之前,LLM通常需要首先调用 'index_prisma_docs' 和/或 'index_prisma_api_docs' 工具来抓取并索引相关文档。你可以通过与LLM对话,引导它执行类似以下的操作:
    • “请帮我索引Prisma Cloud的所有产品文档,最多100页。”(对应调用 'index_prisma_docs(max_pages=100)')
    • “请索引Prisma Cloud的API文档。”(对应调用 'index_prisma_api_docs()')
  2. 搜索文档: 文档索引完成后,LLM就可以使用搜索工具了。例如,当LLM需要查找关于“Prisma Cloud 安全策略”的信息时,它可能会自动调用:
    • 'search_prisma_docs(query="Prisma Cloud 安全策略")' 或者需要查找特定API信息时:
    • 'search_prisma_api_docs(query="Host Security API")' 如果需要全面搜索,LLM可能会调用:
    • 'search_all_docs(query="数据分类")'
  3. 获取索引状态: 你也可以让LLM调用 'get_index_status()' 工具来检查当前的索引情况和缓存状态。

信息

分类

网页与API