Sony TV MCP Server

Sony TV MCP Server

Enables control of Sony TVs via IRCC remote commands through Model Context Protocol.

Category
Visit Server

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

  1. Clona el repositorio:
git clone <tu-repositorio>
cd sony-mcp
  1. Instala las dependencias:
npm install
  1. Copia el archivo de ejemplo de variables de entorno y configúralo:
cp .env.example .env
  1. Edita el archivo .env con los datos de tu televisor:
SONY_TV_IP=192.168.1.100
SONY_TV_PSK=0000
PORT=3000

🔑 Cómo obtener la clave PSK

  1. En tu televisor Sony, ve a: Configuración → Red → Control remoto por red
  2. Activa la opción "Control remoto por red"
  3. Selecciona "Autenticación" y configura una clave PSK (por defecto suele ser 0000)
  4. 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 televisor
  • sony_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

Comandos de acceso rápido

  • sony_tv_power: Enciende/apaga el televisor
  • sony_tv_volume_up: Sube el volumen
  • sony_tv_volume_down: Baja el volumen
  • sony_tv_mute: Silencia/activa el sonido
  • sony_tv_channel_up: Canal siguiente
  • sony_tv_channel_down: Canal anterior
  • sony_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 .env para configuración sensible (incluido en .gitignore)

🤝 Contribuciones

Las contribuciones son bienvenidas. Por favor:

  1. Haz un fork del proyecto
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -m 'Agrega nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. 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_commands para 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 install para instalar todas las dependencias
  • Verifica que TypeScript esté correctamente instalado

📚 Recursos adicionales

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured