Skip to main content
Glama

Server Details

Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.

Ownership verified
Status
Unhealthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP
URL
Repository
hjarni/hjarni-mcp
GitHub Stars
0
Server Listing
Hjarni MCP Server

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool update
    • Changednotes-update1 field changed
      • changedInput schema / properties / archived / description
        Previous value: -"Archive (true) or unarchive (false) the note. Personal notes only."New value: +"Archive (true) or unarchive (false) the note. Works on your own personal notes and on team notes where you have the editor role; notes in shared containers can only be archived by their owner."
  2. 1 tool update
    • Addednudges-dismiss
  3. 1 tool update
    • Addedteams-create
  4. 1 tool update
    • Addedteams-invite
  5. 3 tool updates
    • Changedcontainers-create2 fields changed
      • changedInput schema / properties / parent_id / description
        Previous value: -"Parent container ID for nesting. Must belong to the same scope (personal or team) as the new container."New value: +"Parent container ID for nesting, or null/omitted for a top-level container. Must belong to the same scope (personal or team) as the new container."
      • changedInput schema / properties / parent_id / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
    • Changedcontainers-update2 fields changed
      • changedInput schema / properties / parent_id / description
        Previous value: -"New parent container ID (null for root). Must belong to the same scope as the container."New value: +"New parent container ID, or null to move the container to root level. Must belong to the same scope as the container."
      • changedInput schema / properties / parent_id / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
    • Changednotes-update1 field changed
      • changedInput schema / properties / container_id / type
        Previous value: -"integer"New value: +[
        +  "integer",
        +  "null"
        +]
  6. 5 tool updates
    • Changednotes-delete1 field changed
      • changedInput schema / description
        Previous value: -"Permanently delete a note. This action cannot be undone."New value: +"Move a note to Trash (recoverable with notes-restore until its purge date)."
    • Addednotes-history
    • Changednotes-list2 fields changed
      • changedInput schema / properties / scope / description
        Previous value: -"Filter scope (default: active). 'inbox' and 'favorited' only for personal notes."New value: +"Filter scope (default: active). 'inbox' and 'favorited' only for personal notes; 'trashed' lists the recoverable Trash — restore an entry with notes-restore."
      • changedInput schema / properties / scope / enum
        Previous value: -[
        -  "active",
        -  "archived",
        -  "inbox",
        -  "favorited"
        -]New value: +[
        +  "active",
        +  "archived",
        +  "inbox",
        +  "favorited",
        +  "trashed"
        +]
    • Addednotes-restore
    • Addednotes-revert
  7. 5 tool updates
    • Changedcontainers-create1 field changed
      • addedInput schema / properties / negative_space
        Added value: +{
        +  "description": "What does NOT belong in this folder (e.g. 'No meeting notes, those go in Meetings'). Helps route notes away from the wrong place.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedcontainers-update1 field changed
      • addedInput schema / properties / negative_space
        Added value: +{
        +  "description": "What does NOT belong in this folder, or null to clear it.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changednotes-create1 field changed
      • addedInput schema / properties / review_after
        Added value: +{
        +  "description": "Optional ISO 8601 datetime after which the note should be treated as stale. Use for time-boxed notes (e.g. '2026-12-31').",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changednotes-list1 field changed
      • addedInput schema / properties / stale
        Added value: +{
        +  "description": "Filter to notes whose freshness is stale — past their review_after date or unverified beyond the freshness window (default: not filtered)",
        +  "type": "boolean"
        +}
    • Changednotes-update2 fields changed
      • addedInput schema / properties / review_after
        Added value: +{
        +  "description": "ISO 8601 datetime after which the note should be treated as stale (time-boxing), or null to clear it.",
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
      • addedInput schema / properties / verified
        Added value: +{
        +  "description": "Pass true to mark the note re-confirmed as still true as of now (the 'mark verified' affordance). Refreshes verified_at and clears 'stale' status. Only send after the user has confirmed the note is still accurate.",
        +  "type": "boolean"
        +}
  8. 1 tool update
    • Addedtags-manage
  9. 1 tool update
    • Changednotes-update1 field changed
      • changedInput schema / properties / container_id / description
        Previous value: -"Move to this container"New value: +"Folder (container) id to move the note into; pass null to move it to the inbox (remove it from its folder)"
  10. 1 tool update
    • Changednotes-update12 fields changed
      • changedInput schema / description
        Previous value: -"Update a note. Supports partial updates — only provided fields are changed. Body-mutation modes (body, append_body, insert_body, replace_find) are mutually exclusive."New value: +"Update a note. Supports partial updates — only provided fields are changed. The body-mutation modes (body, append_body, insert_body, replace_find, replace_section, append_to_section, rename_heading, check_item, uncheck_item) are mutually exclusive — supply at most one per call."
      • changedInput schema / properties / append_body / description
        Previous value: -"Content to append to the existing body. Mutually exclusive with body, insert_body, and replace_find."New value: +"Content to append to the existing body. Mutually exclusive with the other body-mutation modes."
      • addedInput schema / properties / append_to_section
        Added value: +{
        +  "description": "Heading to append content to (with or without leading '#'). Adds section_body at the END of that section — the safe way to 'insert under a heading'. Pair with section_body. Heading must match exactly one.",
        +  "type": "string"
        +}
      • changedInput schema / properties / body / description
        Previous value: -"New body content — full replacement. Mutually exclusive with append_body, insert_body, and replace_find. Pair with expected_lock_version for concurrent-edit safety."New value: +"New body content — full replacement. Mutually exclusive with the other body-mutation modes. Pair with expected_lock_version for concurrent-edit safety."
      • addedInput schema / properties / check_item
        Added value: +{
        +  "description": "Text of a checklist item to tick (set to '[x]'). Matched case- and whitespace-insensitively; a leading bullet/checkbox in the text is ignored. Must match exactly one item.",
        +  "type": "string"
        +}
      • changedInput schema / properties / insert_body / description
        Previous value: -"Text to insert. Must be paired with either insert_after or insert_before. Mutually exclusive with body, append_body, and replace_find."New value: +"Text to insert. Must be paired with either insert_after or insert_before. Mutually exclusive with the other body-mutation modes."
      • addedInput schema / properties / new_heading
        Added value: +{
        +  "description": "New heading text for rename_heading. The original level is preserved unless this carries its own leading '#' markers.",
        +  "type": "string"
        +}
      • addedInput schema / properties / rename_heading
        Added value: +{
        +  "description": "Heading to rename (with or without leading '#'). Pair with new_heading. Heading must match exactly one.",
        +  "type": "string"
        +}
      • changedInput schema / properties / replace_find / description
        Previous value: -"Snippet to find in the existing body. Must match exactly once. Mutually exclusive with body, append_body, and insert_body."New value: +"Snippet to find in the existing body. Must match exactly once. Mutually exclusive with the other body-mutation modes."
      • addedInput schema / properties / replace_section
        Added value: +{
        +  "description": "Heading whose section content should be replaced (with or without leading '#', e.g. '## Status' or 'Status'). Replaces everything under the heading up to the next same-or-higher-level heading, keeping the heading line. Pair with section_body. Heading must match exactly one.",
        +  "type": "string"
        +}
      • addedInput schema / properties / section_body
        Added value: +{
        +  "description": "The content for replace_section / append_to_section. Required when either is given.",
        +  "type": "string"
        +}
      • addedInput schema / properties / uncheck_item
        Added value: +{
        +  "description": "Text of a checklist item to untick (set to '[ ]'). Same matching rules as check_item.",
        +  "type": "string"
        +}
  11. 1 tool update
    • Changednotes-create1 field changed
      • changedInput schema / properties / summary / description
        Previous value: -"Short summary of the note"New value: +"A 2-3 sentence summary of the note. Always provide one."
  12. 1 tool update
    • Changednotes-update1 field changed
      • changedInput schema / properties / replace_with / description
        Previous value: -"Text to replace replace_find with. Use an empty string to delete the matched snippet."New value: +"Optional replacement for replace_find. Omit it (or pass an empty string) to delete the matched snippet."
  13. 1 tool update
    • Changedinstructions-get3 fields changed
      • addedInput schema / properties / level / default
        Added value: +"brain"
      • changedInput schema / properties / level / description
        Previous value: -"Instruction level: 'brain' (global), 'personal_root', 'container', or 'team' (required)"New value: +"Instruction level: 'brain' (global), 'personal_root', 'container', or 'team'. Defaults to 'brain' if omitted or blank."
      • changedInput schema / required
        Previous value: -[
        -  "level"
        -]New value: +[]
  14. 1 tool update
    • Changednotes-update2 fields changed
      • changedInput schema / properties / body / description
        Previous value: -"New body content — full replacement. Mutually exclusive with append_body, insert_body, and replace_find."New value: +"New body content — full replacement. Mutually exclusive with append_body, insert_body, and replace_find. Pair with expected_lock_version for concurrent-edit safety."
      • addedInput schema / properties / expected_lock_version
        Added value: +{
        +  "description": "Optional concurrent-edit guard. Pass the lock_version you saw when you last read the note; if it doesn't match the current version, the update is rejected and you should re-read and re-apply. Checked whenever supplied — covers title, summary, container_id, body, anything else. Surgical body edits without this param still work and remain anchor-safe; supply it any time you want a stale-write guard for the other fields too.",
        +  "type": "integer"
        +}
  15. 1 tool update
    • Addedme
  16. 1 tool update
    • Addedfeedback-submit

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first MCP server that gives AI assistants long-term memory by storing, searching, and recalling notes as Markdown files on your machine.
    14
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for managing a local, domain-agnostic knowledge base using Markdown notes with frontmatter. Enables AI agents to capture, read, search, link, and maintain notes with atomic writes and privacy controls.
    13
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.
    6
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., containers-create, notes-get, files-attach). There is no overlap or ambiguity; even similar operations like notes-list and search are clearly differentiated by scope and parameters.

Naming Consistency4/5

Most tools follow the noun-verb pattern (e.g., containers-create, notes-update, tags-list). Two tools ('search' and 'me') deviate from this pattern, which is a minor inconsistency but does not cause confusion.

Tool Count4/5

33 tools is on the higher end for a single server, but each tool serves a unique purpose within the note-taking domain (notes, containers, tags, files, teams, etc.). The count is justified by the system's complexity and remains manageable.

Completeness5/5

The tool surface covers CRUD and lifecycle operations for all major entities (notes, containers, tags, files, teams), plus search, dashboard, instructions, feedback, and user profile. There are no obvious gaps that would hinder typical workflows.