notes-taker -app
MCP Server to take notes
claude mcp add --transport stdio abhihm19-notes-taker-mcp-server-app docker run -i notes-taker-app:latest \ --env NOTES_PATH="Path to the directory where notes are stored (override as needed)"
How to use
Notes Taker MCP Server provides a set of MCP tools that allow AI assistants to manage user notes stored in a file-based directory. The server exposes operations to create, read, update, delete, search, and list notes through the MCP protocol, enabling integrations with AI agents such as Claude, Gemini, and other MCP clients. Tools available include search_notes for finding notes by a fuzzy filename match, list_notes to enumerate all notes, read_note to retrieve full content, create_note to create new notes, delete_note to remove notes, and append_to_note to add content to existing notes. When connected via MCP STDIO, an AI agent can issue these tool calls as part of its plan to help users organize information across notes. The server respects security measures like path traversal protection and input sanitization to keep note storage safe.
To use the tools, connect your MCP client and reference the tool names along with required parameters (e.g., note name and content for create_note). The tools operate against a dedicated notes directory (configurable via NOTES_PATH) and return results or content for downstream reasoning in your AI agent.
How to install
Prerequisites:\n- Docker (recommended) or Java 17+ with Maven for local build and run.\n- Optional: a notes directory path if you want to override the default location.\n\nInstallation options:\n1) Using Docker (recommended for isolation):\n - Ensure Docker is installed and running.\n - Pull or build the image that contains the MCP server: e.g., docker build -t notes-taker-app:latest . (or use a prebuilt image)\n - Run the container with a configured notes path: docker run -i -e NOTES_PATH=/path/to/notes notes-taker-app:latest\n2) Local build (requires Java 17+ and Maven):\n - Build the project (if you have the source):\n mvn -f pom.xml clean package\n - Run the jar with a configurable notes path: java -jar target/notes-taker-app.jar\n NOTE: If you use a custom path, start with: NOTES_PATH=/path/to/notes java -jar target/notes-taker-app.jar\n3) Environment and configuration:\n - The Notes path can be overridden by the NOTES_PATH environment variable or by passing -Dnotes.path at startup.\n - Ensure the notes directory exists and is writable by the process.\n4) Initial verification:\n - Connect an MCP client and issue a simple list_notes call to verify access to the notes directory.\n
Additional notes
Tips and common considerations:\n- If you use Docker, map or mount a host directory for notes to avoid data loss when containers are recreated.\n- The server enforces a maximum note size of 1MB to prevent abuse.\n- Filenames are sanitized to allow only alphanumeric characters, hyphens, and underscores; invalid names will be rejected.\n- Path traversal protection ensures all file operations stay within the configured notes directory.\n- To customize the path at runtime, set the NOTES_PATH environment variable or pass -Dnotes.path.\n- If integrating with Claude or Gemini, ensure your MCP client configuration points to the Docker container or the host where the server is running, and provide any required environment variables (e.g., NOTES_PATH) in the client config.\n