Temp Notes MCP Server

Temp Notes MCP Server

landicefu

研究与数据
访问服务器

README

临时笔记 MCP 服务器

一个模型上下文协议 (MCP) 服务器,使 AI 代理能够跨对话和上下文存储和检索临时信息。

目录

目的

临时笔记 MCP 服务器为 AI 代理提供了一种简单而强大的方式来维护跨多个对话的状态和上下文,或者在处理超出上下文窗口限制的复杂任务时。它充当一个临时记忆系统,允许代理存储笔记、清单、代码片段和其他可以稍后检索的信息。

主要特性

  • 跨对话的持久临时存储
  • 用于读取、写入和附加笔记的简单 API
  • 轻量级且易于与现有工作流程集成
  • 使复杂的、多步骤的任务能够分解为可管理的部分

快速开始

  1. 使用 npx 将服务器添加到您的 MCP 配置中(无需安装):

    {
      "mcpServers": {
        "temp-notes": {
          "command": "npx",
          "args": ["-y", "@landicefu/temp-notes-mcp-server"],
          "disabled": false
        }
      }
    }
    
  2. 开始在您的对话中使用它:

    // 存储信息
    await use_mcp_tool({
      server_name: "temp-notes",
      tool_name: "write_note",
      arguments: { content: "需要记住的重要信息" }
    });
    
    // 稍后检索信息
    const result = await use_mcp_tool({
      server_name: "temp-notes",
      tool_name: "read_note",
      arguments: {}
    });
    

安装

选项 1:使用 npx(无需安装)

  1. 将服务器添加到您的 MCP 配置中:
    {
      "mcpServers": {
        "temp-notes": {
          "command": "npx",
          "args": ["-y", "@landicefu/temp-notes-mcp-server"],
          "disabled": false
        }
      }
    }
    

此选项直接使用 npx 运行服务器,无需全局安装。

选项 2:从 npm 安装

  1. 全局安装软件包:

    npm install -g @landicefu/temp-notes-mcp-server
    
  2. 将服务器添加到您的 MCP 配置中:

    {
      "mcpServers": {
        "temp-notes": {
          "command": "temp-notes-mcp-server",
          "disabled": false
        }
      }
    }
    

选项 3:从源代码安装

  1. 克隆存储库:

    git clone https://github.com/landicefu/temp-notes-mcp-server.git
    cd temp-notes-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 构建服务器:

    npm run build
    
  4. 将服务器添加到您的 MCP 配置中:

    {
      "mcpServers": {
        "temp-notes": {
          "command": "node",
          "args": ["/path/to/temp-notes-mcp-server/build/index.js"],
          "disabled": false
        }
      }
    }
    

工具

临时笔记 MCP 服务器提供以下工具:

clear_note

清除当前笔记,使其为空。

{
  "type": "object",
  "properties": {},
  "required": []
}

write_note

用新字符串替换当前笔记。

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "要写入笔记的内容"
    }
  },
  "required": ["content"]
}

read_note

返回笔记的当前内容。

{
  "type": "object",
  "properties": {},
  "required": []
}

append_note

将新文本附加到当前笔记,从新行开始。可以选择包含分隔线。

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "要附加到笔记的内容"
    },
    "include_separator": {
      "type": "boolean",
      "description": "是否在新内容之前包含分隔线 (---)",
      "default": true
    }
  },
  "required": ["content"]
}

使用示例

存储任务清单

// 存储复杂任务的清单
await use_mcp_tool({
  server_name: "temp-notes",
  tool_name: "write_note",
  arguments: {
    content: "# 项目重构清单\n\n- [ ] 分析当前架构\n- [ ] 识别性能瓶颈\n- [ ] 创建新的组件结构\n- [ ] 实现数据层更改\n- [ ] 更新 UI 组件\n- [ ] 编写测试\n- [ ] 记录更改"
  }
});

检索存储的信息

// 在新的对话中,检索清单
const result = await use_mcp_tool({
  server_name: "temp-notes",
  tool_name: "read_note",
  arguments: {}
});

// 结果包含先前存储的清单

更新进度

// 使用进度更新笔记
await use_mcp_tool({
  server_name: "temp-notes",
  tool_name: "append_note",
  arguments: {
    content: "## 架构分析完成\n\n主要发现:\n- 当前结构存在循环依赖\n- 数据获取效率低下\n- 组件重用率极低\n\n建议:实现存储库模式和组件组合",
    include_separator: true
  }
});

完成后清除笔记

// 任务完成后清除笔记
await use_mcp_tool({
  server_name: "temp-notes",
  tool_name: "clear_note",
  arguments: {}
});

用例

1. 复杂的编码任务

在处理复杂的编码任务时,AI 代理通常面临上下文窗口限制,这使得在一个对话中完成所有步骤变得困难。临时笔记 MCP 服务器允许代理:

  • 存储要完成的任务清单
  • 包括每个子任务的详细描述
  • 记录需要检查哪些文件以完成特定子任务
  • 跨多个对话跟踪进度
  • 维护重要的上下文,否则这些上下文将会丢失

这使得可以将复杂的任务分解为更小、更易于管理的部分,同时保持整体上下文和目标。

2. 跨对话的上下文保存

随着对话越来越长,上下文窗口可能会变得拥挤,从而限制了代理维护所有相关信息的能力。借助临时笔记 MCP 服务器,代理可以:

  • 总结当前任务状态
  • 记录已完成的步骤和剩余的工作
  • 存储关键见解和做出的决策
  • 概述在新对话中继续进行的后续步骤

这允许用户开始新的对话,而不会丢失进度或不得不重复信息。

3. 跨存储库的信息传输

在跨多个存储库或项目工作时,传输相关信息可能具有挑战性。临时笔记 MCP 服务器使代理能够:

  • 存储来自一个存储库的代码片段
  • 保存文件内容以供参考
  • 记录从一个项目中获得的模式或方法,以应用于另一个项目
  • 创建桥接多个项目的临时文档

这有助于跨不同上下文进行知识转移,而无需复杂的设置。

4. 协作工作流程

多个代理或用户可以通过以下方式在彼此的工作基础上进行构建:

  • 存储中间结果供其他代理使用
  • 创建可由不同代理更新的共享任务列表
  • 记录方法和方法供他人遵循
  • 保持对复杂问题的共同理解

5. 学习和实验

在探索新技术或方法时,代理可以:

  • 记录学习资源和参考资料
  • 存储示例代码和使用模式
  • 跟踪实验及其结果
  • 构建技术和解决方案的知识库

6. 增量文档

对于需要文档的项目,代理可以:

  • 跨多个会话增量收集信息
  • 在最终确定文档之前组织内容
  • 存储可以随着时间推移进行改进的草稿部分
  • 从不同的交互中收集示例和用例

笔记存储

默认情况下,临时笔记 MCP 服务器将笔记存储在以下位置:

  • 在 macOS/Linux 上:~/.mcp_config/temp_notes.txt(扩展为 /Users/username/.mcp_config/temp_notes.txt
  • 在 Windows 上:C:\Users\username\.mcp_config\temp_notes.txt

首次写入笔记时,会自动创建此文件。如果尝试读取笔记时该文件不存在,服务器将返回一个空字符串,并在下次写入时创建该文件。

服务器处理以下情况:

  • 如果读取时文件不存在:返回一个空字符串
  • 如果目录不存在:写入时自动创建目录结构
  • 如果文件已损坏或无法访问:返回相应的错误消息

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

该项目已获得 MIT 许可证的许可 - 有关详细信息,请参阅 LICENSE 文件。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python