Skip to main content
Glama
bubua12

memos-mcp-server

by bubua12

Export memos

export_memos

Back up Memos notes to a local folder as Markdown files or a ZIP archive. Filter by tags, dates, or content for offline use or re-import.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toNoInclusive upper time bound, same formats as `from` ("2026-09-30" includes that whole day)
hasNoContent properties that must be present: task_list, incomplete_tasks, link, code, location
fromNoInclusive lower time bound: "2026-09-01", "2026-09", "today", "this week", "last month", "7d", "24h", or an ISO timestamp
tagsNoTags without "#". A parent tag also matches its children ("work" matches #work/project).
viewNoTitle or id of a saved Memos view; its filter is applied too (see get_overview)
queryNoKeywords that must all appear in the content (case-insensitive). Wrap phrases in double quotes.
spaceNoSpace title or id; "none" for memos outside any space. Omit for all.
filterNoAdvanced: raw Memos CEL filter ANDed with the rest. Fields: content, creator, created_ts, updated_ts, pinned, visibility, space, tags, has_task_list, has_link, has_code, has_incomplete_tasks, has_location. Example: `content.matches("^TODO") || size(tags) == 0`
formatNomarkdown
pinnedNoOnly pinned (true) or unpinned (false) memos
tag_modeNoRequire all listed tags (default) or any of themall
output_dirYesLocal folder; a timestamped sub-folder or file is created inside it
time_fieldNoWhether from/to apply to the creation or last-update timecreated
visibilityNo
include_archivedNo
include_attachmentsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses behavior well beyond the annotations: one .md file per memo, YAML front matter contents (id, times, tags, visibility), attachments downloaded alongside, a timestamped sub-folder created in output_dir, and the critical gotcha that zip ignores filters and is re-importable. The annotations only say it is not read-only, not destructive, not idempotent, so the description is doing real work here. It could still mention whether the destination is overwritten on repeat runs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with the core action and then the format split. Every clause (Obsidian use case, front matter fields, attachment handling, filter behavior) carries information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 16-parameter, no-output-schema tool this covers the essential decisions: which format, what gets written, and how filters interact with each format. The remaining gap is the return value — the exact resulting path or manifest is not stated, so the agent must infer how to locate the produced files.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, and the description adds genuine meaning for the parameters that lack schema text: it gives format semantics (markdown vs zip), notes that filters are ignored in zip mode, and states the filters match search_memos. It does not annotate individual filter params, leaving that to the schema, but the format/output_dir semantics are clarified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Back up memos to a local folder') and then splits the behavior by the two export modes, which makes it immediately distinguishable from search_memos and download_attachment. An agent can tell what this does and how the output differs by format without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes usage: format=markdown is recommended for Obsidian or offline analysis and shares filters with search_memos, while format=zip produces the official Memos archive for re-import and ignores filters. The when-to-use for each mode, plus the sibling that handles filtered queries, is named directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.