项目简介
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客户端将自动处理服务器的下载和运行。你只需在客户端的配置中添加服务器信息即可。
-
方法二:开发环境安装 如果你想在本地进行开发、自定义功能或手动运行服务器,请按照以下步骤操作:
- 前提条件: 确保你的系统已安装 Python 3.12 或更高版本,以及 'uv' 包管理器。
- 安装 'uv': 如果尚未安装 'uv',可以通过在终端运行以下命令进行安装:
curl -LsSf https://astral.sh/uv/install.sh | sh - 克隆仓库并设置:
打开终端,执行以下命令来下载项目代码并安装所有必要的依赖:
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服务器提供的工具。
- 索引文档: 在进行搜索之前,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()')
- 搜索文档: 文档索引完成后,LLM就可以使用搜索工具了。例如,当LLM需要查找关于“Prisma Cloud 安全策略”的信息时,它可能会自动调用:
- 'search_prisma_docs(query="Prisma Cloud 安全策略")' 或者需要查找特定API信息时:
- 'search_prisma_api_docs(query="Host Security API")' 如果需要全面搜索,LLM可能会调用:
- 'search_all_docs(query="数据分类")'
- 获取索引状态: 你也可以让LLM调用 'get_index_status()' 工具来检查当前的索引情况和缓存状态。
信息
分类
网页与API