笔记管理服务器

一个基于Model Context Protocol (MCP)的笔记管理服务器,提供Markdown文件的管理功能,支持与AI助手或其他支持MCP的应用程序整合。

  • by catherineabcde
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 catherineabcde/notes-mcp-server

使用说明

Notes MCP Server

一個基於 Model Context Protocol (MCP) 的筆記管理伺服器,提供 Markdown 檔案的管理功能。

專案簡介

這是一個使用 Express 和 MCP SDK 建構的筆記伺服器,能夠列出並管理本地的 Markdown 筆記檔案。透過 MCP 協議,可以與 AI 助手或其他支援 MCP 的應用程式整合。

功能特色

  • 筆記管理:列出所有 Markdown 筆記檔案
  • MCP 協議支援:標準的 Model Context Protocol 實作
  • HTTP API:提供 RESTful 風格的 HTTP 介面
  • TypeScript:使用 TypeScript 開發,提供型別安全
  • 健康檢查:內建健康檢查端點

技術架構

  • 執行環境:Node.js
  • 程式語言:TypeScript
  • Web 框架:Express 5.x
  • MCP SDK:@modelcontextprotocol/sdk
  • 資料驗證:Zod

安裝步驟

1. 克隆專案

git clone <repository-url>
cd notes-mcp-server

2. 安裝相依套件

npm install

3. 建立筆記目錄

專案預設會使用 ./notes 目錄來存放筆記檔案。該目錄已包含在專案中。

使用方法

開發模式

使用 tsx 的 watch 模式,程式碼變更時會自動重新載入:

npm run dev

正式執行

npm start

建置與部署

# 編譯 TypeScript
npm run build

# 執行編譯後的程式
npm run serve

API 端點

健康檢查

GET /health

檢查伺服器是否正常運行。

回應範例:

{
  "status": "ok"
}

MCP 端點

POST /mcp

MCP 協議的主要端點,接收 JSON-RPC 格式的請求。

伺服器資訊:

  • 伺服器名稱:my-notes-server
  • 版本:1.0.0
  • 預設連接埠:8080

可用工具

list_files

列出筆記目錄中的所有 Markdown 檔案。

輸入:無需參數

輸出範例:

{
  "files": [
    "note1.md",
    "note2.md",
    "note3.md"
  ]
}

專案結構

notes-mcp-server/
├── index.ts              # 主程式進入點
├── notes/                # 筆記檔案目錄
│   ├── note1.md
│   ├── note2.md
│   └── note3.md
├── package.json          # 專案設定檔
├── tsconfig.json         # TypeScript 設定檔
└── README.md             # 專案說明文件

開發指令

指令 說明
npm run dev 開發模式(支援熱重載)
npm start 直接執行 TypeScript 程式
npm run build 編譯 TypeScript 為 JavaScript
npm run serve 執行編譯後的程式

執行資訊

當伺服器啟動後,會顯示以下資訊:

伺服器運行中:http://localhost:8080
MCP endpoint:http://localhost:8080/mcp
筆記目錄:./notes

參考資料

本專案參考自:https://ithelp.ithome.com.tw/articles/10353095

授權

ISC