Server Details
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- hjarni/hjarni-mcp
- GitHub Stars
- 0
See and control every tool call
Available Tools
24 toolscontainers-createInspect
Create a new container (folder) for organizing notes.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Container name | |
| parent_id | No | Parent container ID for nesting | |
| description | No | Container description |
containers-getInspect
Get a single container by ID, including its LLM instructions if set. Use include_tree to also get ancestors and children.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Container ID | |
| include_tree | No | Include ancestors and children arrays (default: false) |
containers-listInspect
List containers (folders) for organizing notes. By default returns root-level personal containers. Use team_id to list containers in a team.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| scope | No | Filter scope (default: roots). 'archived' only for personal containers. | |
| team_id | No | List containers in this team instead of personal containers | |
| per_page | No | Results per page |
containers-updateInspect
Update an existing container (rename, change description, move to a different parent, or set display position).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Container ID | |
| name | No | New name | |
| position | No | Display order position (lower numbers appear first) | |
| parent_id | No | New parent container ID (null for root) | |
| description | No | New description |
dashboard-getInspect
Get an overview of the Second Brain: counts of notes, containers, tags, inbox items, and recent notes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
files-attachInspect
Attach a file to a note. Send the file contents as a base64-encoded string.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID | |
| data | Yes | Base64-encoded file contents | |
| filename | Yes | Filename (e.g. report.pdf) | |
| description | No | Optional file description | |
| content_type | No | MIME type (e.g. application/pdf). Defaults to application/octet-stream |
files-attach_from_urlInspect
Fetch a file from a URL and attach it to a note. Follows one redirect.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID | |
| url | Yes | URL to fetch the file from | |
| filename | No | Override filename (default: derived from URL) | |
| description | No | Optional file description | |
| content_type | No | Override MIME type (default: from HTTP response) |
files-check_uploadInspect
Check the status of a file upload link created by files-create_upload_url. Returns 'pending' (user hasn't uploaded yet), 'completed' (file attached successfully), or 'expired' (link timed out).
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Upload token (from files-create_upload_url response) |
files-create_upload_urlInspect
Generate a one-time upload URL for attaching a file to a note. Share this URL with the user so they can upload their file directly — the file bypasses the conversation and goes straight to Second Brain, saving tokens. The link expires after 30 minutes. Use files-check_upload to verify the upload completed.
| Name | Required | Description | Default |
|---|---|---|---|
| note_id | Yes | Note ID to attach the file to | |
| description | No | Optional file description |
files-get_download_urlInspect
Get a temporary download URL for a file attached to a note. Share the URL with the user so they can download the file in their browser. The URL expires after a few minutes.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File ID (from notes-get response) | |
| note_id | Yes | Note ID |
files-removeInspect
Remove a file attachment from a note.
| Name | Required | Description | Default |
|---|---|---|---|
| file_id | Yes | File ID (from notes-get response) | |
| note_id | Yes | Note ID |
instructions-getInspect
Get LLM instructions at the specified level. Use level 'brain' to get global instructions (call early in conversations). Use 'personal_root' for personal space, 'container' for a specific container (includes inheritance chain), or 'team' for team instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Container ID or Team ID (required for 'container' and 'team' levels) | |
| level | Yes | Instruction level: 'brain' (global), 'personal_root', 'container', or 'team' |
instructions-updateInspect
Update LLM instructions at the specified level. Use 'brain' for global, 'personal_root' for personal space, 'container' for a specific container, or 'team' for team instructions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Container ID or Team ID (required for 'container' and 'team' levels) | |
| level | Yes | Instruction level to update | |
| instructions | Yes | The full updated instructions text. This replaces the existing instructions entirely. |
links-manageInspect
Create or remove a bidirectional link between two notes.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action: 'link' to create a link, 'unlink' to remove it | |
| source_note_id | Yes | First note ID | |
| target_note_id | Yes | Second note ID |
notes-createInspect
Create a new note. The body supports Markdown and wiki-links: use [[id:Note Title]] to link to other notes. Use team_id to create in a team.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Note body content (Markdown with [[id:Note Title]] wiki-links) | |
| title | Yes | Note title | |
| summary | No | Short summary of the note | |
| team_id | No | Create note in this team instead of personal space | |
| tag_list | No | Comma-separated list of tags | |
| source_url | No | Source URL reference | |
| container_id | No | Container ID to place the note in |
notes-deleteInspect
Permanently delete a note.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID |
notes-getInspect
Get a single note by ID, including its full body content, tags, container, linked notes, and file attachments.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID |
notes-listInspect
List notes with optional filtering and sorting. Returns paginated results. Use team_id to list notes in a team. Use container_id to list notes in a specific container (with include_nested for sub-containers). Use tag/tags/tag_ids to filter by tags.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter by tag name | |
| page | No | Page number (default: 1) | |
| sort | No | Sort order: 'recent' (updated_at desc, default), 'oldest' (updated_at asc), or 'title' (alphabetical) | |
| tags | No | Filter to notes with ALL these tags by name (AND logic) | |
| scope | No | Filter scope (default: active). 'inbox' and 'favorited' only for personal notes. | |
| tag_ids | No | Filter to notes with ALL these tags by ID (AND logic) | |
| team_id | No | List notes in this team instead of personal notes | |
| per_page | No | Results per page, max 100 (default: 25) | |
| container_id | No | Filter by container ID | |
| include_nested | No | Include notes from sub-containers when container_id is set (default: false) |
notes-updateInspect
Update an existing note. Supports updating content, moving to a container, changing tags, archiving (archived: true/false), and favoriting (favorited: true/false).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Note ID | |
| body | No | New body content (Markdown with [[id:Note Title]] wiki-links) | |
| title | No | New title | |
| summary | No | New summary | |
| archived | No | Archive (true) or unarchive (false) the note. Personal notes only. | |
| tag_list | No | New comma-separated tag list | |
| favorited | No | Favorite (true) or unfavorite (false) the note. Personal and team notes. | |
| source_url | No | New source URL | |
| container_id | No | Move to this container |
searchInspect
Unified search across notes, containers, and tags. Returns results grouped by type. Use the types parameter to search only specific types (e.g., types: ['notes'] for note-only search). Supports full-text search with snippets, all note filters (container, tags, include_nested, search_scope), and archived note search via scope parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter note results to notes with ALL these tags (by name) | |
| query | Yes | Search query string | |
| scope | No | Search active or archived notes (default: active) | |
| types | No | Which types to search. Defaults to all three: ['notes', 'containers', 'tags'] | |
| tag_ids | No | Filter note results to notes with ALL these tags (by ID) | |
| container_id | No | Filter note results to this container (ignored when search_scope is 'all') | |
| search_scope | No | Search scope: 'all' (default, personal + all teams), 'personal' (personal notes only), or 'team:<id>' (specific team). Applies to note results. | |
| include_nested | No | Include notes from sub-containers when container_id is set (default: false) |
tags-createInspect
Create a new tag.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tag name |
tags-listInspect
List all tags.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number | |
| per_page | No | Results per page |
teams-getInspect
Get team details including recent notes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Team ID |
teams-listInspect
List all teams the user is a member of.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Verify Ownership
This connector has been claimed. The /.well-known/glama.json file has been verified and ownership is confirmed.
Glama periodically re-verifies ownership. If the file is removed, the claim will be revoked.
Control your server's listing on Glama, including description and metadata
Receive usage reports showing how your server is being used
Get monitoring and health status updates for your server
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.