Skip to main content
Glama
yuzhi-jiang

memos-mcp

by yuzhi-jiang

Memos MCP Server

一个连接到 Memos 的 MCP 服务器。它把 Memos 的常用能力暴露为 MCP 资源、工具和提示词,方便在 Claude、Cherry Studio、Cursor 等支持 MCP 的客户端中直接读写备忘录。

功能概览

  • 浏览最近备忘录、全部备忘录、指定备忘录

  • 搜索和过滤备忘录

  • 创建、更新、删除备忘录

  • 删除备忘录中的标签

  • 在指定备忘录下创建评论

  • 通过管理员 API 获取所有用户列表

  • 提供周报总结、知识提取、内容改进等提示模板

Related MCP server: Memos MCP Server

新增功能

当前版本相对之前的变更重点:

  • 新增“为备忘录创建评论”工具

  • 新增“获取所有用户”资源和工具

  • 新增 MEMOS_ADMIN_API_KEY 配置项,用于调用管理员接口

运行方式

当前服务默认使用 stdio 传输方式启动,适合 Claude Code、Claude Desktop 等本地 MCP 客户端。

也支持通过环境变量切换到 streamable-http

MCP_TRANSPORT=streamable-http

streamable-http 模式默认监听:

  • Host: 0.0.0.0

  • Port: 3002

  • MCP endpoint: http://127.0.0.1:3002/mcp

环境要求

  • Python >=3.10

  • 一个可访问的 Memos 实例

  • 普通 API Key

  • 可选:管理员 API Key(当你需要读取所有用户时)

安装

方式一:直接运行已发布包

uvx memos-mcp

或:

pip install memos-mcp
memos-mcp

方式二:本地开发

git clone https://github.com/yuzhi-jiang/memos-mcp.git
cd memos-mcp
uv sync
uv run memos-mcp

配置

可以通过环境变量,或在项目目录下放置 .env 文件来配置:

MEMOS_URL=http://localhost:5230
MEMOS_API_KEY=your-memos-api-key
MEMOS_ADMIN_API_KEY=your-memos-admin-api-key
DEFAULT_TAG=mcp
MCP_TRANSPORT=stdio
MCP_HOST=0.0.0.0
MCP_PORT=3002
MCP_STREAMABLE_HTTP_PATH=/mcp

变量说明:

  • MEMOS_URL:Memos 服务地址,例如 http://localhost:5230

  • MEMOS_API_KEY:普通 API Key,必填

  • MEMOS_ADMIN_API_KEY:管理员 API Key,可选;只有在使用“获取所有用户”资源或工具时才需要

  • DEFAULT_TAG:创建备忘录时默认追加的标签,默认为 mcp

  • MCP_TRANSPORT:MCP 传输方式,默认 stdio,可选 streamable-http

  • MCP_HOST:HTTP 模式监听地址,默认 0.0.0.0

  • MCP_PORT:HTTP 模式监听端口,默认 3002

  • MCP_STREAMABLE_HTTP_PATH:HTTP 模式路径,默认 /mcp

示例文件见 .env.example

在 MCP 客户端中接入

Claude Code / Claude Desktop

推荐直接让客户端以 stdio 模式启动,不需要你手工先跑服务。

命令示例:

uv --directory /path/to/memos-mcp run memos-mcp

手工启动服务

先启动服务:

uv run memos-mcp

默认会以 stdio 模式运行。

如果你要测试 streamable-http 模式:

MCP_TRANSPORT=streamable-http uv run memos-mcp

然后在支持 HTTP MCP 的客户端中填入:

http://127.0.0.1:3002/mcp

可用资源

  • memos://recent:最近 10 条备忘录

  • memos://all:全部备忘录

  • memos://users:全部用户列表,需要 MEMOS_ADMIN_API_KEY

  • memos://memos/{memo_id}:按 ID 获取单条备忘录

memo_id 传参格式应为纯 ID,例如:

G3o72r9oijTWFxy9ueWzW7

而不是:

memos/G3o72r9oijTWFxy9ueWzW7

可用工具

备忘录查询

  • search_memos(query, filter_expr=None):按关键词或 CEL 表达式搜索

  • filter_memos(filter_expr):按 CEL 表达式过滤

备忘录写入与维护

  • create_memo(content, visibility="PRIVATE", tags=None):创建备忘录

  • update_memo(memo_id, content=None, visibility=None):更新备忘录

  • delete_memo(memo_id):删除备忘录

  • delete_memo_tag(memo_id, tag):删除指定标签

新增工具

  • create_memo_comment(memo_id, content, visibility="PRIVATE"):给指定备忘录创建评论

  • get_all_users_tools():获取所有用户列表,需要 MEMOS_ADMIN_API_KEY

提示模板

  • weekly-summary

  • knowledge-extraction

  • content-improvement

使用示例

搜索备忘录

search_memos(query="项目复盘")

用 CEL 过滤备忘录

filter_memos(filter_expr="createTime > timestamp('2026-01-01T00:00:00Z') && visibility == 'PRIVATE'")

创建带标签的备忘录

create_memo(
  content="完成 Memos MCP 发布说明",
  visibility="PRIVATE",
  tags=["release", "mcp"]
)

给备忘录添加评论

create_memo_comment(
  memo_id="G3o72r9oijTWFxy9ueWzW7",
  content="这条内容我已经复核完了",
  visibility="PRIVATE"
)

获取所有用户

get_all_users_tools()

开发说明

本地构建:

uv build

许可证

MIT

Available Tools

8 tools
create_memoB

创建新备忘录

Args: content: 备忘录内容 visibility: 可见性设置 (PRIVATE, PROTECTED, PUBLIC) tags: 标签列表,如果不提供则使用默认标签

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
contentYes
visibilityNoPRIVATE

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions visibility options (PRIVATE, PROTECTED, PUBLIC) but does not cover side effects, authorization needs, rate limits, or what happens with invalid input. The description is minimal.

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?

The description is extremely concise: one sentence for purpose and one line per argument. There is no fluff, and the structure is front-loaded. Every sentence adds value.

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

Completeness3/5

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

Given the tool's simplicity (3 params, 1 required) and presence of an output schema, the description provides the core functionality. However, it lacks context on error handling, return value details (though schema exists), and use cases. It is adequate but not comprehensive.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds basic meaning for each parameter: content, visibility (with enum-like values), and tags (with default). However, it lacks details on tag format or allowed character sets.

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

Purpose4/5

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

The description clearly states '创建新备忘录' (create a new memo), which is a specific verb and resource. It distinguishes from sibling tools like 'create_memo_comment' and 'update_memo', though it does not elaborate on what a memo is.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., 'filter_memos' or 'update_memo'). It lacks context for when not to use it or any prerequisites.

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

create_memo_commentB

在指定的备忘录下创建一个评论,提供内容和可见性设置

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
memo_idYes
visibilityNoPRIVATE

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'create a comment' without mentioning side effects, authorization, or error conditions. The minimal disclosure is insufficient for a write operation.

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?

The description is a single concise sentence that front-loads the main action and key settings, with no wasted words.

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

Completeness3/5

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

Given the low complexity and presence of an output schema, the description covers basic functionality but lacks detail on required parameters and valid visibility values, leaving gaps.

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

Parameters2/5

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

Schema coverage is 0%, yet the description only adds meaning for 'content' and 'visibility', omitting 'memo_id'. The description partially compensates but does not fully explain all parameters.

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?

The description clearly states the action (create a comment) and the specific resource (under a specified memo), distinguishing it from sibling tools like create_memo and update_memo.

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

Usage Guidelines3/5

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

The description implies the prerequisite of an existing memo but provides no explicit guidance on when to use this tool versus alternatives, making it adequate but not helpful for decision-making.

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

delete_memoA

删除备忘录

Args: memo_id: 要删除的备忘录ID 备忘录ID 格式是{G3o72r9oijTWFxy9ueWzW7} 而不是{memos/G3o72r9oijTWFxy9ueWzW7}

ParametersJSON Schema
NameRequiredDescriptionDefault
memo_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations; description only mentions deletion and ID format but lacks details on permanence, cascading effects, or error states.

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 and an args block; every piece of information is essential and front-loaded.

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 simple delete tool with output schema, the ID format warning ensures correct use; but missing info on side effects like deleting comments.

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 has 0% coverage; description adds meaning and correct format for memo_id, which is critical for correct invocation.

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?

Description clearly states 'Delete memo' and the ID format guidance distinguishes it from siblings like create_memo or update_memo.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or exclusion conditions provided.

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

delete_memo_tagA

从备忘录中删除标签

Args: memo_id: 备忘录ID 格式是{G3o72r9oijTWFxy9ueWzW7} 而不是{memos/G3o72r9oijTWFxy9ueWzW7} tag: 要删除的标签名称(不包含#符号)

ParametersJSON Schema
NameRequiredDescriptionDefault
tagYes
memo_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but discloses only basic operation. It does not state if the action is irreversible, what happens if the tag or memo does not exist, or any side effects. Format hints are helpful but insufficient.

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 short lines of description plus two parameter explanations. Every piece is essential and front-loaded. No wasted words.

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 simple two-parameter tool with an output schema, the description covers the core operation and parameter constraints. It lacks detail on error handling or idempotency, but is reasonably complete for its complexity.

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 0%, so description must add meaning. It does so by specifying the exact format for memo_id (curly braces without 'memos/' prefix) and noting that the tag parameter should not include '#' symbol. This adds significant value beyond the plain schema types.

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?

The description clearly states the verb and resource: 'delete tag from memo'. It distinguishes from siblings like delete_memo (which deletes the entire memo) and update_memo (which modifies the memo). The format guidance for memo_id adds specificity.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The description implies usage for deleting a tag from a memo but does not mention prerequisites, error conditions, or alternative tools. However, the sibling list is provided externally.

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

filter_memosA

使用 CEL 表达式过滤备忘录

Args: filter_expr: CEL 表达式过滤器,例如 "content.contains('关键词')" 或 "createTime > timestamp('2023-01-01T00:00:00Z')"

ParametersJSON Schema
NameRequiredDescriptionDefault
filter_exprYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only mentions the filtering syntax and gives examples, but does not state that the operation is read-only, describe the return format, or discuss any side effects, permissions, or rate limits.

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?

The description is extremely concise: one sentence plus a parameter explanation. It is front-loaded with the purpose and provides immediate examples. No waste.

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

Completeness3/5

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

The description covers the essentials for using the tool, including the filter expression syntax. However, it lacks context about how this tool compares to search_memos, and whether it returns a list of memos or something else. The output schema exists but the description does not reference it.

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?

Since schema description coverage is 0%, the description adds value by explaining the parameter with examples of valid CEL expressions. However, it could be more comprehensive, e.g., explaining that CEL supports logical operators or the exact syntax expected.

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?

The description clearly states the tool's purpose: filtering memos using CEL expressions. It specifies the verb (filter), resource (memos), and method (CEL expression), which distinguishes it from other tools like search_memos.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as search_memos. It does not explain the difference between CEL-based filtering and other search methods, nor does it mention any prerequisites or context.

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

get_all_users_toolsB

获取所有用户

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden but only states the basic action, omitting any behavioral traits such as authentication, rate limits, or pagination.

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

Conciseness3/5

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

Extremely concise (one phrase), but lacks sentence structure or any elaboration; appropriate for a simple tool but could be more structured.

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

Completeness3/5

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

Given zero parameters and an output schema, the description is minimally adequate but does not cover behavioral context; somewhat complete for a simple list tool.

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?

No parameters exist, and schema coverage is 100%; baseline is 4 as the description adds no semantic value beyond the schema.

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?

The description '获取所有用户' (Get all users) clearly states a specific verb and resource, distinguishing it from sibling tools which are memo-focused.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; while siblings are distinct, explicit when-to-use or when-not-to-use information is missing.

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

search_memosC

搜索备忘录

Args: query: 搜索关键词 filter_expr: CEL 表达式过滤器,例如 "content.contains('关键词')"

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
filter_exprNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic parameters and a CEL filter example. It lacks disclosure of search behavior (e.g., exact vs fuzzy match), pagination, sorting, or any side effects.

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

Conciseness4/5

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

The description is very short and front-loaded with the purpose and parameters. While concise, it could benefit from slight restructuring or additional context. No fluff.

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

Completeness2/5

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

Given an output schema exists (not shown), return values are not needed. However, the description does not address differentiation from sibling 'filter_memos' or explain search nuances. Incomplete for a search tool with two optional params.

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

Parameters3/5

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

Schema coverage is 0%, so the description adds meaning by explaining 'query' as search keyword and 'filter_expr' as CEL expression with an example. This is adequate but minimal, earning a 3.

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

Purpose4/5

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

The Chinese description clearly states the tool searches memos and lists two parameters. However, it does not distinguish it from the sibling tool 'filter_memos', which likely has similar functionality. A score of 4 reflects clarity without sibling differentiation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives like 'filter_memos'. There is no context on prerequisites, when not to use, or preferred use cases.

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

update_memoB

更新备忘录

Args: memo_id: 备忘录ID 格式是{G3o72r9oijTWFxy9ueWzW7} 而不是{memos/G3o72r9oijTWFxy9ueWzW7} content: 新的备忘录内容 visibility: 新的可见性设置 (PRIVATE, PROTECTED, PUBLIC)

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNo
memo_idYes
visibilityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose side effects, required permissions, or behavior (e.g., whether it overwrites fields or merges). It only provides parameter format details.

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

Conciseness4/5

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

The description is concise, with a clear header and list of parameters. It avoids unnecessary text, though it could be slightly more structured (e.g., bullet points).

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

Completeness3/5

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

The description covers the basic purpose and parameters, but lacks usage context and behavioral details. With an output schema present, return value explanation is less critical, but the description still feels incomplete for a mutation tool.

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 description coverage is 0%, so the description adds value: it specifies memo_id format (e.g., 'G3o72r9oijTWFxy9ueWzW7' not the full path) and lists visibility options (PRIVATE, PROTECTED, PUBLIC). For content, it merely states 'new content', but overall it provides meaningful parameter context.

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

Purpose4/5

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

The description states '更新备忘录' (update memo), which clearly indicates it updates an existing memo. It distinguishes from sibling tools like create_memo, delete_memo, etc., by being the only tool with an update verb. However, it does not explicitly contrast with siblings.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., create_memo for new memos). The description only lists parameters without usage context.

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

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct action or resource: memo CRUD, comments, tags, search/filter, and user listing. No overlapping purposes.

Naming Consistency4/5

Mostly follows verb_noun pattern (e.g., create_memo, delete_memo). 'get_all_users_tools' is slightly inconsistent (uses 'get' vs. other verbs) but all are snake_case and clear.

Tool Count5/5

8 tools is well-scoped for a memo application covering creation, deletion, updating, searching, filtering, comments, tags, and user listing.

Completeness4/5

Core memo CRUD covered, plus comments and tags. Missing explicit get_memo by ID and create/update/delete for comments and tag creation, but search/filter compensates.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to interact with Memos instances for personal note-taking and knowledge management. Supports creating, searching, updating, and organizing memos with tags, dates, and visibility settings through natural language.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables to interact with Memos note-taking service, allowing search, creation, retrieval, and updating of notes through natural language.
    4
    15
    4

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yuzhi-jiang/memos-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server