Markdown笔记管理服务

一个基于Model Context Protocol的MCP服务器,为AI助手提供创建、读取、更新、删除和组织Markdown笔记的功能,支持多租户和图像上传。

  • by ateska
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 ateska/markdown-notes-mcp

使用说明

markdown注意到mcp

MCP服务器,使AI助手能够通过模型上下文协议管理Markdown笔记。 建立在 ASAB 具有多租户支持和图像上传功能的框架。 这个项目也是一个如何使用ASAB框架和Python编写MCP服务器的演示。

概述

markdown-notes-mcp 是一个 主控程序 (模型上下文协议)服务器实现,为AI助手提供创建、阅读、更新、删除和组织Markdown笔记的工具。 该服务器公开了一个标准化的MCP接口,允许AI应用程序与本地或远程的Markdown笔记存储库进行交互。 此MCP服务器提供 可流式HTTP传输,它不提供 标准运输 (然而)。

最酷的部分是,你可以连接更多的LLM,在Markdown笔记上协同工作;一个是作者,另一个是对手。

模型上下文协议(MCP)是用于将AI应用程序连接到外部数据源和工具的标准化协议。此实现利用了ASAB的微服务框架(aiohttp 内部),提供统一的配置、日志记录、指标和HTTP服务器功能。

特性

  • 完整的CRUD操作:创建、阅读、更新和删除Markdown注释
  • 目录支持:在嵌套目录结构中组织笔记
  • 图片上传:WIP上传和管理图像(JPG、PNG、GIF)以及笔记
  • 多租户支持:每个租户的独立纸币存储
  • 资源模板:通过URI模板访问笔记(note://{path} 和 img://{path})
  • MCP协议合规性:完全支持MCP协议规范
  • 基于ASAB构建:支持async/await的生产就绪微服务框架
  • 安全:路径规范化可防止目录遍历攻击

快速开始

安装到Docker中

git clone <repository-url>
docker build -t markdown-notes-mcp .

运行服务器

docker run -it -v$(pwd)/etc:/conf:ro -p 8898:8898 --rm markdown-notes-mcp

配置

创建配置文件(例如。, etc/markdown-notes-mcp.conf):

[general]
notes = notes

[web]
listen = 8898

[tenants]
ids = tenant1,tenant2
  • notes:存储Markdown注释的目录路径(默认: notes),第一个子目录是租户。
  • listen:HTTP服务器侦听地址(默认值: 8898)
  • ids:逗号分隔的租户ID列表,用于支持多租户,必须至少提供一个租户

许可证

此项目根据BSD 3条款许可证获得许可-请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿!请随时提交拉取请求。

参考文献