Markdown MCP服务器
管理Obsidian Vault和Markdown文件的Model Context Protocol(MCP)服务器。您可以通过HTTP API访问所有Obsidian/Markdown功能。
🚀 主要功能
📊 Obsidian Vault管理
- 创建Vault统计信息:总节点数、大小、单词数、链接数等
- 查看笔记列表:按类别,按最近修改/创建的顺序排列
- 提取链接:内部链接、外部链接、嵌入、标签提取
- 查找反向链接:引用特定注释的其他注释
- 标签管理:搜索所有标签列表,按标签搜索笔记
📝 每日笔记&模板
- 创建每日笔记:按日期自动生成笔记
- 管理模板:创建、查询、列表、删除
- 每日笔记列表:查看定期每日笔记
🔍 高级搜索
- 基于Frontmatter的搜索:通过元数据字段搜索注释
- 搜索内容:搜索文本、关键字和正则表达式
- 搜索文件名模式:通配符,常规表达式支持
📋 TODO管理
- TODO 추출:从所有笔记中提取TODO任务
- 添加TODO:将TODO任务添加到特定节点
- TODO搜索:按状态、按优先级搜索
📁 文件管理
- 文件列表:按目录,递归搜索
- 文件统计:大小、字数、链接数等
- 附件管理:图像、PDF等附件列表
🛠️ 技术堆栈
- Node.js:服务器运行时
- Express.js:HTTP服务器框架
- 黑曜石经理:Obsidian Vault管理类
- 降价管理器:Markdown文件管理类
- 灰质:前台파싱
- 通配符:文件模式匹配
📦 安装和运行
1.安装依赖性
npm install2.运行服务器
npm start服务器 http://localhost:8080在中运行。
🌐 API端点
基本信息
GET /-检查服务器状态GET /tools-可用工具列表
黑曜石툴
POST /tools/obsidian/getAllTags-所有标签列表POST /tools/obsidian/generateVaultStats-Vault统计POST /tools/obsidian/getRecentlyModifiedNotes-最近修改的注释POST /tools/obsidian/getRecentlyCreatedNotes-最近创建的注释POST /tools/obsidian/extractTodos-提取TODO任务POST /tools/obsidian/extractLinks-从注释中提取链接POST /tools/obsidian/createDailyNote-创建每日笔记
降价툴
POST /tools/markdown/listFiles-查看文件列表POST /tools/markdown/searchContent-搜索内容POST /tools/markdown/manageFrontmatter-Frontmatter管理
📖 使用示例
1.检查服务器状态
curl http://localhost:80802.导入Vault统计信息
curl -X POST http://localhost:8080/tools/obsidian/generateVaultStats \
-H "Content-Type: application/json" \
-d '{}'3.最近修改的笔记列表
curl -X POST http://localhost:8080/tools/obsidian/getRecentlyModifiedNotes \
-H "Content-Type: application/json" \
-d '{"days": 7, "limit": 10}'4.特定类别的文件列表
curl -X POST http://localhost:8080/tools/markdown/listFiles \
-H "Content-Type: application/json" \
-d '{"directory": "Health", "recursive": true}'5.搜索内容
curl -X POST http://localhost:8080/tools/markdown/searchContent \
-H "Content-Type: application/json" \
-d '{"query": "마라톤", "caseSensitive": false}'6.提取TODO任务
curl -X POST http://localhost:8080/tools/obsidian/extractTodos \
-H "Content-Type: application/json" \
-d '{"status": "pending"}'🔧 设置
环境变量
BASE_PATH:Obsidian Vault路径(默认:/Users/gukho/Library/Mobile Documents/iCloud~md~obsidian/Documents/My Card)PORT:服务器端口(默认值:8080)
示例
export BASE_PATH="/path/to/your/obsidian/vault"
export PORT=3000
npm start📊 当前Vault统计信息
- 节点总数:332个
- 总大小:1.5 MB
- 单词总数:172203个
- 链接总数:1958个
- 标签总数:1006个
主要类别
- Health(健康):30个节点
- 9.Diary(日记):60个节点
- 项目:16个节点
- 3.研究/数据科学:25个节点
🏗️ 项目结构
mcp_js/
├── src/
│ ├── index.js # 서버 진입점
│ ├── server.js # Express.js HTTP 서버
│ ├── ObsidianManager.js # Obsidian Vault 관리
│ └── MarkdownManager.js # Markdown 파일 관리
├── tests/ # 테스트 파일들
├── package.json
└── README.md🧪 测试
npm test📝 开发历史
v1.0.0(2025-07-09)
- 实现基于MCP SDK的服务器
- 切换到基于HTTP的服务器(Express.js)
- 所有Obsidian/Markdown功能API曝光
- 实时Vault统计和笔记管理
- TODO管理,每日笔记,模板功能
- 高级搜索和Frontmatter管理
🤝 贡献
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
MIT许可证
