Token导航 LogoToken导航TokenDH.com
Panther MCP Server logo
安全风控stdio官方级别未说明来源级核验

Panther MCP Server

MCP Server

MCP Server for Panther

工具数

0

提示词数

0

GitHub Stars

44

资源数

0
安全PythonClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

panther-labs

提供方

panther-labs

最后核验

2026/5/18 04:06

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python -m mcp_panther.server

详细介绍

Panther MCP服务器

![Ruff](https://github.com/astral-sh/ruff)

Panther的模型上下文协议(MCP)服务器提供以下功能:

  1. 从IDE编写和调整检测结果
  2. 使用自然语言交互式查询安全日志
  3. 对一个或多个警报进行分类、评论和解决

可用工具

Alerts

工具名称描述示例提示
add_alert_comment在Panther警报中添加评论“在警报abc123中添加评论‘看起来很糟糕’”
start_ai_alert_triage使用智能见解和建议对Panther警报启动人工智能分流分析“启动警报abc123的人工智能分流”/“生成警报def456的详细人工智能分析”
get_ai_alert_triage_summary检索之前为特定警报生成的最新AI分流摘要“获取警报abc123的AI分流摘要”/“显示警报def456的AI分析”
get_alert获取特定警报的详细信息“警报8def456的状态如何?”
get_alert_events获取给定警报的事件的小样本“显示与警报8def456关联的事件”
list_alerts列出具有全面过滤选项(日期范围、严重性、状态等)的警报“显示过去24小时内的所有高严重性警报”
bulk_update_alerts批量更新多个警报,包括状态、受让人和/或注释更改“将警报abc123、def456和ghi789更新为已解决状态,并添加注释‘已修复’”
update_alert_assignee更新一个或多个警报的受让人“将警报abc123和def456分配给John”
update_alert_status更新一个或多个警报的状态“将警报abc123和def456标记为已解决”
list_alert_comments列出特定警报的所有评论“显示警报abc123的所有评论”

Data Lake

工具名称描述示例提示
query_data_lake对Panther的数据湖执行SQL查询,并同步结果“查询AWS CloudTrail日志,查看最后一天的登录尝试是否失败”
get_table_schema获取特定表的架构信息“显示AWS_CLOUDTRAIL表的架构”
list_databases列出Panther中的所有可用数据湖数据库“列出所有可用数据库”
list_database_tables列出Panther数据湖中特定数据库的所有可用表“Panther_logs数据库中有哪些表”
get_alert_event_stats通过将事件数据聚合到基于时间的统计数据中,分析多个警报之间的模式和关系“显示警报abc123和def456中的事件模式”

Scheduled Queries

工具名称描述示例提示
list_scheduled_queries列出所有支持分页的计划查询“显示所有计划查询”/“列出前25个计划查询”
get_scheduled_query按ID获取特定计划查询的详细信息“获取计划查询的细节‘每周安全报告’”

Sources

工具名称描述示例提示
list_log_sources列出具有可选筛选器(运行状况、日志类型、集成类型)的日志源“显示所有运行良好的S3日志源”
get_http_log_source按ID获取特定HTTP日志源的详细信息“显示HTTP源'webhook-collector-123'的配置”

Detections

工具名称描述示例提示
list_detections列出Panther的检测结果,并提供全面的过滤支持。支持多种检测类型,并按名称、状态、严重性、标签、日志类型、资源类型、输出ID(目标)等进行过滤。返回每个检测的outputID,显示配置的警报目标“显示所有启用的高严重性规则,标记为‘AWS’”/“列出S3资源的禁用策略”/“查找所有具有outputID‘prod-lack’的规则”/“显示向生产目标发出警报的检测”
get_detection获取特定检测的详细信息,包括检测主体和测试。接受具有一种检测类型的列表:\[“rules”\]、\[“scheduled_rules”\]\[“simple_rules”\]或\[“policy”\]“获取规则ID abc123的详细信息”/“获取策略ID AWS的详细信息.S3.Bucket.PublicReadACP”
disable_detection通过将enabled设置为false来禁用检测。支持规则、scheduled_rules、simple_rules和策略“禁用规则abc123”/“禁用策略AWS.S3.Bucket.PublicReadACP”

Global Helpers

工具名称描述示例提示
list_global_helpers列出具有全面过滤选项(名称搜索、创建者、修饰符)的全局帮助函数“显示名称中包含'aws'的全局帮助”
get_global_helper获取特定全局助手的详细信息和完整Python代码“获取全局助手‘AWSUtilities’的完整代码”

Data Models

工具名称描述示例提示
list_data_models在规则中列出控制UDM映射的数据模型“显示所有用于日志解析的数据模型”
get_data_model获取特定数据模型的详细信息“获取‘AWS_CloudTrail’数据模型的完整详细信息”

Schemas

工具名称描述示例提示
list_log_type_schemas列出具有可选过滤器的可用日志类型模式“显示所有与AWS相关的模式”
get_log_type_schema_details获取特定日志类型模式的详细信息“获取AWS.CloudTrail模式的完整详细信息”

Metrics

工具名称描述示例提示
get_rule_alert_metrics获取按规则分组的警报指标“按警报计数显示前10条规则”
get_severity_alert_metrics获取按严重性分组的警报指标“按严重性显示上周的警报计数”
get_bytes_processed_metrics按日志类型和来源获取数据摄取指标“按日志类型显示数据摄取量”

Users & Access Management

工具名称描述示例提示
list_users列出所有支持分页的Panther用户帐户“显示所有活动Panther用户”/“列出前25个用户”
get_user获取特定用户的详细信息“获取用户ID的详细信息”'"
get_permissions获取当前用户的权限“我有哪些权限?”
list_roles列出所有具有筛选选项的角色(名称搜索、角色ID、排序方向)“显示名称中包含“管理员”的所有角色”
get_role获取特定角色的详细信息,包括权限“获取‘管理员’角色的完整详细信息”

豹配置

按照以下步骤配置API凭据和环境。

  1. 在Panther中创建API令牌:

- 导航到设置(齿轮图标)→ API令牌

- 创建具有以下权限的新令牌(建议采用只读方式启动):

- View Required Permissions

Screenshot of Panther Token permissions Screenshot of Panther Token permissions

  1. 安全地存储生成的令牌(例如1Password)
  1. 从浏览器中复制Panther实例URL(例如。, https://YOUR-PANTHER-INSTANCE.domain)

- 注:这必须包括 https://

MCP服务器安装

选择以下安装方法之一:

Docker(推荐)

最简单的入门方法是使用我们预先构建的Docker镜像:

{
  "mcpServers": {
    "mcp-panther": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "-e", "PANTHER_INSTANCE_URL",
        "-e", "PANTHER_API_TOKEN",
        "--rm",
        "ghcr.io/panther-labs/mcp-panther"
      ],
      "env": {
        "PANTHER_INSTANCE_URL": "https://YOUR-PANTHER-INSTANCE.domain",
        "PANTHER_API_TOKEN": "YOUR-API-KEY"
      }
    }
  }
}

版本固定: 为了生产稳定性,请固定到特定的版本标签上:

"ghcr.io/panther-labs/mcp-panther:v2.2.0"

可用标签可以在 .

紫外线

对于Python用户,您可以使用uvx直接从PyPI运行:

  1. 安装UV
  1. 配置您的MCP客户端:
{
  "mcpServers": {
    "mcp-panther": {
      "command": "uvx",
      "args": ["mcp-panther"],
      "env": {
        "PANTHER_INSTANCE_URL": "https://YOUR-PANTHER-INSTANCE.domain",
        "PANTHER_API_TOKEN": "YOUR-PANTHER-API-TOKEN"
      }
    }
  }
}

版本固定: 为了生产稳定性,请固定到特定版本:

"args": ["mcp-panther==2.2.0"]

可用版本可以在上找到 PyPI.

MCP客户端设置

光标

请按照此处的说明进行操作 配置您的项目或全局MCP配置。 非常重要的是,您不要将此文件签入版本控制。

配置后,导航到光标设置>MCP以查看正在运行的服务器:

提示:

  • 通过使用 @ 符号,然后键入特定目录。
  • 为了在工具使用过程中获得更高的可靠性,请尝试选择特定的型号,如Claude 3.7 Sonnet。
  • 如果您的MCP客户端未能从Panther MCP服务器中找到任何工具,请尝试重新启动客户端并确保MCP服务器正在运行。在Cursor中,刷新MCP服务器并开始新的聊天。

克劳德代码

克劳德代码 是Anthropic的官方CLI工具。使用Docker添加Panther MCP服务器:

claude mcp add-json panther '{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "-e", "PANTHER_INSTANCE_URL",
    "-e", "PANTHER_API_TOKEN",
    "--rm",
    "ghcr.io/panther-labs/mcp-panther"
  ],
  "env": {
    "PANTHER_INSTANCE_URL": "https://YOUR-PANTHER-INSTANCE.domain",
    "PANTHER_API_TOKEN": "YOUR-API-TOKEN"
  }
}'

或者,使用UVX:

claude mcp add-json panther '{
  "command": "uvx",
  "args": ["mcp-panther"],
  "env": {
    "PANTHER_INSTANCE_URL": "https://YOUR-PANTHER-INSTANCE.domain",
    "PANTHER_API_TOKEN": "YOUR-API-TOKEN"
  }
}'

添加后,验证服务器是否已配置:

claude mcp list

克劳德桌面版

要与Claude Desktop一起使用,请手动配置 claude_desktop_config.json:

  1. 打开Claude Desktop设置并导航到“开发人员”选项卡
  2. 点击“编辑配置”打开配置文件
  3. 添加以下配置:
{
  "mcpServers": {
    "mcp-panther": {
      "command": "uvx",
      "args": ["mcp-panther"],
      "env": {
        "PANTHER_INSTANCE_URL": "https://YOUR-PANTHER-INSTANCE.domain",
        "PANTHER_API_TOKEN": "YOUR-PANTHER-API-TOKEN"
      }
    }
  }
}
  1. 保存文件并重新启动Claude Desktop

如果你遇到任何问题, 请尝试此处的故障排除步骤.

Goose命令行界面

与一起使用 Goose命令行界面,Block的开源AI代理:

# Start Goose with the MCP server
goose session --with-extension "uvx mcp-panther"

鹅桌面

与一起使用 鹅桌面,Block的开源AI代理:

从“扩展”->“添加自定义扩展”提供您的配置信息。

运行服务器

MCP Panther服务器支持多种传输协议:

STDIO(默认)

对于本地开发和MCP客户端集成:

uv run python -m mcp_panther.server

流式HTTP

要作为持久web服务运行,请使用HTTP传输。这非常适合:

  • 长时间运行的服务器部署
  • 多个客户端连接到同一服务器
  • 通过连续日志监控进行测试和调试

使用Docker运行(分离)

docker run -d \
  --name panther-mcp-server \
  -p 8000:8000 \
  -e PANTHER_INSTANCE_URL=https://YOUR-PANTHER-INSTANCE.domain \
  -e PANTHER_API_TOKEN=YOUR-API-TOKEN \
  -e MCP_TRANSPORT=streamable-http \
  -e MCP_HOST=0.0.0.0 \
  -e MCP_PORT=8000 \
  -e LOG_LEVEL=INFO \
  --restart unless-stopped \
  ghcr.io/panther-labs/mcp-panther:latest

使用Docker Compose(推荐)

创建 docker-compose.yml 文件:

services:
  panther-mcp:
    image: ghcr.io/panther-labs/mcp-panther:latest
    container_name: panther-mcp-server
    ports:
      - "8000:8000"
    environment:
      - PANTHER_INSTANCE_URL=https://YOUR-PANTHER-INSTANCE.domain
      - PANTHER_API_TOKEN=YOUR-API-TOKEN
      - MCP_TRANSPORT=streamable-http
      - MCP_HOST=0.0.0.0
      - MCP_PORT=8000
      - LOG_LEVEL=INFO
    restart: unless-stopped

启动服务器:

# Start in detached mode
docker-compose up -d

# View logs
docker-compose logs -f

# Stop the server
docker-compose down

将Claude代码连接到HTTP服务器

重要提示: 服务器在HTTP(不是HTTPS)上运行。使用配置Claude代码 http:// 网址:

# Add the HTTP endpoint (note: http:// not https://)
claude mcp add-json panther-http '{
  "url": "http://localhost:8000/mcp"
}'

# Verify configuration
claude mcp list

测试连接

# Test the HTTP endpoint
curl http://localhost:8000/mcp

# View server logs
docker logs -f panther-mcp-server
# Or with docker-compose:
docker-compose logs -f

您还可以使用FastMCP客户端进行测试:

import asyncio
from fastmcp import Client

async def test_connection():
    async with Client("http://localhost:8000/mcp") as client:
        tools = await client.list_tools()
        print(f"Available tools: {len(tools)}")

asyncio.run(test_connection())

流式HTTP故障排除

端口已在使用中

如果你看到 Bind for 0.0.0.0:8000 failed: port is already allocated:

# Check what's using the port
lsof -i :8000

# Stop conflicting containers
docker ps | grep panther
docker stop 

# Or use a different port via MCP_PORT environment variable:
-e MCP_PORT=8080
# Then connect to: http://localhost:8080/mcp

无效的HTTP请求警告

如果你看到 WARNING: Invalid HTTP request received 在日志中,这通常意味着:

  • Claude Code正试图通过HTTPS而不是HTTP连接
  • 检查您的配置使用情况 http://https://
  • 通过以下方式进行验证: claude mcp list

环境变量

  • MCP_TRANSPORT:设置运输类型(stdiostreamable-http)
  • MCP_PORT:HTTP传输端口(默认值:3000)
  • MCP_HOST:HTTP传输主机(默认值:127.0.0.1)
  • MCP_LOG_FILE:日志文件路径(可选)

安全最佳实践

我们强烈推荐以下MCP安全最佳实践:

  • 对Panther API令牌应用严格的最小特权。 将令牌作用于所需的最小权限,并将其绑定到IP允许列表或CIDR范围,这样如果被泄露,它们就毫无用处。按首选间隔(例如,每30天)旋转凭据。
  • 将MCP服务器托管在具有只读挂载的锁定沙箱(例如Docker)中。 这将任何妥协限制在最小的爆炸半径内。
  • 监控Panther的凭证访问并监控异常情况。 写一条黑豹规则!
  • 仅运行受信任的、正式签名的MCP服务器。 运行前验证数字签名或校验和,审核工具代码,避免使用非官方发布商的社区工具。

故障排除

检查服务器日志以了解详细的错误消息: tail -n 20 -F ~/Library/Logs/Claude/mcp*.log。常见问题和解决方案如下。

运行工具

  • 如果你得到一个 {"success": false, "message": "Failed to [action]: Request failed (HTTP 403): {\"error\": \"forbidden\"}"} 错误,这可能意味着您的API令牌缺少该工具所需的特定权限。
  • 确保您的Panther实例URL设置正确。您可以在 config://panther 从您的MCP客户端获取资源。

贡献

我们欢迎为改进MCP Panther做出贡献!以下是您可以提供帮助的方式:

  1. 报告问题:对任何错误或功能请求打开问题
  2. 提交拉取请求:分叉存储库并提交PR以修复错误或新功能
  3. 改进文档:帮助我们使文档更清晰、更全面
  4. 共享用例:让我们知道您是如何使用MCP Panther的,以及有什么可以让它变得更好

请确保您的贡献符合我们的编码标准,并包括适当的测试和文档。

贡献者

查看我们的 贡献者.md 查看完整的贡献者列表。

许可证

此项目在Apache License 2.0下获得许可-有关详细信息,请参阅License文件。

目录标签

目录标签

安全PythonClaudesecuritycybersecuritysecurity-operationsmcp-server安全检测本地部署日志分析警报管理IDE集成自然语言处理

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP