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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.