Skip to main content
Glama
CopeeeTang

rednote-mind-mcp

by CopeeeTang

Rednote-Mind-Skills

让 AI 成为你的知识管理助手:本地代码库 + 社交媒体热点追踪

npm version License: MIT Node Version


这是什么?

Rednote-Mind-Skills 是一套 Claude Code Skills + MCP 工具的组合,帮助你:

功能

描述

本地知识库

管理 ~/github 下的仓库,AI 主动查询解决问题 (DeepWiki 风格)

小红书研究

搜索笔记、分析收藏夹、提取图片文字

Twitter/X 抓取

获取推文完整内容

热点发现

多源搜索发现新仓库并自动 clone

架构

┌─────────────────────────────────────────────────────────┐
│                    Claude Code                          │
├─────────────────────────────────────────────────────────┤
│  /github-kb skill                                       │
│  ├── search     → 搜索本地知识库                         │
│  ├── update     → 同步仓库索引                           │
│  ├── discover   → 多源发现新仓库                         │
│  ├── xiaohongshu → 小红书搜索                            │
│  └── twitter    → 推文抓取                               │
├─────────────────────────────────────────────────────────┤
│  MCP 工具层                                              │
│  ├── rednote-mind-mcp  → 小红书 7 个工具                 │
│  ├── tavily            → Web 搜索                       │
│  └── gh CLI            → GitHub 操作                    │
└─────────────────────────────────────────────────────────┘

Related MCP server: RedNote MCP

快速开始 (5 分钟)

1. 安装 MCP 工具

# 安装小红书 MCP
npm install -g rednote-mind-mcp

# 首次登录小红书(扫码)
rednote-init

2. 配置 MCP 服务器

编辑 ~/.claude.json(或 Claude Desktop 配置):

{
  "mcpServers": {
    "rednote": {
      "command": "npx",
      "args": ["-y", "rednote-mind-mcp"]
    },
    "tavily": {
      "command": "npx",
      "args": ["-y", "@tavily/mcp"],
      "env": {
        "TAVILY_API_KEY": "your_key"
      }
    }
  }
}

3. 安装 Skill

# 克隆仓库
git clone https://github.com/CopeeeTang/rednote-mind-skills.git

# 复制 skill 到 Claude Code skills 目录
cp -r rednote-mind-skills/skills/github-kb ~/.claude/skills/

4. 设置环境变量

# 添加到 ~/.zshrc 或 ~/.bashrc
export JINA_API_KEY="your_jina_key"          # Twitter 抓取(必需)
export ZZZ_API_KEY="your_zzz_key"            # VLM 图片分析(可选,推荐)
export ZHIPU_API_KEY="your_zhipu_key"        # VLM 备选(有内置测试 Key)

5. 初始化知识库

mkdir -p ~/github

Skill 使用指南

/github-kb search <keyword>

搜索本地知识库中的仓库。

/github-kb search MCP
→ 匹配: mcp-servers, rednote-mind-mcp
→ 是否查看详情?

/github-kb update

同步本地仓库到索引。

/github-kb update
→ 扫描 ~/github 下 15 个仓库
→ 新增: 2, 更新: 1, 删除: 0
→ 确认更新索引?

/github-kb discover <topic>

多源发现并 clone 新仓库。

/github-kb discover Claude MCP tools
→ 搜索小红书、Twitter、Tavily...
→ 发现 5 个相关仓库:
  1. anthropics/claude-code (⭐ 12.3k)
  2. modelcontextprotocol/servers (⭐ 8.1k)
  ...
→ 选择要 clone 的仓库

/github-kb xiaohongshu <keyword>

直接搜索小红书笔记。

/github-kb xiaohongshu Python 数据分析
→ 找到 10 条笔记
→ 是否分析收藏夹中的相关内容?

/github-kb twitter <url>

抓取推文内容。

/github-kb twitter https://x.com/karpathy/status/123456
→ [Andrej Karpathy]
→ This is the tweet content...

DeepWiki 模式

AI 主动查询本地知识库:当你问技术问题时,AI 会先检查本地仓库是否有答案。

你: 如何在 Python 中使用 MCP 工具?

AI: [检查本地知识库...]
    找到相关仓库: ~/github/mcp-python-sdk
    [读取 README.md 和 examples/]

    根据你本地的 mcp-python-sdk 仓库,使用方法如下:

    from mcp import Client
    client = Client()
    ...

触发条件

  • "How does X work?"

  • "Show me an example of X"

  • "What's the best practice for X?"


MCP 工具详情

小红书 MCP (rednote-mind-mcp)

7 个工具,完整文档见 skills/github-kb/references/xiaohongshu.md

工具

功能

check_login_status

检查登录状态

login

扫码登录

search_notes_by_keyword

关键词搜索

get_favorites_list

获取收藏夹

get_note_content

获取笔记内容

get_batch_notes_from_favorites

批量获取收藏

download_note_images

下载图片

图片处理模式

模式

说明

适用场景

original

返回压缩后的 Base64 图片

需要查看原图

vlm

VLM 分析,返回文字描述

OCR、理解图片内容

VLM 提供商优先级

  1. 智增增 (ZZZ_API_KEY) - 推荐,成本低

  2. Jina (JINA_API_KEY) - 备选

  3. 智谱 GLM-4V (ZHIPU_API_KEY) - 有内置测试 Key

Twitter/X 抓取

使用 Jina.ai Reader API,需要 JINA_API_KEY

免费获取:https://jina.ai/


使用示例

示例 1:整理收藏夹中的 AI 论文

请分析我小红书收藏夹中最近 15 篇 AI 论文笔记,
提取论文标题、核心观点、关键图表,生成表格。

示例 2:发现热门开源项目

/github-kb discover LLM fine-tuning
→ 搜索多个来源...
→ 推荐仓库列表
→ Clone 到本地知识库

示例 3:技术问题查询

你: 如何配置 MCP 服务器?

AI: [检查本地知识库]
    找到: ~/github/modelcontextprotocol-servers
    根据本地文档,配置方法如下...

示例 4:VLM 分析图片

获取笔记 https://www.xiaohongshu.com/explore/xxx?xsec_token=...,
使用 VLM 模式分析图片中的文字和公式。

配置参考

环境变量

变量

必需

说明

JINA_API_KEY

Twitter 功能

Jina.ai 免费获取

ZZZ_API_KEY

可选

智增增 VLM API

ZHIPU_API_KEY

可选

智谱 GLM-4V API

TAVILY_API_KEY

discover 功能

Tavily 搜索 API

数据存储

数据

路径

知识库目录

~/github/ (可配置)

知识库索引

~/github/CLAUDE.md

小红书 Cookies

~/.mcp/rednote/cookies.json

下载的图片

~/.mcp/rednote/images/

自定义知识库路径

在项目的 CLAUDE.md 中添加:

KB_PATH: /your/custom/path

故障排除

小红书登录过期

rm ~/.mcp/rednote/cookies.json
rednote-init

Twitter 抓取失败

# 检查 API Key
echo $JINA_API_KEY

# 测试 API
curl -s "https://r.jina.ai/https://x.com" -H "Authorization: Bearer $JINA_API_KEY" | head -20

VLM 分析不工作

  • 检查 ZZZ_API_KEYZHIPU_API_KEY 是否设置

  • 智谱有内置测试 Key,应该开箱即用

Skill 未加载

# 确认 skill 目录存在
ls ~/.claude/skills/github-kb/

# 检查 SKILL.md 格式
cat ~/.claude/skills/github-kb/SKILL.md

项目结构

rednote-mind-skills/
├── README.md                    # 本文件
├── skills/
│   └── github-kb/               # Claude Code Skill
│       ├── SKILL.md             # Skill 定义
│       ├── references/
│       │   ├── xiaohongshu.md   # 小红书工具文档
│       │   ├── twitter.md       # Twitter 工具文档
│       │   └── setup.md         # 配置指南
│       └── scripts/
│           ├── fetch_tweet.py   # 推文抓取脚本
│           └── fetch_tweets.sh  # 批量抓取脚本
├── src/                         # MCP 服务器源码
├── package.json                 # npm 包 (rednote-mind-mcp)
└── ...

贡献

欢迎提交 Issue 和 Pull Request!

基于 RedNote-MCP 开发,感谢原作者 @iFurySt


License

MIT License - 详见 LICENSE


GitHub: https://github.com/CopeeeTang/rednote-mind-skills

npm: rednote-mind-mcp


立即开始

npm install -g rednote-mind-mcp && rednote-init

Available Tools

7 tools
check_login_statusA

检查小红书登录状态。返回是否已登录以及相关消息。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose that the tool returns a boolean and message, which is a behavioral trait. However, it does not mention whether it makes a network call, has side effects, or requires authentication. For a simple check tool, the stated behavior is adequate but 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, with one sentence covering purpose and return value. It is front-loaded and contains no filler.

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?

Given the tool's simplicity (no parameters, no output schema), the description sufficiently covers the essential functionality: checking login status and returning state plus message. It does not explain edge cases like session expiration, but for a basic check tool, this is fairly complete.

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?

The tool has zero parameters, and the schema shows no properties. The baseline for 0 params is 4, and the description adds no parameter semantics because none are needed.

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 'check' and the resource 'login status', and specifies the return value: whether logged in and a message. This distinguishes it from the sibling tool 'login', which performs an action rather than checking state.

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 that this is used to verify login status, but does not explicitly state when to use it relative to 'login' or other operations. There is no mention of alternatives or exclusions, so usage context is implied but not spelled out.

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

download_note_imagesA

下载笔记的所有图片并保存到本地 ~/.mcp/rednote/images/{noteId}/ 目录,返回文件路径列表。包括轮播图中的所有图片。图片会自动压缩以节省存储空间。重要:必须使用从 get_favorites_list 或 search_notes_by_keyword 返回的带 xsec_token 参数的完整 URL,否则可能访问失败。

ParametersJSON Schema
NameRequiredDescriptionDefault
noteUrlYes笔记 URL(必须是从收藏夹或搜索结果中获取的带 xsec_token 参数的完整 URL)
imageQualityNo图片压缩质量 50-95(默认 75)
maxImageSizeNo图片最大尺寸(像素,默认 1920)
compressImagesNo是否压缩图片(默认 true)

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are provided, the description carries full responsibility for behavioral disclosure. It specifies the local save path, automatic compression, inclusion of carousel images, and a critical access requirement (xsec_token). While it doesn't touch on authentication or error handling, the '重要' warning adds valuable context beyond what the schema alone offers.

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 concise and well-structured: it states the primary action first, then the scope, compression, and an important prerequisite. Each sentence contributes necessary detail without redundancy or fluff, making it easy to parse quickly.

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?

Given the absence of an output schema and annotations, the description covers the return value (file path list), side effects (local save, compression), and critical input constraints. It lacks edge-case behaviors such as failure modes or authentication requirements, but for a straightforward download tool, it provides sufficient contextual coverage.

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?

The schema provides complete descriptions for all four parameters, giving 100% coverage, so the baseline is 3. The description's only parameter-related remark—the need for xsec_token—mirrors the schema's own noteUrl description, adding no new information beyond what is already structured.

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 downloads all images of a note, saves them to a specific local directory, and returns a list of file paths. This is a specific verb+resource+outcome that distinguishes it from sibling tools which handle searches, favorites, and content retrieval. The additional note about including carousel images further clarifies the exact scope.

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

Usage Guidelines4/5

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

The description provides a clear prerequisite: noteUrl must be a full URL with an xsec_token parameter sourced from get_favorites_list or search_notes_by_keyword. This tells the agent when and how the tool should be used, though it does not explicitly mention when not to use it or name alternative tools.

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

get_batch_notes_from_favoritesA

从当前用户收藏夹批量获取笔记的完整内容(包含文本和图片)。此工具会自动调用 get_favorites_list 获取收藏列表,然后对每条笔记调用 get_note_content 获取详细内容。所有URL会自动包含 xsec_token 参数。适用于批量分析收藏的笔记。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo获取的笔记数量(默认 10,建议不超过 20 以避免超时)
includeImagesNo是否包含图片(默认 true)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses automatic calls to sibling tools and that all URLs include xsec_token. It does not mention failure handling, rate limits, or that it is a read-only operation, but the provided context adds meaningful value beyond what schema gives.

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?

Three sentences, front-loaded with the main purpose, followed by the internal mechanism and a usage note. Every sentence earns its place; no redundancy or filler.

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 composite tool with 2 params and no output schema, the description explains its internal calls and token handling, which is essential. It lacks detail on result structure or partial failure behavior, but overall it is reasonably complete given the tool's complexity.

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 covers both parameters with descriptions (100% coverage), so the description adds little new param info. The note about avoiding timeouts is already in the schema's limit description. The description's mention of xsec_token is behavioral, not param-specific.

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 batches full note content (text and images) from the current user's favorites. It distinguishes itself from sibling tools by explicitly mentioning it internally calls get_favorites_list and get_note_content, making its composite nature obvious.

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

Usage Guidelines4/5

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

Provides a clear use case ('适用于批量分析收藏的笔记') and explicitly describes the internal workflow. It does not explicitly state when NOT to use it or how it compares to using the sibling tools directly, but the context is sufficient for most agents.

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

get_favorites_listA

从当前登录用户的收藏夹获取笔记列表。返回笔记的基本信息(标题、URL、封面等),但不包含详细内容和图片。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回的笔记数量(默认 20,最大 50)

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It adds auth context ('当前登录用户') and return limitations ('不包含详细内容和图片'), which are useful behavioral disclosures. It does not mention rate limits or error handling, but for a simple read tool these are not critical.

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 two sentences, front-loads the main purpose, and includes key limitations without unnecessary detail. Every sentence earns its place, making it appropriately concise and well-structured.

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 one-parameter list tool, the description covers purpose, scope, and return content exclusions. It does not explain pagination or error behavior, but these are not essential given the tool's low complexity and the presence of sibling tools for more specific needs.

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?

The schema description coverage is 100% (single parameter limit with description, default, min, max). The tool description adds nothing beyond the schema, but per the baseline rule for high schema coverage, a score of 3 is appropriate.

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 it retrieves the note list from the current logged-in user's favorites, with a specific verb ('获取') and resource ('收藏夹'). It distinguishes from sibling tools like get_batch_notes_from_favorites and download_note_images by specifying the scope and return content.

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

Usage Guidelines4/5

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

The description provides clear context for when to use the tool (getting a list of favorites) and explicitly states it does not include detailed content or images, which implies other tools should be used for those needs. However, it does not name the alternatives explicitly.

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

get_note_contentA

获取笔记的完整内容。可选择是否包含图片和详细数据(标签、点赞、收藏、评论)。图片处理模式:original 返回压缩后的原始图片(Base64),vlm 使用 VLM 分析图片并返回文字描述(支持智增增 ZZZ_API_KEY、Jina JINA_API_KEY 或智谱 ZHIPU_API_KEY,按此优先级选择)。重要:必须使用从 get_favorites_list 或 search_notes_by_keyword 返回的带 xsec_token 参数的完整 URL,否则可能访问失败。

ParametersJSON Schema
NameRequiredDescriptionDefault
noteUrlYes笔记 URL(必须是从收藏夹或搜索结果中获取的带 xsec_token 参数的完整 URL,如:https://www.xiaohongshu.com/explore/xxx?xsec_token=...)
imageModeNo图片处理模式:original=返回原始图片Base64(默认),vlm=使用VLM分析并返回文字描述(支持智增增或智谱API)original
includeDataNo是否包含详细数据(标签、点赞、收藏、评论数,默认 true)
imageQualityNo图片压缩质量 50-95(默认 65,值越高质量越好但体积越大)
maxImageSizeNo图片最大尺寸(像素,默认 1600)
includeImagesNo是否包含图片(默认 true)
compressImagesNo是否压缩图片以节省传输体积(默认 true,强烈推荐)

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose important behaviors: the vlm mode relies on external VLM APIs and lists supported providers and priority order, and it warns about potential failure without proper URL tokens. It also reveals image compression behavior. It does not mention rate limits or authentication requirements, but for the given information it is reasonably transparent.

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 compact and front-loads the main purpose in the first sentence. It efficiently packs essential usage caveats (URL token requirement, image modes, API key options) into two dense sentences without unnecessary filler. Every clause contributes valuable information.

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 tool with 7 parameters, no output schema, and no annotations, the description covers the critical prerequisites (URL token), mode-specific behavior (original vs vlm), and mentions return formats (Base64, text description). It does not describe the full return structure or error conditions, but given the complexity, it provides enough context to invoke the tool safely and effectively.

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?

The input schema already has 100% coverage with descriptions for all 7 parameters, giving a baseline of 3. The description adds extra value by explaining the difference between original and vlm modes, the API key priority, and the critical noteUrl requirement. This goes beyond the schema's per-parameter descriptions and enhances the agent's understanding of how to use the parameters effectively.

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 opens with a clear verb+resource: '获取笔记的完整内容' (get the full content of a note), which precisely states the tool's function. It differentiates from sibling tools like download_note_images and get_batch_notes_from_favorites by focusing on single-note content retrieval with optional components.

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

Usage Guidelines4/5

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

Usage context is well explained: it mandates using URLs with xsec_token from get_favorites_list or search_notes_by_keyword, explicitly warning that otherwise access may fail. It also clarifies when to choose 'original' vs 'vlm' image modes. However, it does not explicitly contrast with sibling tools (e.g., when to use get_batch_notes_from_favorites instead), though the purpose distinction is fairly clear.

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

loginA

登录小红书。会打开浏览器窗口引导用户扫码或密码登录,登录成功后会自动保存cookies供后续使用。

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoutNo等待用户完成登录的超时时间(毫秒),默认60秒

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses key behaviors: opening a browser, guiding user interaction, and automatically saving cookies. It does not cover failure modes or implications of repeated logins, but the disclosed traits are informative and accurate.

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 two sentences, front-loaded with the explicit purpose, and every clause adds value (interaction method, cookie persistence). No unnecessary words or repetition.

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 login tool with one parameter and no output schema, the description covers the core flow and side effect (cookie saving). It could mention what happens if already logged in or how to verify success, but the provided information is sufficient for basic use.

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 100% for the single parameter (timeout) with a detailed description in the schema. The tool description adds no extra parameter context, but the schema already fully explains the parameter, reaching the baseline of 3.

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 (login) and the resource (小红书/Xiaohongshu), and further specifies the interaction mode (browser window, QR/password) and outcome (saving cookies). This differentiates it from siblings like check_login_status, which only checks state.

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 this is a prerequisite for other tools by mentioning cookies for later use, but it does not explicitly state when to use it or contrast it with check_login_status. The usage context is implied rather than explicit.

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

search_notes_by_keywordA

按关键词搜索小红书笔记。返回搜索结果列表(包含标题、URL、封面、作者)。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo返回结果数量(默认 10,最大 50)
keywordYes搜索关键词
sortTypeNo排序方式:general(综合,默认)、popular(最热)、latest(最新)general

TDQS

A3.5/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 like authentication needs or side effects. It only mentions the return format, without stating whether login is required, the read-only nature, or any rate limits. The description carries the full burden and falls short.

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 sentence that states the purpose and output, with no unnecessary words. It is front-loaded and efficient.

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?

With no output schema, the description explains the return list fields, which is necessary. However, it lacks contextual details such as authentication requirements or behavior when no results are found. It is minimally complete but could be more helpful.

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 100% with descriptions for all parameters, so the baseline is 3. The description does not add any additional meaning beyond what the schema already provides; it only repeats 'search by keyword'.

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 'Search Xiaohongshu notes by keyword' with a specific verb and resource. It also lists the return fields, distinguishing it from sibling tools like get_favorites_list or download_note_images.

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?

Usage is implied by the name and description: use it when you need to search notes by keyword. However, it does not explicitly mention alternatives or when not to use it, nor does it provide context that search results can lead to further actions like get_note_content.

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

Tool Schema Changelog

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

  1. 7 tool updatesv0.3.0
    • First observedcheck_login_status
    • First observeddownload_note_images
    • First observedget_batch_notes_from_favorites
    • First observedget_favorites_list
    • First observedget_note_content
    • First observedlogin
    • First observedsearch_notes_by_keyword

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: login/check status, search, list favorites, get note content, batch get favorites content, download images. The composite batch tool is explicitly documented as a convenience wrapper, so no ambiguity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., get_favorites_list, download_note_images, check_login_status). 'login' is a simple verb, but it is a common exception and does not break the overall consistency.

Tool Count5/5

Seven tools cover the core operations of searching, reading favorites, retrieving note content, downloading images, and authentication without unnecessary bloat. The count is well within the ideal 3-15 range for a focused server.

Completeness5/5

The tool set provides a complete lifecycle for the domain: login to access, search to discover, list favorites, fetch full content, batch-process favorites, and download images. There are no obvious dead ends or missing operations needed for the stated purpose.

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
    B
    quality
    F
    maintenance
    Enables users to search and retrieve content from Xiaohongshu (Red Book) platform with smart search capabilities and rich data extraction including note content, author information, and images.
    1
    103
    28
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching and accessing Xiaohongshu (RedNote) content via natural language, with cookie-based authentication for note retrieval and keyword search.
    103
    1,103
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to search real content from Xiaohongshu and Zhihu, supporting keyword search, note details, and question retrieval.
    8
    4
    MIT

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/CopeeeTang/rednote-mind-skills'

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