MCP PiShock服务器
英语 | 法语
______________________________________________________________________
英语
HTTP可流化MCP(模型上下文协议)服务器,用于通过其REST API控制PiShock设备。
特性
- 震惊:激活持续时间(1-15s)和强度(1-100)的电击功能
- 振动:激活具有持续时间和强度的振动功能(1-100)
- 哔哔声:激活带持续时间的蜂鸣声功能
- 认证:承载令牌保护
- MCP协议:通过工具发现提供完整的MCP 2025-06-18协议支持
- 码头工人:使用环境变量配置进行容器化
配置
- 复制
.env.example到.env:
cp .env.example .env- 在中填写环境变量
.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证书
- 在上创建帐户 PiShock.com 网站
- 在“帐户”部分:
- 得到你的 用户名 - 生成一个 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.pyMCP客户端使用情况
服务器实现了完整的MCP协议。MCP客户端将自动:
- 初始化 服务器使用
initialize方法 - 发现工具 使用
tools/list查看可用的SHOCK、VIBRATE、BEEP功能 - 呼叫工具 使用
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协议
- 码头工人:包含所有环境变量
配置
- 复制
.env.example朝向.env:
cp .env.example .env- 在中填写环境变量
.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
- 在上创建帐户 PiShock.com 网站
- 在帐户部分:
- 找回你的 用户名 - 生成一个 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客户端将自动:
- S’initialist 通过方法与服务器
initialize - 发现工具 通过
tools/list要查看可用的冲击、振动和蜂鸣功能: - 调用工具 通过
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皮肖克极限)
- 每个共享代码一次只有一个命令
- 设备必须在线并连接
