Token导航 LogoToken导航TokenDH.com
MCP Openshock Server logo
运维云端stdio官方来源来源级核验

MCP Openshock Server

MCP Server

基于官方Python MCP SDK构建的OpenShock设备控制服务器,支持自动电击强度限制和安全HTTP通信。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
设备控制Python远程控制Docker支持

安装说明

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

作者 / 组织

Kyrnepi

提供方

Kyrnepi

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

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

命令预览

docker run -p 8000:8000 \

详细介绍

OpenShock MCP Server | OpenShock MCP 服务器

英语 | 法语

______________________________________________________________________

英语

用于控制OpenShock设备的模型上下文协议(MCP)服务器,使用官方Python MCP SDK构建。具有自动冲击强度限制和基于HTTP的安全通信功能。

特性

  • 官方MCP SDK:使用官方 mcp Anthropic的Python包
  • 完整的MCP协议:通过适当的工具定义全面实施MCP标准
  • 可用工具:

- SHOCK:发送具有自动强度限制的电击命令 - VIBRATE:发送振动命令 - BEEP:发送声音/蜂鸣声命令 - STOP:停止所有命令

  • 安全功能:通过以下方式自动限制冲击强度 SHOCK_LIMIT 环境变量
  • HTTP传输:使用JSON-RPC 2.0的现代基于HTTP的MCP服务器
  • 连接池:高效的HTTP客户端连接管理
  • Docker支持:使用Docker和Docker compose轻松部署

建筑

此服务器使用:

  • 快速API 用于HTTP传输层和MCP JSON-RPC 2.0端点
  • HTTPX 用于具有连接池的异步HTTP客户端
  • OpenShock API v2 用于设备控制

安装

先决条件

  • Docker和Docker组合(推荐)
  • 或者使用pip的Python 3.11+
  • 有效的OpenShock API令牌

配置

  1. 克隆存储库:
   git clone 
   cd openshock-mcp-server
  1. 复制 .env.example.env:
   cp .env.example .env
  1. 编辑 .env 使用您的配置文件:
   OPENSHOCK_API_TOKEN=your_openshock_token_here
   MCP_AUTH_TOKEN=your_secure_mcp_token_here
   SHOCK_LIMIT=50  # Optional: limit shock intensity (0 = no limit)

从Docker Compose开始(推荐)

docker-compose up -d

服务器将可在以下位置访问 http://localhost:8000

从Docker开始

docker build -t openshock-mcp-server .
docker run -p 8000:8000 \
  -e OPENSHOCK_API_TOKEN=your_token \
  -e MCP_AUTH_TOKEN=your_mcp_token \
  -e SHOCK_LIMIT=50 \
  openshock-mcp-server

本地开发

# Install dependencies
pip install -r requirements.txt

# Set environment variables
export OPENSHOCK_API_TOKEN=your_token
export MCP_AUTH_TOKEN=your_mcp_token
export SHOCK_LIMIT=50

# Run the server
python app.py

用法

MCP客户端连接

将您的MCP客户端连接到 http://localhost:8000/mcp 使用JSON-RPC 2.0格式的HTTP POST请求。

需要身份验证: 所有请求都必须在 Authorization 头球这 Bearer 前缀对于MCP客户端兼容性是可选的:

Authorization: Bearer your_mcp_auth_token

Authorization: your_mcp_auth_token

/health 端点无需身份验证即可公开访问。

可用的MCP工具

1.休克

发送具有自动强度限制的电击命令。

参数:

  • shockers (列表):震撼配置列表

- id (字符串):电击器ID - intensity (整数):冲击强度1-100(由Shock_LIMIT自动限制) - duration (整数):持续时间(毫秒)(300-30000)

例子:

{
  "name": "SHOCK",
  "arguments": {
    "shockers": [
      {
        "id": "your_shocker_id",
        "intensity": 80,
        "duration": 1000
      }
    ]
  }
}

如果 SHOCK_LIMIT=50,强度将自动降低到50。

2.振动

发送振动命令(不受SHOCK_LIMIT的影响)。

参数:

  • shockers (列表):震撼配置列表

- id (字符串):电击器ID - intensity (整数):振动强度1-100 - duration (整数):持续时间(毫秒)(300-30000)

例子:

{
  "name": "VIBRATE",
  "arguments": {
    "shockers": [
      {
        "id": "your_shocker_id",
        "intensity": 30,
        "duration": 2000
      }
    ]
  }
}

3.嘟嘟声

发送蜂鸣/声音命令。

参数:

  • shockers (列表):震撼配置列表

- id (字符串):电击器ID - intensity (整数):蜂鸣音量强度1-100(默认为50) - duration (整数):持续时间(毫秒)(300-30000)

例子:

{
  "name": "BEEP",
  "arguments": {
    "shockers": [
      {
        "id": "your_shocker_id",
        "intensity": 50,
        "duration": 500
      }
    ]
  }
}

4.停止

停止指定电击器上的所有命令。

参数:

  • shockers (列表):要阻止的震惊事件列表

- id (字符串):电击器ID

例子:

{
  "name": "STOP",
  "arguments": {
    "shockers": [
      {
        "id": "your_shocker_id"
      }
    ]
  }
}

安全功能

冲击极限

SHOCK_LIMIT 环境变量为冲击指令提供自动安全限制:

  • SHOCK_LIMIT=0:无限制(默认行为)
  • SHOCK_LIMIT=50:自动将冲击强度限制在最大50
  • SHOCK_LIMIT=25:自动将冲击强度限制在最大25

行为:

  • 命令强度高于 SHOCK_LIMIT未被拒绝
  • 强度为 自动减少 达到配置的限制
  • 回复包括有关调整的详细信息
  • 记录所有调整以进行安全审计

备注:只有 SHOCK 命令受以下因素影响 SHOCK_LIMIT. VIBRATEBEEP 命令不受限制。

环境变量

变量描述必填默认
OPENSHOCK_API_TOKENOpenShock API令牌✅ 是-
MCP_AUTH_TOKENMCP身份验证令牌(在授权标头中发送,承载前缀可选)✅ 是-
SHOCK_LIMIT最大冲击强度(0=无限制)❌ 否0
OPENSHOCK_API_URLOpenShock API网址❌ 否https://api.openshock.app
MCP_SERVER_NAMEMCP服务器名称❌ 否openshock mcp服务器
MCP_VERSION服务器版本❌ 否2.1.0
PORT监听端口❌ 否8000

健康检查

服务器在以下位置提供健康检查端点 /health:

curl http://localhost:8000/health

答复:

{
  "status": "healthy"
}

安全最佳实践

  • ⚠️ 令牌安全:两者都保留 OPENSHOCK_API_TOKENMCP_AUTH_TOKEN 安全,从不将其提交给版本控制
  • 🔑 强代币:使用强随机生成的令牌 MCP_AUTH_TOKEN (例如UUID或32+个字符的随机字符串)
  • 🔒 HTTPS在生产中:在生产环境中始终使用HTTPS/TLS
  • 🎯 配置SHOCK_LIMIT:设置适当的 SHOCK_LIMIT 根据您的安全要求
  • 🔐 网络安全:使用防火墙限制对服务器的网络访问
  • 📊 审计日志:记录所有强度调整和身份验证失败,以进行安全审计

故障排除

服务器无法启动

  • 验证 OPENSHOCK_API_TOKEN 设置正确
  • 检查日志 docker-compose logs -f (Docker)或控制台输出(本地)

命令不起作用

  • 验证震惊者ID是否正确
  • 检查OpenShock API令牌是否具有适当的权限
  • 查看日志中的错误消息

连接问题

  • 确保服务器在配置的端口上可访问
  • 检查防火墙规则
  • 验证MCP客户端是否已配置为使用JSON-RPC 2.0进行HTTP传输

发展

此服务器是使用以下方式构建的:

要贡献或报告问题,请使用GitHub存储库。

版本历史

v2.1.0 (当前)

  • 架构更改:从SSE(服务器发送事件)切换到纯HTTP JSON-RPC 2.0
  • 通过直接JSON响应简化响应处理
  • 改进了与标准JSON-RPC客户端的兼容性
  • 更新文档以反映仅HTTP传输

v2.0.1

  • 安全修复:重新实现身份验证(v2.0.0存在严重漏洞)
  • 使用中间件进行承载令牌身份验证
  • 除以下端点外,所有端点都需要身份验证 /health

v2.0.0版本 (请勿使用-安全问题)

  • 使用官方MCP Python SDK完成重写
  • 严重错误:身份验证被意外删除
  • 添加了HTTP客户端连接池
  • 更好的错误处理
  • 完整的英文代码库,包含双语文档

v1.0.0

  • 带有自定义MCP实现的初始版本

______________________________________________________________________

法语

用于控制OpenShock设备的模型上下文协议(MCP)服务器,使用官方MCP Python SDK构建。包括自动冲击强度限制和基于HTTP的安全通信。

功能

  • 官方MCP SDK:使用Python包构建 mcp 官方Anthropic
  • 完整MCP协议:全面实施MCP标准,并定义适当的工具
  • 可用工具:

- SHOCK:发送具有自动强度限制的冲击命令 - VIBRATE:发送振动命令 - BEEP:发送声音命令 - STOP:停止所有命令

  • 安全功能:通过变量自动限制冲击强度 SHOCK_LIMIT
  • 传输HTTP:使用JSON-RPC 2.0的现代基于HTTP的MCP服务器
  • 连接池:高效管理HTTP客户端连接
  • 支持Docker:使用Docker和Docker Compose轻松部署

建筑

此服务器使用:

  • 快速API 对于HTTP传输层和MCP端点JSON-RPC 2.0
  • HTTPX 对于具有连接池的异步HTTP客户端
  • API OpenShock v2 用于控制设备

安装

先决条件

  • Docker和Docker组合(推荐)
  • 或使用Pip的Python 3.11+。
  • 代币API OpenShock缬ide

配置

  1. 克隆存储库:
   git clone 
   cd openshock-mcp-server
  1. 复制 .env.example 朝向 .env :
   cp .env.example .env
  1. 编辑文件 .env 使用您的配置:
   OPENSHOCK_API_TOKEN=votre_token_openshock
   MCP_AUTH_TOKEN=votre_token_mcp_securise
   SHOCK_LIMIT=50  # Optionnel: limite l'intensité des chocs (0 = pas de limite)

Docker Compose入门(推荐)

docker-compose up -d

服务器将可访问 http://localhost:8000

Docker入门

docker build -t openshock-mcp-server .
docker run -p 8000:8000 \
  -e OPENSHOCK_API_TOKEN=votre_token \
  -e MCP_AUTH_TOKEN=votre_token_mcp \
  -e SHOCK_LIMIT=50 \
  openshock-mcp-server

地方发展

# Installer les dépendances
pip install -r requirements.txt

# Définir les variables d'environnement
export OPENSHOCK_API_TOKEN=votre_token
export MCP_AUTH_TOKEN=votre_token_mcp
export SHOCK_LIMIT=50

# Lancer le serveur
python app.py

使用

Connexion客户端MCP

将MCP客户端连接到 http://localhost:8000/mcp 使用JSON-RPC 2.0格式的HTTP POST请求。

认证要求: 所有请求必须在头中包含身份验证令牌 Authorization.前缀 Bearer 可选,以便与MCP客户端兼容:

Authorization: Bearer votre_token_mcp

Authorization: votre_token_mcp

Le端点 /health 无需身份验证即可公开访问。

MCP工具可用

1.休克

发送具有自动强度限制的冲击命令。

设置 :

  • shockers (列表):冲击器配置列表

- id (string):ID du shock - intensity (整数):冲击强度1-100(由shock-limit自动限制) - duration (整数):以毫秒为单位的持续时间(300-30000)

示例:

{
  "name": "SHOCK",
  "arguments": {
    "shockers": [
      {
        "id": "votre_id_shocker",
        "intensity": 80,
        "duration": 1000
      }
    ]
  }
}

SHOCK_LIMIT=50强度将自动降低到50。

2.振动

发送振动命令(不受shock-limit影响)。

设置 :

  • shockers (列表):冲击器配置列表

- id (string):ID du shock - intensity (整数):振动强度1-100 - duration (整数):以毫秒为单位的持续时间(300-30000)

示例:

{
  "name": "VIBRATE",
  "arguments": {
    "shockers": [
      {
        "id": "votre_id_shocker",
        "intensity": 30,
        "duration": 2000
      }
    ]
  }
}

3.嘟嘟声

发送声音命令。

设置 :

  • shockers (列表):冲击器配置列表

- id (string):ID du shock - intensity (整数):音量强度1-100(默认为50) - duration (整数):以毫秒为单位的持续时间(300-30000)

示例:

{
  "name": "BEEP",
  "arguments": {
    "shockers": [
      {
        "id": "votre_id_shocker",
        "intensity": 50,
        "duration": 500
      }
    ]
  }
}

4.停止

停止指定冲击器上的所有命令。

设置 :

  • shockers (列表):要停止的冲击者列表

- id (string):ID du shock

示例:

{
  "name": "STOP",
  "arguments": {
    "shockers": [
      {
        "id": "votre_id_shocker"
      }
    ]
  }
}

安全功能

冲击极限

环境变量 SHOCK_LIMIT 为冲击控制提供自动安全限制:

  • SHOCK_LIMIT=0:无限制(默认行为)
  • SHOCK_LIMIT=50:自动将冲击强度限制为最大50
  • SHOCK_LIMIT=25:自动将冲击强度限制为最大25

行为:

  • 强度大于的命令 SHOCK_LIMIT 他们不是 未被拒绝
  • 强度是 自动减少 在配置的限制
  • 答案包括调整的细节
  • 记录所有调整以进行安全审计

备注:只有命令 SHOCK 受影响 SHOCK_LIMIT.命令 VIBRATEBEEP 不受限制。

环境变量

变量描述必需默认
OPENSHOCK_API_TOKEN OpenShock API令牌✅ 是的-
MCP_AUTH_TOKENMCP身份验证令牌(在报头授权中发送,可选承载前缀)✅ 是的-
SHOCK_LIMIT最大冲击强度(0=无限制)❌ 否0
OPENSHOCK_API_URLapi openshock的URL❌ 没有https://api.openshock.app
MCP_SERVER_NAME MCP服务器名称❌ 否openshock mcp服务器
MCP_VERSION服务器版本❌ 否2.1.0
PORT监听端口❌ 否8000

健康检查

服务器向提供运行状况检查端点 /health :

curl http://localhost:8000/health

答复:

{
  "status": "healthy"
}

良好安全做法

  • ⚠️ 代币安全:同时保持 OPENSHOCK_API_TOKENMCP_AUTH_TOKEN 安全,永远不要在版本控制中提交它们
  • 🔑 代币Forts:使用强随机生成的令牌 MCP_AUTH_TOKEN (例如:UUID或32个以上字符的随机字符串)
  • 🔒 HTTPS en生产:在生产环境中始终使用HTTPS/TLS
  • 🎯 配置器SHOCK_LIMIT:定义一个 SHOCK_LIMIT 适合您的安全要求
  • 🔐 网络安全:使用防火墙限制对服务器的网络访问
  • 📊 审计日志记录:记录所有强度调整和身份验证失败,以进行安全审核

故障排除

服务器无法启动

  • 检查 OPENSHOCK_API_TOKEN 定义正确
  • 查看日志 docker-compose logs -f (Docker)或控制台输出(本地)

命令不起作用

  • 检查Shockers ID是否正确
  • 验证OpenShock API令牌是否具有适当的权限
  • 检查日志以查找错误消息

连接问题

  • 确保在配置的端口上可以访问服务器
  • 检查防火墙规则
  • 验证MCP客户端是否配置为使用JSON-RPC 2.0进行HTTP传输

发展

此服务器构建有:

要贡献或报告问题,请使用GitHub存储库。

版本历史

v2.1.0 (当前)

  • 建筑结构变更:使用JSON-RPC 2.0从服务器发送事件(SSE)切换到纯HTTP
  • 使用JSON Direct简化响应管理
  • 改进了与标准JSON-RPC客户端的兼容性
  • 更新文档以仅反映HTTP传输

v2.0.1

  • 安全纠正:重新实现身份验证(v2.0.0存在严重漏洞)
  • 使用中间件的Token Bearer身份验证
  • 所有端点都需要身份验证,除非 /health

v2.0.0版本 (不使用-安全问题)

  • 使用官方MCP Python SDK完全重写
  • BUG批评:身份验证被意外删除
  • 添加HTTP客户端连接池
  • 更好地管理错误
  • 代码完全用英语编写,带有双语文档

v1.0.0

  • 具有自定义MCP实现的初始版本

目录标签

目录标签

设备控制Python远程控制Docker支持本地部署安全限制HTTP通信

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP