npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

genius-mcp-server

v1.0.1

Published

Model Context Protocol server for Genius API

Readme

genius-mcp-server

Un servidor Model Context Protocol (MCP) para interactuar con la API de Genius. Permite a las aplicaciones cliente MCP (como Claude for Desktop o VS Code GitHub Copilot) buscar letras, artistas y obtener detalles de canciones/artistas desde Genius.com.

Características

Este servidor MCP expone las siguientes funcionalidades de la API de Genius:

  • Herramientas (Tools): Permiten a los LLMs ejecutar acciones o buscar información.
    • genius-search: Busca canciones, artistas o páginas web por un término dado.
    • genius-list-artist-songs: Lista canciones de un artista específico por su ID.
  • Recursos (Resources): Permiten a los clientes o LLMs acceder a datos específicos.
    • genius-song: Obtiene detalles de una canción por su ID (URI template genius://songs/{id}).
    • genius-artist: Obtiene detalles de un artista por su ID (URI template genius://artists/{id}).
  • Prompts (Prompts): Plantillas reutilizables para iniciar interacciones comunes.
    • genius-search-prompt: Un prompt básico para iniciar una búsqueda en Genius.

Requisitos

  • Node.js (versión 16 o superior) instalado.
  • npm (viene con Node.js) o uv instalado.
  • Una API Key de Genius (Client Access Token) para acceder a la API.

Obtener una API Key de Genius

  1. Visita la página de Genius API Client management.
  2. Crea un nuevo API client si no tienes uno.
  3. Haz clic en "Generate Access Token" para obtener tu Client Access Token. Este token solo permite acceso de lectura a endpoints públicos, que es suficiente para las herramientas y recursos implementados en este servidor básico.
  4. Guarda este token de forma segura. No lo compartas públicamente.

Instalación y Ejecución con npx

La forma más fácil de ejecutar este servidor es usando npx. npx descargará y ejecutará el servidor directamente desde npm sin necesidad de instalación global.

  1. Abre tu terminal o línea de comandos.

  2. Establece tu API Key de Genius como una variable de entorno. Reemplaza TU_CLIENT_ACCESS_TOKEN_AQUI con tu clave real.

    # En MacOS / Linux (bash, zsh, etc.)
    export GENIUS_CLIENT_ACCESS_TOKEN=TU_CLIENT_ACCESS_TOKEN_AQUI
    
    # En Windows (Command Prompt)
    set GENIUS_CLIENT_ACCESS_TOKEN=TU_CLIENT_ACCESS_TOKEN_AQUI
    
    # En Windows (PowerShell)
    $env:GENIUS_CLIENT_ACCESS_TOKEN="TU_CLIENT_ACCESS_TOKEN_AQUI"
  3. Ejecuta el servidor usando npx y tu nombre de paquete (asegúrate de que sea el nombre correcto que usaste en package.json al publicar):

    npx -y genius-mcp-server # Usando el nombre de paquete 'genius-mcp-server' como ejemplo

    El servidor se iniciará y esperará conexiones de clientes MCP a través de stdio. Verás mensajes de inicialización en tu terminal (en stderr).

    Para detener el servidor, presiona Ctrl+C.

Configuración con Clientes MCP

Para usar este servidor con una aplicación cliente MCP como Claude for Desktop, necesitas configurar el cliente para que lance tu servidor usando npx y pase la API Key de Genius como variable de entorno.

Aquí tienes un ejemplo para Claude for Desktop:

  1. Abre el archivo de configuración de Claude Desktop:

    • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json Si no existe, créalo.
  2. Añade una entrada para tu servidor en la sección mcpServers. ¡Reemplaza TU_CLIENT_ACCESS_TOKEN_AQUI con tu clave real!

    {
      "mcpServers": {
        "genius-api": {
          // Nombre que aparecerá en la interfaz de Claude
          "command": "npx",
          "args": [
            "-y",
            "genius-mcp-server" // <-- El nombre de tu paquete publicado en npm
          ],
          "env": {
            "GENIUS_ACCESS_TOKEN": "TU_CLIENT_ACCESS_TOKEN_AQUI" // Pasa la clave como variable de entorno
          }
        }
      }
    }

    Nota de seguridad: Pasar secretos como variables de entorno en archivos de configuración puede no ser la opción más segura si otras aplicaciones tienen acceso a esos archivos o procesos. Algunos clientes MCP (como VS Code Copilot) pueden ofrecer mecanismos de gestión de secretos más seguros. Para Claude Desktop con claude_desktop_config.json, esta es la forma común.

  3. Guarda el archivo claude_desktop_config.json y reinicia completamente Claude for Desktop.

  4. Una vez reiniciado, busca los iconos de MCP, en la interfaz de Claude. Tu servidor "Genius API" debería aparecer, listando las herramientas y recursos disponibles. Los prompts pueden aparecer como comandos de barra diagonal (/).

Cómo Usar el Servidor con un LLM (Ejemplo con Claude)

Una vez que el servidor esté conectado a tu cliente MCP (ej. Claude), el LLM podrá usar las herramientas y acceder a los recursos.

  • Buscar: Pregunta a Claude algo como:
    • "Find songs by Taylor Swift on Genius."
    • "Search Genius for the song 'Lose Yourself'."
    • "Look up the artist Kendrick Lamar on Genius." Claude debería reconocer la intención de búsqueda y pedirte aprobación para usar la herramienta genius-search.
  • Obtener detalles de Canción/Artista: Para usar los recursos genius-song o genius-artist, el LLM o el cliente necesitarán saber el ID numérico (obtenido previamente con una búsqueda, por ejemplo). La forma en que un LLM solicita leer un recurso depende de la implementación del cliente. Podrías necesitar una herramienta adicional que tome un ID y genere un prompt para el LLM incluyendo el contenido del recurso, o un cliente que tenga una UI para explorar recursos.
  • Usar el Prompt de Búsqueda: Si tu cliente soporta prompts como comandos de barra diagonal, puedes intentar escribir /genius-search-prompt para generar el prompt predefinido.

Desarrollo Local

Si quieres modificar o contribuir al servidor:

  1. Clona el repositorio.
  2. Instala dependencias: npm install
  3. Crea un archivo .env en la raíz con tu Client Access Token: GENIUS_ACCESS_TOKEN=TU_CLAVE.
  4. Compila el código TypeScript: npm run build
  5. Ejecuta localmente (con la variable de entorno configurada en tu terminal): npm start o npm run dev (para compilar y ejecutar).

Contribución

¡Las contribuciones son bienvenidas! Siéntete libre de abrir issues o pull requests en el repositorio para mejorar este servidor (añadir más endpoints, manejar User Access Tokens/OAuth, etc.).

Licencia

Este proyecto está licenciado bajo la licencia ISC.