模型上下文协议服务器

Prey MCP服务器是一个为Prey公共API提供读写访问的模型上下文协议服务器,具备安全防护机制。

  • by prey
  • Go
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 prey/mcp-prey

使用说明

Prey MCP服务器

Prey Public API的模型上下文协议(MCP)服务器。

此服务器提供对您的Prey帐户的读写访问权限,并带有防护栏。

需求

  • 转到1.22+
  • 具有适当权限的Prey API密钥

特性

只读工具(默认):

  • 账户摘要
  • 用户列表和详细信息
  • 设备列表和详细信息
  • 设备报告列表和详细信息
  • 设备位置历史记录(JSON或CSV)
  • 标签列表和详细信息
  • 区域列表和详细信息
  • 自动化列表和详细信息
  • 大规模行动列表和详细信息

写入工具(选择加入):

  • 触发装置动作(报警/警报/锁定)
  • 设置设备丢失/已恢复
  • 创建标签
  • 创建/更新区域
  • 删除设备

配置

环境变量:

  • PREY_API_KEY (必填)
  • PREY_API_BASE (默认值: https://api.preyproject.com/v1)
  • PREY_TIMEOUT_MS (默认值: 30000)
  • PREY_ALLOW_WRITE (默认值: false)
  • PREY_ALLOWED_TOOLS (逗号分隔的列表)
  • PREY_DEBUG (默认值: false)
  • PREY_RATE_LIMIT_DISABLE (默认值: false)

可选的每个请求标头(多租户场景):

  • X-Prey-URL
  • X-Prey-API-Key

速率限制

默认情况下,客户端强制执行Prey限制(每个API密钥):

  • 2个请求/秒
  • 60个请求/分钟
  • 10000次请求/小时

禁用 PREY_RATE_LIMIT_DISABLE=true.

工具

  • prey.account.get
  • prey.users.list
  • prey.users.get
  • prey.devices.list
  • prey.devices.get
  • prey.devices.delete
  • prey.devices.reports.list
  • prey.devices.reports.get
  • prey.devices.location_history.get
  • prey.labels.list
  • prey.labels.get
  • prey.labels.create
  • prey.zones.list
  • prey.zones.get
  • prey.zones.create
  • prey.zones.update
  • prey.automations.list
  • prey.automations.get
  • prey.mass_actions.list
  • prey.mass_actions.get
  • prey.devices.action.trigger
  • prey.devices.status.set

运输

支持的传输:

  • stdio
  • sse
  • streamable-http

例子

Docker(可流式传输http):

docker run --rm -p 8000:8000 \
  -e PREY_API_KEY=YOUR_KEY \
  preyproject/mcp-prey:latest \
  --transport streamable-http --address 0.0.0.0:8000 --endpoint-path /mcp

Docker(SSE):

docker run --rm -p 8000:8000 \
  -e PREY_API_KEY=YOUR_KEY \
  preyproject/mcp-prey:latest \
  --transport sse --address 0.0.0.0:8000 --base-path /

Docker(支持写入):

docker run --rm -p 8000:8000 \
  -e PREY_API_KEY=YOUR_KEY \
  -e PREY_ALLOW_WRITE=true \
  preyproject/mcp-prey:latest \
  --transport streamable-http --address 0.0.0.0:8000 --endpoint-path /mcp

音乐节目 :

PREY_API_KEY=... \
PREY_ALLOW_WRITE=false \
./mcp-prey --transport stdio

上海证券交易所

PREY_API_KEY=... \
./mcp-prey --transport sse --address localhost:8000 --base-path /

流式HTTP:

PREY_API_KEY=... \
./mcp-prey --transport streamable-http --address localhost:8000 --endpoint-path /mcp

Claude桌面(示例配置):

{
  "mcpServers": {
    "prey": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-p",
        "8000:8000",
        "-e",
        "PREY_API_KEY=YOUR_KEY",
        "preyproject/mcp-prey:latest",
        "--transport",
        "streamable-http",
        "--address",
        "0.0.0.0:8000",
        "--endpoint-path",
        "/mcp"
      ]
    }
  }
}

ChatGPT开发人员模式(SSE或流式HTTP):

  1. 在ChatGPT设置中启用开发人员模式(连接器→ 高级→ 开发者模式)。
  2. 添加带有MCP服务器URL的连接器。
  3. 通过开发者模式工具选择器在聊天中使用它。

Codex CLI(示例):

codex mcp add prey --url http://localhost:8000/mcp
codex mcp list

Codex配置(示例 ~/.codex/config.toml):

[mcp_servers.prey]
url = "http://localhost:8000/mcp"

发展

启动开发容器:

task mcp-prey:dev:up

运行测试(容器内):

task mcp-prey:dev:exec SV=mcp-prey-dev CMD='go test ./...'

备注

  • 除非满足以下条件,否则写入工具将被禁用 PREY_ALLOW_WRITE=true.
  • 对于大型车队,使用分页; page_size 上限为100。
  • CSV位置历史记录以base64格式返回 content_type.

许可证

麻省理工学院