PiShock控制服务器

一个通过REST API控制PiShock设备的HTTP流式MCP服务器,支持电击、振动和蜂鸣功能。

  • by Kyrnepi
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Kyrnepi/mcp-pishock-server

使用说明

MCP PiShock服务器

英语 | 法语


英语

HTTP可流化MCP(模型上下文协议)服务器,用于通过其REST API控制PiShock设备。

特性

  • 震惊:激活持续时间(1-15s)和强度(1-100)的电击功能
  • 振动:激活具有持续时间和强度的振动功能(1-100)
  • 哔哔声:激活带持续时间的蜂鸣声功能
  • 认证:承载令牌保护
  • MCP协议:通过工具发现提供完整的MCP 2025-06-18协议支持
  • 码头工人:使用环境变量配置进行容器化

配置

  1. 复制 .env.example 到 .env:
cp .env.example .env
  1. 在中填写环境变量 .env:
PISHOCK_USERNAME=your_username
PISHOCK_APIKEY=your_api_key
PISHOCK_CODE=your_share_code
MCP_AUTH_TOKEN=secure_random_token
SCRIPT_NAME=MCP_Server

获取PiShock证书

  1. 在上创建帐户 PiShock.com 网站
  2. 在“帐户”部分:
    • 得到你的 用户名
    • 生成一个 API密钥
    • 创建一个 共享代码 具有所需的限制

部署

使用Docker Compose(推荐)

docker-compose up -d

使用Docker

docker build -t pishock-mcp-server .
docker run -d \
  -p 8000:8000 \
  --env-file .env \
  --name pishock-mcp-server \
  pishock-mcp-server

地方发展

pip install -r requirements.txt
python app.py

MCP客户端使用情况

服务器实现了完整的MCP协议。MCP客户端将自动:

  1. 初始化 服务器使用 initialize 方法
  2. 发现工具 使用 tools/list 查看可用的SHOCK、VIBRATE、BEEP功能
  3. 呼叫工具 使用 tools/call 具有适当的参数

认证

所有请求都需要在Authorization标头中包含Bearer令牌:

Authorization: Bearer YOUR_MCP_AUTH_TOKEN

可用工具

  • 震惊: {"name": "SHOCK", "arguments": {"duration": 2, "intensity": 10}}
  • 振动: {"name": "VIBRATE", "arguments": {"duration": 3, "intensity": 50}}
  • 哔哔声: {"name": "BEEP", "arguments": {"duration": 1}}

API直接使用(兼容性)

对于非MCP客户端,可以使用直接端点:

# Shock
curl -X POST "http://localhost:8000/mcp/SHOCK" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 1, "intensity": 5}'

# Vibrate
curl -X POST "http://localhost:8000/mcp/VIBRATE" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 2, "intensity": 30}'

# Beep
curl -X POST "http://localhost:8000/mcp/BEEP" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 1}'

监控

  • 健康检查: GET /health
  • API文档: http://localhost:8000/docs
  • MCP信息: GET /mcp
  • 日志: docker-compose logs -f

安全

⚠️ 警告:电击装置不是为人类使用而设计的,可能会造成严重伤害,包括心脏事件。切勿在心脏附近或有心脏病的情况下使用。

  • 使用强身份验证令牌
  • 限制对服务器的网络访问
  • 在PiShock中配置适当的限制
  • 监控使用日志

局限性

  • 冲击持续时间:1-15秒(PiShock API限值)
  • 强度:1-100(PiShock API限值)
  • 每个共享代码一次一个命令
  • 设备必须联机并连接

MCP Pishock服务器(英语)

可流式HTTP模型上下文协议(MCP)服务器,用于通过其REST API控制Pishock设备。

功能

  • 震惊:激活持续时间(1-15s)和强度(1-100)的电击功能
  • 振动:激活具有持续时间和强度的振动功能(1-100)
  • 哔哔声:激活具有持续时间的蜂鸣声功能
  • 认证:保护代币持有者
  • MCP方案:通过工具发现全面支持MCP 2025-06-18协议
  • 码头工人:包含所有环境变量

配置

  1. 复制 .env.example 朝向 .env:
cp .env.example .env
  1. 在中填写环境变量 .env:
PISHOCK_USERNAME=votre_nom_utilisateur
PISHOCK_APIKEY=votre_cle_api
PISHOCK_CODE=votre_code_partage
MCP_AUTH_TOKEN=un_token_securise_aleatoire
SCRIPT_NAME=MCP_Server

获取Pishock ID

  1. 在上创建帐户 PiShock.com 网站
  2. 在帐户部分:
    • 找回你的 用户名
    • 生成一个 API密钥
    • 创建一个 共享代码 具有期望的限制

部署

使用Docker Compose(推荐)

docker-compose up -d

使用Docker

docker build -t pishock-mcp-server .
docker run -d \
  -p 8000:8000 \
  --env-file .env \
  --name pishock-mcp-server \
  pishock-mcp-server

地方发展

pip install -r requirements.txt
python app.py

与MCP客户端一起使用

服务器实现完整的MCP协议。MCP客户端将自动:

  1. S’initialist 通过方法与服务器 initialize
  2. 发现工具 通过 tools/list 要查看可用的冲击、振动和蜂鸣功能:
  3. 调用工具 通过 tools/call 具有适当的设置

认证

所有请求都需要授权头中的承载令牌:

Authorization: Bearer YOUR_MCP_AUTH_TOKEN

可用工具

  • 震惊: {"name": "SHOCK", "arguments": {"duration": 2, "intensity": 10}}
  • 振动: {"name": "VIBRATE", "arguments": {"duration": 3, "intensity": 50}}
  • 哔哔声: {"name": "BEEP", "arguments": {"duration": 1}}

直接API使用(兼容性)

对于非MCP客户端,直接端点可用:

# Shock
curl -X POST "http://localhost:8000/mcp/SHOCK" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 1, "intensity": 5}'

# Vibrate
curl -X POST "http://localhost:8000/mcp/VIBRATE" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 2, "intensity": 30}'

# Beep
curl -X POST "http://localhost:8000/mcp/BEEP" \
  -H "Authorization: Bearer your_token" \
  -H "Content-Type: application/json" \
  -d '{"duration": 1}'

监视

  • 健康检查: GET /health
  • API文件: http://localhost:8000/docs
  • MCP信息: GET /mcp
  • 日志: docker-compose logs -f

安全

⚠️ 警告:冲击装置不是为人类使用而设计的,可能导致严重伤害,包括心脏事件。切勿在心脏附近使用或有心脏问题。

  • 使用强身份验证令牌
  • 限制对服务器的网络访问
  • 在Pishock中设置适当的限制
  • 监控使用日志

局限性

  • 冲击持续时间:1-15秒(API Pishock限制)
  • 强度:1-100(API皮肖克极限)
  • 每个共享代码一次只有一个命令
  • 设备必须在线并连接