Hjarni

Un segundo cerebro basado en Markdown con un servidor MCP alojado. Tu IA lee, busca, crea y enlaza tus notas. Incluye un nivel gratuito.

Documentación

Servidor MCP de Hjarni

Hjarni incluye un servidor MCP integrado para ChatGPT, Claude y otros clientes compatibles. Usa esta página como referencia de protocolo y capacidades. Si solo quieres conectar un asistente, comienza con la configuración de ChatGPT o la configuración de Claude.

Descripción general

Servidor

second-brain

Endpoint MCP

https://hjarni.com/mcp

Transporte

HTTP Streamable con JSON-RPC 2.0

Versiones de protocolo compatibles

2025-11-25, 2025-06-18, 2025-03-26 y 2024-11-05

Capacidades

Herramientas, prompts y recursos, además de la extensión io.modelcontextprotocol/ui (MCP Apps)

Qué clientes deberían usar esto

Mejor ajuste

  • Conectores personalizados de ChatGPT
  • Claude.ai y Claude iOS
  • Claude Desktop y Claude Code
  • Clientes MCP personalizados que admitan transporte HTTP

Usa la API REST en su lugar cuando

  • Estés escribiendo tu propia lógica de aplicación
  • Quieras contratos de endpoint explícitos y cargas JSON
  • Estés creando scripts o automatizaciones fuera de un cliente MCP

Detalles del protocolo

POST   /mcp    # JSON-RPC requests
GET    /mcp    # not supported for streaming
DELETE /mcp    # not supported for termination

El servidor responde a métodos MCP estándar, incluyendo:

  • initialize
  • tools/list
  • tools/call
  • prompts/list
  • prompts/get
  • resources/list y resources/read: los widgets interactivos (ui://), y notas individuales por id (hjarni://notes/42)
  • ping

Autenticación

OAuth

Usado por los clientes alojados de ChatGPT y Claude.

  • Flujo de Código de Autorización con PKCE
  • Descubrimiento en /.well-known/oauth-authorization-server
  • Metadatos de recursos protegidos en /.well-known/oauth-protected-resource

Token Bearer

Usado por Claude Desktop, Claude Code y clientes personalizados.

{
  "mcpServers": {
    "hjarni": {
      "url": "https://hjarni.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Endpoints OAuth conocidos

  • GET /.well-known/oauth-authorization-server
  • GET /.well-known/oauth-protected-resource
  • GET /authorize y POST /authorize
  • POST /token
  • POST /register para registro dinámico de clientes

URI de redirección preaprobadas

  • https://claude.ai/api/mcp/auth_callback
  • https://claude.com/api/mcp/auth_callback
  • https://platform.openai.com/apps-manage/oauth
  • http://localhost:6274/oauth/callback
  • http://localhost:6274/oauth/callback/debug

Otras URI de redirección deben registrarse mediante registro dinámico de clientes, y las URI de desarrollo no locales deben usar HTTPS.

Catálogo de herramientas

La lista completa de nombres de herramientas MCP expuestas por Hjarni. Usa los nombres exactos a continuación.

Descarga el catálogo de herramientas JSON para descripciones completas, esquemas de entrada, anotaciones MCP, tipos de acción y efectos secundarios.

Herramientas de lectura

me

La cuenta conectada: identidad, estado de incorporación, equipos y límites de notas. Un token de agente obtiene solo su identidad, los equipos a los que llega, sus permisos y las instrucciones que escribiste para él. Las instrucciones del servidor piden a los clientes llamar a esto primero en cada conversación.

dashboard-get

Conteos, notas personales creadas recientemente y recent_changes: las ediciones más recientes en espacios personales, de equipo y compartidos.

search

Búsqueda unificada en notas, contenedores y etiquetas. Admite search_scope, scope, container_id y filtros de etiquetas. Nota: container_id se ignora mientras search_scope sea "all" (el valor predeterminado), así que establece un alcance más estrecho para filtrar por carpeta.

notes-list, notes-get, notes-history

containers-list, containers-get

tags-list

teams-list, teams-get

instructions-get

files-check_upload, files-get_download_url

notes-open

Abre una nota en el panel del editor de notas junto a la conversación, en clientes que muestran apps. En cualquier otro lugar devuelve los mismos datos que notes-get.

Herramientas del panel de notas

notes-panel, notes-search_mentions

Llamadas por el panel de notas y por las menciones @ del compositor de ChatGPT, no por el asistente: están marcadas como solo-app, por lo que los clientes que admiten MCP Apps las mantienen fuera de la lista de herramientas del modelo. notes-panel carga, previsualiza y guarda la nota abierta con los mismos permisos que notes-update.

Herramientas de escritura

notes-create, notes-update, notes-delete, notes-restore, notes-revert

containers-create, containers-update, containers-delete, containers-restore, containers-permissions

containers-permissions establece el rol de un compañero de equipo en una carpeta de equipo que administras. Eliminar una carpeta la mueve a ella y todo su contenido a la Papelera como una unidad restaurable; containers-restore trae de vuelta toda la unidad, y containers-list con alcance "trashed" muestra lo que es restaurable.

tags-create, tags-manage

instructions-update

links-manage

Crea o elimina enlaces bidireccionales entre notas.

files-attach, files-attach_from_url, files-remove, files-create_upload_url

teams-create, teams-invite

Crea un equipo, o invita a un compañero por correo electrónico (solo propietario del equipo). Las invitaciones envían un correo; un asiento se factura al aceptar.

email-addresses-list, email-addresses-create

Lista las direcciones de captura de correo del usuario, o crea una vinculada a una carpeta (Pro). El correo enviado a la dirección se convierte en una nota allí. Una dirección es una credencial de escritura, así que nunca la pongas en una nota.

feedback-submit, nudges-dismiss

Envía comentarios sobre el producto y descarta las sugerencias dentro del producto que el servidor muestra ocasionalmente.

Convenciones importantes de parámetros

  • Los niveles de instrucción son brain, personal_root, container y team.
  • Para búsquedas, usa search_scope para distinguir notas personales, todas las notas accesibles o un equipo específico.
  • Para enlaces de notas en cuerpos, la forma robusta es [[id:Note Title]].
  • Para cargas de archivos, prefiere files-create_upload_url en lugar de enviar base64 directamente.

Prompts integrados

El servidor también expone prompts MCP. Estos son útiles para clientes que admiten descubrimiento de prompts.

summarize_note

Resume una nota y sugiere etiquetas y enlaces relacionados. Requiere note_id.

weekly_review

Revisa la actividad reciente y sugiere mejoras de organización. days opcional.

research_topic

Sintetiza todo en la base de conocimientos relacionado con un tema. Requiere topic.

Permisos y límites de comportamiento

  • MCP usa los derechos de acceso de la cuenta Hjarni conectada.
  • Las notas de equipo son accesibles si el usuario pertenece al equipo.
  • Los contenedores compartidos son visibles en los resultados MCP cuando el usuario tiene acceso.
  • Algunas acciones siguen siendo solo para propietarios en contenedores personales compartidos.
  • Las cuentas gratuitas pueden usar herramientas de archivos hasta 20 MB en cinco adjuntos personales. Los adjuntos de equipo/compartidos y capacidad adicional requieren un plan de pago.
  • Límites de tasa: 60 solicitudes por minuto por cuenta en /mcp, compartidas por todos los tokens y sesiones de la cuenta, 20 invitaciones de equipo por equipo por hora y 10 registros de clientes OAuth por IP por hora. Exceder uno devuelve 429.

Solución de problemas

401 No autorizado

El token no es válido, expiró o falta. Reautoriza el cliente OAuth o genera un nuevo token en Configuración > Conexiones.

403 Origen no válido

El cliente está enviando un encabezado Origin no reconocido. Hjarni actualmente permite su propio host, localhost y orígenes de Claude/Anthropic (claude.ai, claude.com, *.anthropic.com). Los clientes personalizados deben evitar orígenes de navegador inesperados.

Token de agente rechazado

Un token de agente solo llega a las carpetas que se le dieron. Una nota fuera de ellas se lee como no encontrada, una escritura donde tiene acceso de lectura falla con "Este token de agente no puede escribir...", y las pocas herramientas que cambian toda la cuenta (crear o cambiar etiquetas, crear equipos, invitar personas, compartir, captura de correo) no se le ofrecen. Una negativa de acceso o un límite nunca es un error JSON-RPC (una llamada mal formada sí lo es). Vuelve como un resultado de herramienta ordinario, ya sea con ok: false y un status (como el límite de notas, o notes-get en una nota que no puede leer) o con error: true y texto que comienza con Error: (como una escritura que no puede hacer, o una carpeta que no se le dio). Revisa el resultado para ambos, no solo que la llamada haya regresado. Dale más en Configuración > Conexiones, o usa una conexión de acceso completo. Consulta Tokens de agente.

429 Demasiadas solicitudes

Más de 60 solicitudes en un minuto en una cuenta, contadas en todos sus tokens y sesiones. Retrocede y reintenta; la respuesta incluye un encabezado Retry-After.

Método no encontrado

Usa métodos MCP JSON-RPC como tools/list y tools/call. No trates /mcp como un endpoint REST genérico.

No aparecen herramientas después de conectar

Asegúrate de que el cliente llamó exitosamente a initialize y luego a tools/list. Si no, la conexión probablemente falló antes de que se estableciera la sesión MCP.

Las operaciones de archivos fallan

Revisa la respuesta de me para el almacenamiento y conteo de archivos restantes. Prefiere files-create_upload_url en lugar de base64 para cualquier cosa no trivial.

¿Sigue atascado?

Envía un correo a evert@hjarni.com y te ayudaremos a depurar la conexión.

Dale a tu IA una memoria. Gratis.

Conecta Claude o ChatGPT a notas que realmente puedan leer y escribir.

Empieza gratis

Dale a tu IA una memoria. Gratis.