File Notes MCP Server
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
File Notes MCP Server
A beginner-level MCP (Model Context Protocol) server built with Python and FastMCP. It lets any MCP-compatible client create, list, read, search and delete plain-text notes. Notes are stored as .txt files in a local notes/ folder.
Features
Five MCP tools for managing notes
Notes stored as plain
.txtfiles (no database)Title validation to block empty names, path traversal (
../) and unsupported charactersClear error messages; errors never crash the server
Related MCP server: sample-notes-mcp-server
Tech Stack
Component | Purpose |
Python 3.10+ | Programming language |
FastMCP (official | Exposes Python functions as MCP tools |
| File handling and title validation |
MCP Inspector | Browser-based client used to test the server |
Project Structure
file-notes-mcp/
├── server.py # MCP server (entry point)
├── requirements.txt # Dependencies
├── notes/ # Stored notes (sample data only)
├── screenshots/ # Demo screenshots
└── README.mdInstallation
Clone the repository and enter the folder:
git clone <your-repo-url> cd file-notes-mcp(Optional, recommended) Create and activate a virtual environment:
# Windows python -m venv .venv .venv\Scripts\activate # macOS / Linux python3 -m venv .venv source .venv/bin/activateInstall dependencies:
pip install -r requirements.txt
Starting the Server
python server.pyThe server uses the STDIO transport, so it is normally launched by a client rather than used directly in the terminal.
Connecting with MCP Inspector
Run:
mcp dev server.py(Alternative:
npx @modelcontextprotocol/inspector python server.py. This needs Node.js.)Open the local URL printed in the terminal.
Set Transport Type to STDIO, Command to
python, Arguments toserver.py, then click Connect.Open the Tools tab and click List Tools.
Tools
Tool | Input | Behavior |
|
| Creates a |
| none | Returns all note titles, sorted |
|
| Returns the note content; clear error if missing |
|
| Returns titles of notes matching the keyword, case-insensitive |
|
| Deletes a note; clear error if missing |
search_notessearches note content.
Example Tool Calls
create_note
{ "title": "MCP Architecture", "content": "The client connects to the server using JSON-RPC." }Result: Note 'MCP Architecture' created successfully.
list_notes
{}Result: ["AI", "Internship Assignment", "MCP Architecture"]
read_note
{ "title": "MCP Architecture" }Result: the content of the note.
search_notes
{ "keyword": "connects" }Result: ["MCP Architecture"]
delete_note
{ "title": "AI" }Result: Note 'AI' deleted successfully.
Title Validation Rules
Titles cannot be empty or only spaces
Only letters, numbers, spaces, underscores (
_) and hyphens (-) are allowedPath traversal (
../) and slashes are rejectedThe resolved file path must stay inside the
notes/folder
Error Handling
All errors are returned to the client as clear messages and the server keeps running.
Case | Example input | Result |
Duplicate title |
|
|
Unknown title |
|
|
Unsafe title |
|
|
Empty title |
|
|
Demo Sequence
Create two notes
List notes
Read one note
Search by a word from its content
Delete one note
List notes again
Test the error cases: duplicate, unknown and unsafe title
Notes
The server uses STDIO transport (one client per server process).
To let multiple clients share one running server, change the last line of
server.pytomcp.run(transport="streamable-http").The
notes/folder contains sample data only.
This server cannot be deployed
Maintenance
Related MCP Connectors
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Search, read, write, and organize your Scratchpad notes from any MCP client.
Notes, files, GitHub, and Drive through one MCP connection.
Notes, files, GitHub, and Drive through one MCP connection.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server for persistent note-taking, enabling create, update, delete, and search of notes with tags, plus resource-based retrieval of all notes or by title.-
- AlicenseAqualityCmaintenanceA lightweight MCP server for managing text notes with add, list, search, and delete operations, persisting notes as a JSON file.410 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables managing notes through a simple MCP server, providing tools to add, retrieve, update, delete, and list notes for use with Claude Desktop.MIT
- AlicenseNot gradedqualityCmaintenanceEnables users to create, retrieve, update, delete, and list notes through an MCP server, with persistent JSON storage and atomic writes.MIT