Notes & FAQ Search MCP Server
Enables offline search of personal notes and FAQ collections through MCP tools.
README
NextFlows
Hi, this is my Academy MCP project
https://nextflows.ai/academy
Project Overview
Notes & FAQ Search is an MCP server that allows users to search their own notes and frequently asked questions fully offline.
The project provides a simple and private way to find information without requiring paid API keys, cloud storage, or an internet connection while the server is running.
Project Goal
The goal of this project is to help students and other users quickly search their personal notes and FAQ collections through focused MCP tools.
Current Stage
Week 2 — Skeleton demo in MCP Inspector completed.
The MCP server registers all five planned tools, and every tool is discoverable through MCP Inspector.
Valid sample argument files are available in examples/. The three P0 tools accept valid inputs and return placeholder responses, while invalid input is rejected by schema validation before the stub handler runs.
Real local data and search behavior will be implemented in Week 3.
Tool Inventory
P0 Tools
The following tools are required for the Demo Day workflow:
search_notes— searches locally stored notes using a text query.search_faqs— searches locally stored FAQ questions and answers.get_note— retrieves one complete note using its unique ID.
The P0 tools are registered and currently return placeholder JSON responses.
P1 Tools
The following tools are optional planned features:
list_notes— lists available notes with optional tag filtering.add_note— adds a new note to the local collection.
The P1 tools are registered but currently return a Not implemented yet response.
Completed Work
- Selected Notes & FAQ Search as the project idea.
- Completed the project design document.
- Received mentor approval for the project design.
- Defined three P0 tools and two P1 tools.
- Added Zod input schemas for all planned tools.
- Added descriptions and validation rules for tool inputs.
- Added a local script for testing the three P0 schemas.
- Added an example input for the
get_notetool. - Added the MCP server dependency.
- Added a
createServer()factory. - Added one register function per tool.
- Registered all five planned tools.
- Connected the MCP server using
serveStdio. - Added a development command for running the server.
- Confirmed that TypeScript and schema checks pass.
- Confirmed that the MCP server starts successfully over stdio.
Planned Features
- Add local fixture data for notes.
- Add local fixture data for FAQ entries.
- Implement keyword-based note searching.
- Implement FAQ searching.
- Retrieve complete notes by ID.
- Add clear errors for missing notes.
- Replace placeholder handlers with real local data handlers.
- Test the completed P0 workflow in MCP Inspector.
- Add build and production start commands when required.
Current Project Structure
mcp-Notes-FAQ-Search-MCP-server/
├── docs/
│ ├── design.md
│ └── project-choice.md
├── examples/
│ ├── add_note.json
│ ├── get_note.json
│ ├── list_notes.json
│ ├── search_faqs.json
│ └── search_notes.json
├── scripts/
│ └── check-schemas.ts
├── src/
│ ├── schemas/
│ │ ├── add-note.ts
│ │ ├── get-note.ts
│ │ ├── list-notes.ts
│ │ ├── search-faqs.ts
│ │ └── search-notes.ts
│ ├── tools/
│ │ ├── add-note.ts
│ │ ├── get-note.ts
│ │ ├── list-notes.ts
│ │ ├── search-faqs.ts
│ │ └── search-notes.ts
│ └── index.ts
├── .gitignore
├── README.md
├── package.json
├── package-lock.json
└── tsconfig.json
Prerequisites
Before running the project, make sure the following are installed:
- Node.js 20 or later
- npm
Check the installed versions using:
node --version
npm --version
Installation
Clone the repository and enter the project directory:
git clone https://github.com/SajaAsfour/mcp-Notes-FAQ-Search-MCP-server.git
cd mcp-Notes-FAQ-Search-MCP-server
Install the project dependencies:
npm install
TypeScript Validation
Run the TypeScript checker:
npm run typecheck
This command validates the TypeScript files without generating build output.
Zod Schema Validation
Run the local P0 schema sanity checks:
npm run check:schemas
The script checks valid and invalid inputs for:
search_notessearch_faqsget_note
A successful run should end with:
All P0 schema checks passed.
Zod Schemas
Tool input schemas are located in:
src/schemas/
The current schemas are:
search-notes.tssearch-faqs.tsget-note.tslist-notes.tsadd-note.ts
Week 2 Multi-tool Server Skeleton
Each planned tool has its own register function inside:
src/tools/
The server factory is located in:
src/index.ts
The createServer() function creates a fresh McpServer instance and registers all five planned tools.
The server uses stdio transport through:
void serveStdio(createServer);
Server logs are written using console.error because stdout is reserved for the MCP protocol.
Running the MCP Server in Development
Start the server using:
npm run dev
A successful start should show:
notes-faq-search-mcp MCP server running on stdio
The process then remains active while waiting for stdio input.
Stop the server using:
Ctrl+C
MCP Inspector Skeleton Demo
The registered tools can be tested using MCP Inspector.
Run the Inspector from the project root:
npx -y @modelcontextprotocol/inspector npx tsx src/index.ts
The Inspector should list the following tools:
search_notessearch_faqsget_notelist_notesadd_note
Valid sample arguments for every tool are available inside:
examples/
During the Week 2 skeleton demo:
- All five planned tools were discoverable.
- The three P0 tools accepted valid sample inputs.
- Placeholder responses were returned successfully.
- A
search_notescall without the requiredqueryfield was rejected by schema validation.
Commands Not Added Yet
The following commands are not available yet:
npm run build
npm start
npm run inspect
They will be added only when the corresponding build, production start, and MCP Inspector setup is implemented.
Offline Operation
The final project will store and search notes and FAQ data locally.
It will not require paid APIs, cloud storage, hosted AI models, or an internet connection while running.
The current stub handlers do not access external services.
Project Status
- [x] Project selected
- [x] Project design completed
- [x] Three P0 tools defined
- [x] Two P1 tools defined
- [x] P0 Zod schemas added
- [x] P1 Zod schemas added
- [x] Local P0 schema checks added
- [x] MCP server factory added
- [x] Stdio server setup added
- [x] All planned tools registered
- [x] Placeholder handlers added
- [x] Development server command added
- [x] One valid JSON example added for every planned tool
- [x] All planned tools discovered in MCP Inspector
- [x] Valid P0 calls verified in MCP Inspector
- [x] Invalid input rejection verified
- [x] Week 2 Inspector proof completed
- [ ] Local notes data added
- [ ] Local FAQ data added
- [ ] Real P0 handlers implemented
- [ ] Error handling implemented
- [ ] Real local-data handlers tested in MCP Inspector
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。