# Hjarni

Most AI tools give you a chatbot. We give your AI a brain. Hjarni is a clean, simple knowledge base with a built-in MCP server. Your AI reads your notes, follows your instructions, and remembers what…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add hjarni/hjarni

# Browse available tools
npx -y @smithery/cli@latest tool list hjarni/hjarni

# Get full schema for a tool
npx -y @smithery/cli@latest tool get hjarni/hjarni dashboard-get

# Call a tool
npx -y @smithery/cli@latest tool call hjarni/hjarni dashboard-get '{}'
```

## Direct MCP Connection

Endpoint: `https://hjarni--hjarni.run.tools`

**Optional config:**
- `apiKey` (query) — Your Second Brain API key. Create one at Settings > Connections. Optional if using OAuth.

## Tools (24)

- `dashboard-get` — Get an overview of the Second Brain: counts of notes, containers, tags, inbox items, and recent notes.
- `search` — Unified search across notes, containers, and tags. Returns results grouped by type. Use the types parameter to search o…
- `notes-list` — List notes with optional filtering and sorting. Returns paginated results. Use team_id to list notes in a team. Use con…
- `notes-get` — Get a single note by ID, including its full body content, tags, container, linked notes, and file attachments.
- `notes-create` — Create a new note. The body supports Markdown and wiki-links: use [[id:Note Title]] to link to other notes. Use team_id…
- `notes-update` — Update an existing note. Supports updating content, moving to a container, changing tags, archiving (archived: true/fal…
- `notes-delete` — Permanently delete a note.
- `containers-list` — List containers (folders) for organizing notes. By default returns root-level personal containers. Use team_id to list …
- `containers-get` — Get a single container by ID, including its LLM instructions if set. Use include_tree to also get ancestors and childre…
- `containers-create` — Create a new container (folder) for organizing notes.
- `containers-update` — Update an existing container (rename, change description, move to a different parent, or set display position).
- `tags-list` — List all tags.
- `tags-create` — Create a new tag.
- `teams-list` — List all teams the user is a member of.
- `teams-get` — Get team details including recent notes.
- `instructions-get` — Get LLM instructions at the specified level. Use level 'brain' to get global instructions (call early in conversations)…
- `instructions-update` — Update LLM instructions at the specified level. Use 'brain' for global, 'personal_root' for personal space, 'container'…
- `links-manage` — Create or remove a bidirectional link between two notes.
- `files-attach` — Attach a file to a note. Send the file contents as a base64-encoded string.
- `files-attach_from_url` — Fetch a file from a URL and attach it to a note. Follows one redirect.
- `files-remove` — Remove a file attachment from a note.
- `files-create_upload_url` — Generate a one-time upload URL for attaching a file to a note. Share this URL with the user so they can upload their fi…
- `files-check_upload` — Check the status of a file upload link created by files-create_upload_url. Returns 'pending' (user hasn't uploaded yet)…
- `files-get_download_url` — Get a temporary download URL for a file attached to a note. Share the URL with the user so they can download the file i…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get hjarni/hjarni <tool-name>
```

## Prompts (3)

- `summarize_note` (note_id) — Summarize a note and suggest tags and links to related notes.
- `weekly_review` (days) — Review notes created or updated in the past week, identify themes, and suggest organizational improvements.
- `research_topic` (topic) — Search the knowledge base for everything related to a topic, synthesize findings, and identify gaps in coverage.
