Hashnode MCP Server
Un servidor MCP para interactuar con la API de Hashnode.
Documentación
Servidor MCP de Hashnode
Un servidor de Protocolo de Contexto de Modelo (MCP) para interactuar con la API de Hashnode. Este servidor proporciona herramientas para acceder y buscar contenido de Hashnode programáticamente.

Demo
- Crear artículo

- Actualizar artículo

Características
- Crear y publicar nuevos artículos
- Actualizar artículos existentes
- Buscar artículos por palabras clave
- Obtener detalles de artículos
- Obtener información de usuarios
- Obtener los artículos más recientes de una publicación
Instalación
-
Clona el repositorio:
git clone https://github.com/sbmagar13/hashnode-mcp-server.git cd hashnode-mcp-server -
Crea un entorno virtual y actívalo:
python -m venv .venv source .venv/bin/activate # On Windows, use: .venv\Scripts\activate -
Instala las dependencias:
pip install -r requirements.txt -
Crea un archivo
.enven el directorio raíz con tus credenciales de la API de Hashnode:HASHNODE_PERSONAL_ACCESS_TOKEN=your_personal_access_token HASHNODE_API_URL=https://gql.hashnode.com
Uso
Iniciar el servidor
Tienes dos opciones para ejecutar el servidor:
Opción 1: Ejecutar el servidor manualmente
python run_server.py
O directamente usando el archivo raíz:
python mcp_server.py
El servidor se iniciará y escuchará conexiones de asistentes de IA. Por defecto, se ejecuta en localhost:8000 usando el protocolo de transporte de Eventos Enviados por el Servidor (SSE).
Opción 2: Deja que la integración MCP lo maneje automáticamente
Cuando se configura correctamente en Claude Desktop o la extensión Cline de VSCode, la integración MCP iniciará y gestionará automáticamente el proceso del servidor por ti.
Nota importante sobre la estructura de archivos
Al configurar tu servidor MCP en Claude Desktop o la extensión Cline de VSCode, debes usar el archivo raíz mcp_server.py directamente en lugar de los archivos en el directorio hashnode_mcp. El directorio hashnode_mcp es principalmente para fines de empaquetado.
Herramientas disponibles
El servidor proporciona las siguientes herramientas:
test_api_connection(): Prueba la conexión con la API de Hashnodecreate_article(title, body_markdown, tags="", published=False): Crea y publica un nuevo artículo en Hashnodeupdate_article(article_id, title=None, body_markdown=None, tags=None, published=None): Actualiza un artículo existente en Hashnodeget_latest_articles(hostname, limit=10): Obtiene los artículos más recientes de una publicación de Hashnode por nombre de hostsearch_articles(query, page=1): Busca artículos en Hashnodeget_article_details(article_id): Obtiene información detallada sobre un artículo específicoget_user_info(username): Obtiene información sobre un usuario de Hashnode
Usar el servidor MCP
Una vez que el servidor esté en ejecución, puedes usarlo con asistentes de IA que admitan el Protocolo de Contexto de Modelo (MCP), como Claude. El asistente podrá usar las herramientas proporcionadas por el servidor para interactuar con la API de Hashnode.
Las herramientas se pueden usar para:
- Probar la conexión con la API
- Crear y publicar nuevos artículos
- Actualizar artículos existentes
- Obtener los artículos más recientes de una publicación
- Buscar artículos
- Obtener información detallada sobre artículos específicos
- Obtener información sobre usuarios
Configurar MCP en Claude Desktop y la extensión Cline de VSCode
Extensión Cline de VSCode
-
Navega al archivo de configuración MCP de Cline:
- Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings\cline_mcp_settings.json - Linux:
Unfortunately, Claude Desktop is not available for Linux as of now(Puedes usar la extensión Cline en su lugar)
- Windows:
-
Añade tu configuración del servidor MCP de Hashnode:
{ "mcpServers": { "hashnode": { "command": "/path/to/your/venv/bin/python", "args": [ "/path/to/your/hashnode-mcp-server/mcp_server.py" ], "env": { "HASHNODE_PERSONAL_ACCESS_TOKEN": "your-personal-access-token" } } } }
Claude Desktop
-
Navega al archivo de configuración:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
Añade tu configuración del servidor MCP de Hashnode usando el mismo formato que arriba.
Solución de problemas de conexión
Si encuentras problemas de conexión:
- Verifica que el servidor esté en ejecución
- Revisa las rutas en tu configuración
- Asegúrate de que tus variables de entorno estén configuradas correctamente
- Revisa los registros del servidor para ver mensajes de error
- Intenta reiniciar tanto el servidor MCP como la aplicación Claude
Variables de entorno
HASHNODE_PERSONAL_ACCESS_TOKEN: Tu token de acceso personal de HashnodeHASHNODE_API_URL: La URL de la API GraphQL de Hashnode (por defecto: https://gql.hashnode.com)
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).
- Haz un fork del repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Solicitud de Extracción
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
Repositorio de GitHub
El código fuente de este proyecto está disponible en GitHub: https://github.com/sbmagar13/hashnode-mcp-server
Arquitectura técnica
El proyecto está organizado con una estructura limpia y modular:
mcp_server.py: Implementación raíz del servidor que se puede ejecutar directamentehashnode_mcp/: Paquete principal que contiene la funcionalidad modularmcp_server.py: Versión del paquete de la implementación del servidorutils.py: Funciones de utilidad para formatear respuestas y consultas GraphQL
run_server.py: Punto de entrada para ejecutar el servidor usando la versión del paquete
El servidor usa programación asíncrona con las bibliotecas asyncio y httpx de Python para una comunicación eficiente con la API. Las consultas y mutaciones GraphQL se definen como constantes, lo que facilita su mantenimiento y actualización.
Mejoras futuras
Los desarrollos futuros planificados incluyen:
- Funcionalidades adicionales de Hashnode (comentarios, series, boletines)
- Integración de análisis
- Optimización de contenido
- Soporte multiusuario
- Soporte de webhooks
Agradecimientos
- Hashnode por proporcionar la API
- Protocolo de Contexto de Modelo (MCP) por el marco del servidor
- Esto está certificado por MCP Review
