Sony TV MCP Server
Enables control of Sony TVs via IRCC remote commands through Model Context Protocol.
README
Sony TV MCP Server
Servidor Model Context Protocol (MCP) tipo HTTP-streaming para controlar televisores Sony mediante la API IRCC. Este servidor permite controlar tu televisor Sony a través de comandos remotos desde aplicaciones compatibles con MCP.
🚀 Características
- ✅ Servidor MCP HTTP-streaming (no stdio)
- ✅ Control remoto completo del televisor Sony
- ✅ Obtención dinámica de comandos IRCC disponibles
- ✅ Herramientas predefinidas para acciones comunes (encendido, volumen, canales, etc.)
- ✅ Envío de comandos personalizados por nombre o código IRCC
- ✅ Configuración sencilla mediante variables de entorno
📋 Requisitos previos
- Node.js 18 o superior
- Televisor Sony compatible con la API IRCC
- El televisor debe estar en la misma red local
- Clave PSK (Pre-Shared Key) del televisor configurada
🔧 Instalación
- Clona el repositorio:
git clone <tu-repositorio>
cd sony-mcp
- Instala las dependencias:
npm install
- Copia el archivo de ejemplo de variables de entorno y configúralo:
cp .env.example .env
- Edita el archivo
.envcon los datos de tu televisor:
SONY_TV_IP=192.168.1.100
SONY_TV_PSK=0000
PORT=3000
🔑 Cómo obtener la clave PSK
- En tu televisor Sony, ve a: Configuración → Red → Control remoto por red
- Activa la opción "Control remoto por red"
- Selecciona "Autenticación" y configura una clave PSK (por defecto suele ser
0000) - Anota esta clave para usarla en el archivo
.env
🏗️ Compilación
Compila el proyecto TypeScript:
npm run build
▶️ Ejecución
El servidor arranca como un servidor HTTP en el puerto configurado (por defecto 3000).
Modo desarrollo (con watch):
npm run dev
Modo producción:
npm start
El servidor estará disponible en http://localhost:3000 (o el puerto que configures en PORT).
🛠️ Herramientas disponibles
El servidor MCP expone las siguientes herramientas:
Comandos generales
sony_tv_get_commands: Obtiene todos los comandos IRCC disponibles del televisorsony_tv_send_command: Envía un comando específico por nombre o código IRCC- Parámetros:
command(string) - Nombre del comando o código IRCC
- Parámetros:
Comandos de acceso rápido
sony_tv_power: Enciende/apaga el televisorsony_tv_volume_up: Sube el volumensony_tv_volume_down: Baja el volumensony_tv_mute: Silencia/activa el sonidosony_tv_channel_up: Canal siguientesony_tv_channel_down: Canal anteriorsony_tv_input: Cambia la fuente de entrada
📝 Configuración en Claude Desktop
Para usar este servidor MCP con Claude Desktop, agrega la siguiente configuración a tu archivo de configuración de Claude.
Nota importante: Este es un servidor HTTP-streaming, por lo que la configuración es diferente a los servidores stdio tradicionales.
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"sony-tv": {
"url": "http://localhost:3000"
}
}
}
Asegúrate de que el servidor esté ejecutándose antes de usar Claude Desktop. Puedes iniciar el servidor con:
npm start
O si prefieres ejecutarlo en segundo plano con un puerto diferente:
PORT=3000 npm start &
🔍 Ejemplos de uso
Una vez configurado en Claude Desktop, puedes usar comandos naturales como:
- "Enciende el televisor Sony"
- "Sube el volumen del TV"
- "Cambia de canal"
- "Silencia el televisor"
- "Muéstrame todos los comandos disponibles del TV Sony"
- "Envía el comando Home al televisor"
🏗️ Arquitectura
sony-mcp/
├── src/
│ ├── index.ts # Servidor MCP principal
│ └── sony-client.ts # Cliente para la API IRCC de Sony
├── .env.example # Plantilla de configuración
├── package.json # Dependencias del proyecto
└── tsconfig.json # Configuración de TypeScript
🔒 Seguridad
- La clave PSK se transmite en la cabecera
X-Auth-PSK - Las comunicaciones se realizan solo en la red local
- No almacenes credenciales en el código fuente
- Usa el archivo
.envpara configuración sensible (incluido en.gitignore)
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Haz un fork del proyecto
- Crea una rama para tu feature (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Agrega nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
📄 Licencia
MIT
🐛 Solución de problemas
El servidor no se conecta al televisor
- Verifica que el TV esté encendido y en la misma red
- Comprueba que la IP sea correcta
- Asegúrate de que el control remoto por red esté habilitado en el TV
- Verifica que la clave PSK sea correcta
Los comandos no funcionan
- Ejecuta primero
sony_tv_get_commandspara ver los comandos disponibles - Algunos televisores pueden tener nombres de comandos diferentes
- Verifica que no haya firewall bloqueando la comunicación
Errores de compilación
- Asegúrate de tener Node.js 18 o superior
- Ejecuta
npm installpara instalar todas las dependencias - Verifica que TypeScript esté correctamente instalado
📚 Recursos adicionales
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。