使用说明
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
