@opennemas/mcp
v1.0.3
Published
MCP server for the Opennemas Public API
Readme
Opennemas MCP — Setup
Servidor MCP que expone la API pública de Opennemas como herramientas de IA.
Requisitos
- Instancia de Opennemas en ejecución
- API key generada desde Admin → Ajustes → Configuración interna → Public API Keys
Instalación
Opción A — npx (sin instalar nada, recomendado para clientes):
El paquete se descarga automáticamente al añadirlo a Claude:
claude mcp add -s user \
-e "ONM_BASE_URL=https://your-instance.com" \
-e "ONM_API_KEY=your-api-key" \
-- opennemas npx mcp-opennemasConfiguración
Las dos variables de entorno necesarias:
| Variable | Ejemplo | Descripción |
|---|---|---|
| ONM_BASE_URL | http://opennemas.local.opennemas.com:8080 | URL base de la instancia (sin barra final) |
| ONM_API_KEY | bc1fe071... | API key en texto plano (el servidor hace el hash internamente) |
Claude Desktop
Edita ~/Library/Application Support/Claude/claude_desktop_config.json
(Windows: %APPDATA%\Claude\claude_desktop_config.json)
{
"mcpServers": {
"opennemas": {
"command": "node",
"args": ["/ruta/absoluta/a/index.js"],
"env": {
"ONM_BASE_URL": "http://opennemas.local.opennemas.com:8080",
"ONM_API_KEY": "tu-api-key-aqui"
}
}
}
}Reinicia Claude Desktop. El servidor aparecerá en el menú de herramientas (icono de martillo).
Claude Code (CLI)
claude mcp add -s user \
-e "ONM_BASE_URL=https://your-instance.com" \
-e "ONM_API_KEY=tu-api-key-aqui" \
-- opennemas npx mcp-opennemasVerifica que está conectado:
claude mcp list
# opennemas: node ... - ✓ ConnectedTools disponibles
El servidor registra un tool por cada endpoint de la API. Los tools disponibles dependen de los scopes de la API key:
Lectura (scope articles:read)
| Tool | Descripción |
|---|---|
| list_articles | Lista artículos publicados (paginación, orden) |
| get_article | Obtiene un artículo por ID (cuerpo HTML completo) |
Escritura (scope articles:write)
| Tool | Descripción |
|---|---|
| create_article | Crea un artículo en estado borrador |
| patch_article | Edita campos de un artículo existente |
Publicación (scope articles:publish)
| Tool | Descripción |
|---|---|
| patch_article_status | Publica o despublica un artículo (draft / published) |
Taxonomía
| Tool | Scope | Descripción |
|---|---|---|
| list_categories | categories:read | Lista la taxonomía de categorías (jerarquía por parent_id) |
| get_category | categories:read | Obtiene una categoría por ID |
| list_authors | authors:read | Lista autores/periodistas de la instancia |
| get_author | authors:read | Obtiene un autor por ID |
| list_tags | tags:read | Lista tags de contenido |
| get_tag | tags:read | Obtiene un tag por ID |
| list_frontpages | frontpages:read | Lista portadas editoriales configuradas |
| get_frontpage | frontpages:read | Obtiene una portada por ID |
Los tools disponibles se actualizan automáticamente al reiniciar el servidor si se añaden nuevos endpoints a la API.
Múltiples instancias
Para conectar más de una instancia de Opennemas, añade un servidor por instancia con nombres distintos:
{
"mcpServers": {
"opennemas-local": {
"command": "node",
"args": ["/ruta/a/mcp/src/index.js"],
"env": {
"ONM_BASE_URL": "http://opennemas.local.opennemas.com:8080",
"ONM_API_KEY": "key-instancia-local"
}
},
"opennemas-produccion": {
"command": "node",
"args": ["/ruta/a/mcp/src/index.js"],
"env": {
"ONM_BASE_URL": "https://mipublicacion.com",
"ONM_API_KEY": "key-instancia-produccion"
}
}
}
}