README
🚀 最小MCP服务器项目
本项目旨在设计一个最小的MCP服务器,实现模型上下文协议(Model-Context-Protocol),并提供检索和阅读Markdown笔记的功能,为LLM宿主与笔记文件系统之间搭建桥梁。
🚀 快速开始
本项目将创建一个最小的MCP服务器,实现模型上下文协议,同时提供检索和阅读Markdown笔记的功能。使用notes_MCP作为知识源,采用纯JavaScript实现,确保项目保持简单,成为一个最小可行产品。
✨ 主要特性
- 实现模型上下文协议(Model-Context-Protocol),为LLM提供上下文支持。
- 提供检索和阅读Markdown笔记的功能,方便知识的获取。
- 采用简单的客户端 - 服务器架构,易于理解和维护。
📦 安装指南
技术栈
- 运行时环境:Node.js
- 框架:Express.js(轻量级Web框架)
- 依赖项:
- express(HTTP服务器)
- cors(跨域资源共享)
- fs(Node.js文件系统,用于读取笔记)
- path(路径操作实用工具)
安装步骤
由于原文档未提供具体安装命令,此部分暂不展示。
💻 使用示例
基础用法
由于原文档未提供代码示例,此部分暂不展示。
📚 详细文档
架构
本项目采用简单的客户端 - 服务器架构:
+-------------------+ +-------------------+ +-----------------+
| LLM宿主 | ----> | MCP服务器 | ----> | 文件系统 |
| (Claude/其他LLM)| |(Express Server) | |(笔记存储) |
| | <---- | | <---- | |
+-------------------+ +-------------------+ +-----------------+
目录结构
mcp-notes-server/
├── package.json
├── server.js # 入口文件
├── routes/
│ └── mcp-router.js # MCP协议路由器
├── tools/
│ └── notes-tool.js # 笔记检索实现
└── notes/ # 包含Markdown笔记的目录
└── ... (你的.md文件)
组件
1. MCP 路由器
处理MCP协议请求:
- 发现端点(
/discover):返回可用工具和功能 - 调用端点(
/invoke):处理工具函数调用
2. 笔记工具
实现笔记检索功能:
list_notes:列出所有可用的笔记read_note:检索特定笔记的内容search_notes:简单的笔记搜索功能
实现计划
- 设置带有CORS支持的基本Express服务器
- 实现MCP路由器,包含发现和调用端点
- 创建笔记工具,实现基本的文件操作
- 连接组件并使用LLM宿主进行测试
🔧 技术细节
本项目使用Node.js作为运行时环境,Express.js作为轻量级Web框架。通过Express.js搭建HTTP服务器,使用cors处理跨域资源共享问题,利用fs模块读取笔记文件,path模块进行路径操作。服务器采用简单的客户端 - 服务器架构,LLM宿主通过MCP服务器与文件系统进行交互,实现笔记的检索和阅读功能。
📄 许可证
由于原文档未提供许可证信息,此部分暂不展示。
Scan to contact