# Hjarni — MCP server on mcp.ai > Connect your Hjarni account and use 15 tools for notes straight from your AI agent. Connect with your own API key. Hjarni is a personal knowledge management platform for organizing, searching, linking, and maintaining notes, containers, and tags. By: mcp.ai · official Page: https://mcp.ai/hjarni ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_hjarni?ms=1787291400000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/hjarni/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/hjarni/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/hjarni/skill.md Postman collection (v2.1): https://mcp.ai/hjarni/postman.json ## Tools - hjarni_create_container(name: string, position?: integer, parent_id?: integer, description?: string, llm_instructions?: string) — Create a root or nested Hjarni container for organizing notes. - hjarni_create_note(body?: string, title: string, summary?: string, position?: integer, tag_names?: string[], source_url?: string, container_id?: integer) — Create a Markdown note in the inbox or a container. Tags named in tag_names are applied as part of creation. Free accounts are limited to 25 notes, so check account status if quota pressure is possibl - hjarni_create_notes(notes: object[]) — Create 1-25 Markdown notes in order and return one result per input. This batch is non-atomic: successful notes remain created if another item fails. - hjarni_create_tag(name: string) — Create a Hjarni tag for organizing notes. - hjarni_get_account_status() — Return the connected Hjarni identity, token scope, plan, teams, and current resource usage and quotas. Use this before creating many notes or attachments; Free accounts allow 25 notes, 5 attachments, - hjarni_get_note(note_id: integer) — Get one Hjarni note by ID with its Markdown body, tags, container, attachments, links, and optimistic-lock version. - hjarni_list_containers(scope?: string, per_page?: integer, next_cursor?: string) — List Hjarni containers as active roots, archived roots, or all active containers in a flat view. Use next_cursor to page through results. - hjarni_list_notes(tag?: string, query?: string, scope?: string, per_page?: integer, next_cursor?: string, container_id?: integer, exclude_body?: boolean) — List and filter personal Hjarni notes, including active, inbox, archived, or favorited notes. Use next_cursor to page through results; use query for simple personal-note filtering. - hjarni_list_tags(per_page?: integer, next_cursor?: string) — List all Hjarni tags and their note counts. Use next_cursor to page through results. - hjarni_list_trashed_notes(per_page?: integer, next_cursor?: string) — List recoverable trashed Hjarni notes with their deletion and scheduled purge times. Use next_cursor to page through results. - hjarni_rename_tag(name: string, tag_id: integer) — Rename an existing Hjarni tag without changing its note associations. - hjarni_restore_note(note_id: integer) — Restore a note from Trash before its scheduled purge and return the active note. - hjarni_trash_note(note_id: integer) — Move a note to recoverable Trash. This is not immediate permanent deletion: Hjarni retains the note for about 30 days, and RESTORE_NOTE can recover it before purge. - hjarni_update_container(name?: string, position?: integer, parent_id?: integer, description?: string, container_id: integer, llm_instructions?: string) — Update a Hjarni container's name, description, parent, position, or container-specific AI instructions. - hjarni_update_note(body?: string, title?: string, note_id: integer, summary?: string, position?: integer, tag_names?: string[], source_url?: string, append_body?: string, container_id?: integer, expected_lock_version?: integer) — Update note metadata, placement, tags, or body. body replaces the entire Markdown body; append_body safely appends text. Provide expected_lock_version from GET_NOTE to prevent overwriting concurrent e ## Example prompts - "What can I do in Hjarni?" - "Show me a summary of my Hjarni account" ## Links Docs: https://mcp.ai/docs/mcps/hjarni Website: https://mcp.ai/mcps/hjarni