Skip to main content
Glama

Popmelt MCP Server

by avantjohn

Servidor MCP Popmelt

Un servidor MCP (Protocolo de contexto de modelo) para Popmelt, que proporciona acceso a Talent AI y Taste Profiles para el diseño dinámico de componentes de UI.

Descripción general

El servidor MCP de Popmelt aprovecha el Protocolo de Contexto de Modelo para exponer perfiles de Talent AI y capacidades de estilo a LLM y otras aplicaciones. Se conecta directamente a la base de datos PostgreSQL de Popmelt para acceder y proporcionar perfiles de Talent detallados, incluyendo metadatos estructurados y atributos de estilo ponderados.

Características

  • Acceso a perfiles de talento con inteligencia artificial : recupere perfiles de talento completos con sus características estéticas y atributos de diseño únicos
  • Generación de estilos CSS : genere reglas de estilo CSS directamente a partir de metadatos almacenados
  • Estilo dinámico de componentes de UI : integre fácilmente opciones de diseño basadas en talento en sus componentes de UI
  • Integración de base de datos : Conexión directa a la base de datos PostgreSQL donde se almacenan los perfiles de talento
  • Varias opciones de transporte : ejecute el servidor usando stdio para herramientas de línea de comandos o HTTP con SSE para servidores remotos

Estructura del proyecto

popmelt-mcp-server/ ├── src/ # Source code │ ├── db/ # Database access layer │ │ └── index.ts # Database connection and query functions │ ├── utils/ # Utility modules │ │ └── css-generator.ts # CSS generation utilities │ ├── mcp-server.ts # MCP server core implementation │ ├── server.ts # Stdio transport server │ └── http-server.ts # HTTP/SSE transport server ├── scripts/ # Helper scripts │ ├── setup-db.sql # SQL for setting up the database │ └── setup-db.js # Script to run the SQL setup ├── examples/ # Example client usage │ └── generate-css.js # Example script to generate CSS ├── dist/ # Compiled TypeScript output ├── package.json # Project configuration └── tsconfig.json # TypeScript configuration

Esquema de base de datos

El servidor Popmelt MCP utiliza una base de datos PostgreSQL con el siguiente esquema:

CREATE TABLE talents ( id VARCHAR(50) PRIMARY KEY, name VARCHAR(100) NOT NULL, description TEXT, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, metadata JSONB NOT NULL );

Donde el campo JSON metadata tiene la siguiente estructura:

{ "aesthetic_characteristics": { "style": "minimalist", "mood": "calm", "complexity": 2, "minimalism": 9, "boldness": 3, "playfulness": 2, "elegance": 8 }, "design_attributes": { "whitespace_balance": 9, "color_harmony": 7, "visual_rhythm": 6, "layout_density": 2, "texture_use": 1, "border_use": 2, "shadow_use": 3 }, "color_palette": { "primary": "#2D3748", "secondary": "#4A5568", "accent": "#38B2AC", "background": "#FFFFFF", "text": "#1A202C" }, "typography": { "headingFont": "Inter, sans-serif", "bodyFont": "Inter, sans-serif", "scale": 1.2, "weight": "light", "letterSpacing": 0.02, "lineHeight": 1.5 } }

Empezando

Prerrequisitos

  • Node.js 18 o superior
  • Base de datos PostgreSQL

Instalación

  1. Clonar este repositorio
  2. Instalar dependencias:
    npm install
  3. Copie el archivo de entorno de ejemplo y actualícelo con los detalles de su base de datos:
    cp .env.example .env
  4. Configurar la base de datos:
    node scripts/setup-db.js
  5. Construya el código TypeScript:
    npm run build

Ejecución del servidor

Hay dos modos de servidor disponibles:

  1. Modo stdio estándar (para herramientas de línea de comandos e integración directa):
npm start
  1. Servidor HTTP con soporte SSE (para acceso remoto e integración web):
npm run start:http

El servidor HTTP proporciona:

  • Un punto final SSE en /sse para recibir actualizaciones en tiempo real
  • Un punto final POST en /messages para enviar comandos
  • Un punto final de verificación de estado en /health

Referencia de API

Recursos

El servidor expone los siguientes recursos MCP:

URI del recursoDescripción
talent://listEnumere todos los perfiles de talento disponibles
talent://{id}Obtenga un perfil de talento específico por ID
talent-attribute://{id}/{attribute}Obtener un atributo específico de un talento (admite notación de puntos para propiedades anidadas)
component-style://{talent_id}/{component_name}Obtener CSS para un componente específico usando un perfil de talento

Herramientas

El servidor proporciona las siguientes herramientas MCP:

Nombre de la herramientaDescripciónArgumentos
generate-cssGenerar CSS para un componente basado en un perfil de talentotalentId , component , state (opcional), customProperties (opcional)
generate-component-libraryGenerar CSS para una biblioteca de componentes completatalentId
query-talentsRealizar una consulta de solo lectura sobre los metadatos de talentofilters
analyze-style-compatibilityAnalizar la compatibilidad entre diferentes estilos de talento.talentId1 , talentId2

Indicaciones

El servidor ofrece las siguientes indicaciones MCP:

Nombre del avisoDescripciónArgumentos
style-componentSolicitud de LLM para diseñar un componentetalentId , component , requirements (opcional)
create-talent-descriptionIndicación de LLM para crear un resumen descriptivo de un talentotalentId
recommend-talentSolicitud de LLM para recomendar talentos según requisitosprojectType , brandPersonality , targetAudience , aestheticPreferences (opcional)

Ejemplo de uso

Uso del cliente MCP

import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; // Create transport const transport = new StdioClientTransport({ command: 'node', args: ['dist/server.js'] }); // Create client const client = new Client( { name: 'example-client', version: '1.0.0' }, { capabilities: { resources: {}, tools: {} } } ); // Connect to server await client.connect(transport); // List all talents const talents = await client.listResources('talent://'); // Get a specific talent const talent = await client.readResource('talent://modern-minimalist'); // Generate CSS for a button const css = await client.callTool({ name: 'generate-css', arguments: { talentId: 'modern-minimalist', component: 'button', state: 'hover' } }); // Analyze compatibility between two talents const compatibility = await client.callTool({ name: 'analyze-style-compatibility', arguments: { talentId1: 'modern-minimalist', talentId2: 'bold-vibrant' } });

Ejecución del script de ejemplo

node examples/generate-css.js

Este script de ejemplo demuestra cómo utilizar el cliente MCP para generar CSS para todos los talentos disponibles y analizar la compatibilidad entre dos talentos.

Desarrollo

Construyendo el Proyecto

npm run build

Ejecutando en modo de desarrollo

npm run dev

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP que brinda acceso a perfiles de Talent AI y capacidades de estilo para el estilo dinámico de componentes de UI, que se conecta a PostgreSQL para brindar perfiles de talento detallados con características estéticas y atributos de diseño.

  1. Descripción general
    1. Características
      1. Estructura del proyecto
        1. Esquema de base de datos
          1. Empezando
            1. Prerrequisitos
            2. Instalación
            3. Ejecución del servidor
          2. Referencia de API
            1. Recursos
            2. Herramientas
            3. Indicaciones
          3. Ejemplo de uso
            1. Uso del cliente MCP
            2. Ejecución del script de ejemplo
          4. Desarrollo
            1. Construyendo el Proyecto
            2. Ejecutando en modo de desarrollo
          5. Licencia

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              An MCP server that generates 2D and 3D game assets from text prompts using AI models from Hugging Face Spaces, allowing developers to easily create game art through Claude Desktop or other MCP clients.
              Last updated -
              34
              JavaScript
              MIT License
              • Apple
              • Linux
            • -
              security
              F
              license
              -
              quality
              PG-MCP is an HTTP server implementation that enables AI systems to interact with PostgreSQL databases via MCP, providing tools for querying, connecting to multiple databases, and exploring schema resources. The system enriches context by extracting table/column description from database catalogs.
              Last updated -
              8
              • Linux
              • Apple
            • -
              security
              F
              license
              -
              quality
              A MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.
              Last updated -
              5
              TypeScript
            • A
              security
              A
              license
              A
              quality
              An open-source MCP server that connects to various data sources (SQL databases, CSV, Parquet files), allowing AI models to execute SQL queries and generate data visualizations for analytics and business intelligence.
              Last updated -
              10
              35
              Python
              MIT License
              • Linux
              • Apple

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/avantjohn/mcp-server-test-04'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server