Skip to main content
Glama
bubua12

memos-mcp-server

by bubua12

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TZNoProcess timezone used for interpreting dates, e.g. Asia/Shanghai.
MEMOS_URLYesThe URL of the Memos instance, e.g. https://memos.example.com (trailing /api/v1 is ignored).
MEMOS_TOKENNoPersonal access token. Prefer the environment variable over the CLI argument.
MEMOS_MCP_HOSTNoHTTP listen host, default 127.0.0.1.
MEMOS_MCP_PORTNoHTTP listen port, default 8787.
MEMOS_READ_ONLYNoWhen true, only registers tools that do not modify Memos.
MEMOS_FILE_ROOTSNoComma-separated directory whitelist restricting local paths for upload/download/export.
MEMOS_TIMEOUT_MSNoRequest timeout in milliseconds, default 30000.
MEMOS_TOKEN_FILENoRead the personal access token from a file (useful for Docker secrets).
MEMOS_MCP_TRANSPORTNoTransport mode: stdio (default) or http.
MEMOS_DISABLED_TOOLSNoComma-separated list of tools to hide, e.g. delete_memo,delete_attachment.
MEMOS_DEFAULT_VISIBILITYNoDefault visibility for new memos; if unset, uses your Memos preference default.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_overviewA

Orientation in one call: who you are signed in as, the Memos instance and version, memo/task/tag statistics, recent activity, spaces you belong to, and saved views (with their filters). Call this first when you need context.

search_memosA

Find memos by keywords, tags, time range, pinned state, visibility, content properties, space or saved view, newest first. By default searches only your own active (non-archived) memos. Each result shows the memo id, time, visibility, tags and a one-line snippet; set full_content=true to get complete Markdown (useful for summarizing). Use next_page_token to page.

get_memoB

Read one memo in full: Markdown content, metadata (times, visibility, pinned, space, tags, open tasks), attachments, linked memos and comments.

create_memoA

Create a new memo from Markdown. Tags are written inline as #tag (or pass tags to append them). Task lists use "- [ ] item". Visibility defaults to your Memos preference (usually PRIVATE); memos placed in a space default to SPACE visibility. Local files in attachments are uploaded and attached.

update_memoA

Change memo properties — visibility, pinned, archived, space, creation time — and/or replace the ENTIRE content. For small text changes prefer edit_memo_content so the rest of the memo is not rewritten. Only the fields you pass are changed.

edit_memo_contentA

Make a targeted edit without resending the whole memo: append text at the end, prepend it at the start, or replace an exact snippet. append/prepend join with a single newline (start text with "\n" for a blank line). For replace, old_text must match exactly once unless replace_all=true.

delete_memoA

Permanently delete a memo. This cannot be undone. Prefer update_memo with archived=true unless the user explicitly asked to delete.

add_commentA

Add a comment to a memo. The comment gets the same visibility (and space) as the memo unless you set one.

link_memosA

Manage a memo's references to other memos (shown as linked memos in Memos). action=add keeps existing links, remove deletes the given ones, set replaces the whole list.

share_memoA

Create a secret share link that lets anyone with the URL read the memo without signing in. Optionally make it expire. Revoke links in the Memos web UI.

list_todosA

Collect task-list items ("- [ ] …") across your memos, grouped by memo, with each task's number for set_task_status. By default shows only open tasks from active memos; narrow with keywords, tags, time range or space.

set_task_statusA

Mark one task-list item in a memo as done or not done. Identify it by its number from list_todos/get_memo order (task_index) or by a unique piece of its text (task_text).

list_tagsA

List the tags used in your active memos with how many memos carry each. Parent tags count their children (#work includes #work/project).

rename_tagA

Rename a tag across all of your memos (active and archived) by rewriting "#old" to "#new" in their content; child tags follow (#old/x → #new/x). Code blocks and URLs are left alone, and each memo keeps its "updated" time. Runs as a preview unless dry_run=false — show the preview to the user first.

upload_attachmentA

Upload a local file (file_path), a web URL (url), or inline text as a Memos attachment, optionally attaching it to a memo. Returns the attachment name for use with create_memo.

list_attachmentsA

List attachments of one memo, or search all your attachments by file name, MIME type or unlinked status, newest first.

read_attachmentA

Open an attachment: images come back as viewable pictures (a ≤600px preview unless full_size=true), text files as text. To store the original file locally use download_attachment.

download_attachmentA

Save the original file of an attachment to a local path. Existing files are not overwritten unless overwrite=true.

delete_attachmentA

Permanently delete an attachment file (it disappears from its memo). Cannot be undone.

export_memosA

Back up memos to a local folder. format=markdown writes one .md file per memo (YAML front matter with id, times, tags, visibility; attachments downloaded next to it) and accepts the same filters as search_memos — handy for Obsidian or offline analysis. format=zip saves the official Memos export archive of ALL your memos (filters ignored), which Memos can import again.

Prompts

Interactive templates invoked by user choice

NameDescription
daily-reviewReview the memos written on one day: summary, open to-dos, follow-ups.
weekly-reportTurn one week of memos into a structured weekly report.
tidy-tagsFind duplicate, misspelled or inconsistent tags and propose a clean-up plan.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.9/5.0

Scored across 20 tools

Disambiguation4/5

Most tools target distinct resources and actions, and descriptions clarify boundaries (e.g., read_attachment vs download_attachment). The only real overlap is update_memo vs edit_memo_content, which both modify memo content, though the descriptions differentiate their intended use cases.

Naming Consistency5/5

All tool names use consistent snake_case and follow a verb_noun pattern (e.g., create_memo, list_tags, set_task_status). The pattern extends even to multi-word nouns like edit_memo_content and upload_attachment.

Tool Count4/5

20 tools is on the heavy side but each covers a distinct operation across memos, attachments, tags, tasks, comments, links, and sharing. The set feels comprehensive rather than redundant, though slightly over the ideal 3-15 range.

Completeness4/5

Core memo lifecycle (create, read, update, delete, search, edit, share, export) is well covered, along with attachments, tags, and tasks. Minor gaps exist—no tools for deleting or editing comments, revoking share links, or managing spaces/saved views—but these are either delegated to the web UI or less critical for agent workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues