LinkedIn Post Generator
Generador de publicaciones de LinkedIn
Un servidor de Protocolo de Contexto de Modelo (MCP) que automatiza la generación de borradores profesionales de publicaciones de LinkedIn a partir de videos de YouTube. Esta herramienta optimiza la reutilización de contenido extrayendo transcripciones de videos de YouTube, resumiendo el contenido y generando publicaciones atractivas de LinkedIn adaptadas a tus preferencias.
Tabla de contenido
Related MCP server: YouTube Translate MCP
Características
Extracción de transcripciones de YouTube : extrae automáticamente las transcripciones de cualquier video de YouTube
Resumen de contenido : genere resúmenes concisos con tono personalizable y público objetivo.
Generación de publicaciones en LinkedIn : crea publicaciones profesionales en LinkedIn con un estilo y un tono personalizables
Flujo de trabajo todo en uno : pase de la URL de YouTube a la publicación de LinkedIn en una sola operación
Opciones de personalización : ajuste el tono, la audiencia, el número de palabras y más para que coincida con su marca personal.
Integración con MCP : funciona a la perfección con asistentes de IA que admiten el Protocolo de contexto de modelo
Instalación
Desarrollo local
Clonar el repositorio:
git clone https://github.com/NvkAnirudh/LinkedIn-Post-Generator.git cd LinkedIn-Post-GeneratorInstalar dependencias:
npm installCree un archivo
.envbasado en el ejemplo:cp .env.example .envAgregue sus claves API al archivo
.env:OPENAI_API_KEY=your_openai_api_key YOUTUBE_API_KEY=your_youtube_api_keyEjecutar el servidor:
npm run devPrueba con MCP Inspector:
npm run inspect
Uso con Claude Desktop
Este servidor MCP está diseñado para funcionar con Claude Desktop y otros asistentes de IA compatibles con el Protocolo de Contexto de Modelo. Para usarlo con Claude Desktop:
Configure Claude Desktop editando el archivo de configuración en
~/Library/Application Support/Claude/claude_desktop_config.json(Mac) o%APPDATA%\Claude\claude_desktop_config.json(Windows):{ "mcpServers": { "linkedin-post-generator": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "@NvkAnirudh/linkedin-post-generator", "--key", "YOUR_SMITHERY_API_KEY", "--config", "{\"OPENAI_API_KEY\":\"YOUR_OPENAI_API_KEY\",\"YOUTUBE_API_KEY\":\"YOUR_YOUTUBE_API_KEY\"}", "--transport", "stdio" ] } } }Reemplazar:
YOUR_SMITHERY_API_KEYcon su clave API de SmitheryYOUR_OPENAI_API_KEYcon su clave API de OpenAIYOUR_YOUTUBE_API_KEYcon tu clave API de YouTube (opcional)
Reiniciar Claude Desktop
En Claude Desktop, ahora puedes acceder a las herramientas del generador de publicaciones de LinkedIn sin necesidad de volver a configurar las claves API.
Configuración
La aplicación requiere claves API para funcionar correctamente:
Clave API de OpenAI (obligatoria): se utiliza para resumir contenido y generar publicaciones.
Clave API de YouTube (opcional): mejora la recuperación de metadatos de YouTube
Puede proporcionar estas claves de tres maneras:
1. A través de la configuración del escritorio de Claude (recomendado)
Al usar Claude Desktop y Smithery, lo mejor es incluir las claves de API en el archivo de configuración de Claude Desktop, como se muestra en la sección "Uso con Claude Desktop" . De esta forma, las claves se transfieren automáticamente al servidor MCP y no es necesario volver a configurarlas.
2. Como variables de entorno
Al ejecutar localmente, puede configurar claves API como variables de entorno en un archivo .env :
OPENAI_API_KEY=your_openai_api_key
YOUTUBE_API_KEY=your_youtube_api_key3. Uso de la herramienta Establecer claves API
Si no ha proporcionado claves API a través de la configuración o las variables de entorno, puede configurarlas directamente a través de la interfaz MCP usando la herramienta set_api_keys .
Uso
Herramientas disponibles
Establecer claves API
Herramienta:
set_api_keysPropósito: Configurar sus claves API
Parámetros:
openaiApiKey: Su clave API de OpenAI (obligatoria)youtubeApiKey: Tu clave API de YouTube (opcional)
Comprobar claves API
Herramienta:
check_api_keysPropósito: Verificar el estado de configuración de su clave API
Extraer transcripción
Herramienta:
extract_transcriptPropósito: Obtener la transcripción de un video de YouTube
Parámetros:
youtubeUrl: URL del vídeo de YouTube
Resumir la transcripción
Herramienta:
summarize_transcriptPropósito: Crear un resumen conciso del contenido del video.
Parámetros:
transcript: El texto de la transcripción del videotone: educativo, inspirador, profesional o conversacional.audience: general, técnica, empresarial o académicawordCount: Recuento aproximado de palabras para el resumen (100-300)
Generar publicación de LinkedIn
Herramienta:
generate_linkedin_postPropósito: Crear una publicación de LinkedIn a partir de un resumen
Parámetros:
summary: Resumen del contenido del vídeovideoTitle: Título del vídeo de YouTubespeakerName: Nombre del orador (opcional)hashtags: hashtags relevantes (opcional)tone: Primera persona, tercera persona o líder de pensamiento.includeCallToAction: si se debe incluir una llamada a la acción
Todo en uno: Publicación de YouTube a LinkedIn
Herramienta:
youtube_to_linkedin_postPropósito: Flujo de trabajo completo desde la URL de YouTube hasta la publicación de LinkedIn
Parámetros:
youtubeUrl: URL del vídeo de YouTubetone: Tono deseado para la publicaciónMás opciones de personalización adicionales
Ejemplo de flujo de trabajo
Configure sus claves API usando la herramienta
set_api_keysUtilice la herramienta
youtube_to_linkedin_postcon una URL de YouTubeReciba un borrador completo de publicación de LinkedIn listo para publicar
Despliegue
Este servidor se implementa en Smithery , una plataforma para alojar y compartir servidores MCP. La configuración de implementación se define en el archivo smithery.yaml .
Para implementar su propia instancia:
Crea una cuenta en Smithery
Instalar la CLI de Smithery:
npm install -g @smithery/cliImplementar el servidor:
smithery deploy
Contribuyendo
¡Agradecemos tus contribuciones! Aquí te explicamos cómo puedes contribuir al generador de publicaciones de LinkedIn:
Informes de problemas
Utilice el rastreador de problemas de GitHub para informar errores o sugerir funciones
Proporcione información detallada sobre el problema, incluidos los pasos para reproducirlo, el comportamiento esperado y el comportamiento real.
Incluya los detalles de su entorno (sistema operativo, versión de Node.js, etc.) al informar errores
Solicitudes de extracción
Bifurcar el repositorio
Crea una nueva rama (
git checkout -b feature/your-feature-name)Realiza tus cambios
Ejecute pruebas para asegurarse de que sus cambios no alteren la funcionalidad existente
Confirme sus cambios (
git commit -m 'Add some feature')Empujar a la rama (
git push origin feature/your-feature-name)Abrir una solicitud de extracción
Directrices de desarrollo
Siga el estilo y las convenciones del código existente
Escribe código claro y comentado
Incluir pruebas para nuevas funciones
Actualice la documentación para reflejar sus cambios
Sugerencias de funciones
Si tiene ideas para nuevas funciones o mejoras:
Verifique los problemas existentes para ver si su sugerencia ya ha sido propuesta
En caso contrario, abra un nuevo problema con la etiqueta "mejora".
Describa claramente la característica y sus beneficios potenciales.
Documentación
Las mejoras en la documentación siempre son bienvenidas:
Corregir errores tipográficos o aclarar la documentación existente
Agregar ejemplos o casos de uso
Mejorar la estructura u organización de la documentación
Al contribuir a este proyecto, usted acepta que sus contribuciones estarán licenciadas bajo la Licencia MIT del proyecto.
Licencia
Available Tools
6 toolscheck_api_keysD
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_transcriptD
| Name | Required | Description | Default |
|---|---|---|---|
| youtubeUrl | Yes | YouTube video URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_linkedin_postD
| Name | Required | Description | Default |
|---|---|---|---|
| summary | Yes | Summary of the video content | |
| videoTitle | Yes | Title of the YouTube video | |
| speakerName | No | Name of the speaker in the video (optional) | |
| hashtags | No | Relevant hashtags (optional) | |
| tone | No | Tone of the LinkedIn post | first-person |
| includeCallToAction | No | Whether to include a call to action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_api_keysD
| Name | Required | Description | Default |
|---|---|---|---|
| openaiApiKey | Yes | Your OpenAI API key | |
| youtubeApiKey | No | Your YouTube API key (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_transcriptD
| Name | Required | Description | Default |
|---|---|---|---|
| transcript | Yes | Video transcript text | |
| tone | No | Tone of the summary | professional |
| audience | No | Target audience for the summary | general |
| wordCount | No | Approximate word count for the summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
youtube_to_linkedin_postD
| Name | Required | Description | Default |
|---|---|---|---|
| youtubeUrl | Yes | YouTube video URL | |
| tone | No | Tone of the LinkedIn post | first-person |
| summaryTone | No | Tone of the summary | professional |
| audience | No | Target audience | general |
| hashtags | No | Relevant hashtags (optional) | |
| includeCallToAction | No | Whether to include a call to action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- Changed
check_api_keys1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
6 tool updates
- First observed
check_api_keys - First observed
extract_transcript - First observed
generate_linkedin_post - First observed
set_api_keys - First observed
summarize_transcript - First observed
youtube_to_linkedin_post
TDQS
Scored across 6 tools
Most tools have distinct purposes: checking/setting API keys, extracting/summarizing transcripts, generating posts, and a combined YouTube-to-post workflow. However, 'generate_linkedin_post' and 'youtube_to_linkedin_post' could cause some confusion about when to use each, as the latter might implicitly include extraction and summarization steps.
Tool names follow a consistent snake_case pattern with clear verb-action structures (e.g., 'check_api_keys', 'extract_transcript'). The only minor deviation is 'youtube_to_linkedin_post', which uses a 'source_to_destination' format instead of a verb-noun style, but it remains readable and fits the overall convention.
With 6 tools, this server is well-scoped for its purpose of generating LinkedIn posts from various inputs. Each tool appears to serve a specific function in the workflow, from API management to content processing and post generation, without being overly sparse or bloated.
The toolset covers key steps like API setup, content extraction, summarization, and post generation, but there are notable gaps. For example, there's no tool for editing or updating existing posts, managing drafts, or handling post scheduling, which could limit agent workflows in a complete LinkedIn posting lifecycle.
Maintenance
Related MCP Connectors
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
- MysocialOAuthio.mysocial
Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.
An MCP server that gives any LLM or agent clean YouTube transcripts on demand: a single video, a whole channel, or a playlist, plus AI cleanup of auto-generated captions. API-key auth, credit-based, same backend as the public v1 API. Get a free API key with 25 free credits at youtubetranscriptdownload.com/account.
- PostHeroOAuthai.posthero
PostHero MCP server — schedule and publish social media posts from any MCP-compatible AI tool
1
Related MCP Servers
- AlicenseAqualityFmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video captions and subtitles through a simple interface.1907 npm600MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables access to YouTube video content through transcripts, translations, summaries, and subtitle generation in various languages.55MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables retrieval of transcripts from YouTube videos. This server provides direct access to video transcripts and subtitles through a simple interface, making it ideal for content analysis and processing.1363 npm39MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that automates generating LinkedIn post drafts from YouTube videos. This server provides high-quality, editable content drafts based on YouTube video transcripts.1MIT