ateska/markdown-notes-mcp
If you are the rightful owner of markdown-notes-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP server that enables AI assistants to manage Markdown notes through the Model Context Protocol.
markdown-notes-mcp
MCP server that enables AI assistants to manage Markdown notes through the Model Context Protocol. Built on ASAB framework with multi-tenant support and image upload capabilities. This project is also a demo how to write MCP servers using ASAB framework and Python.
Overview
markdown-notes-mcp is a MCP (Model Context Protocol) server implementation that provides AI assistants with tools to create, read, update, delete, and organize Markdown notes.
The server exposes a standardized MCP interface, allowing AI applications to interact with a local or remote Markdown notes repository.
This MCP server ofers Streamable HTTP transport, it DOESN'T provide Stdio transport (yet).
The cool part is that you can interconnect more LLMs to work colaboratively on Markdown notes; ie. one is the writer and second is the opponent.
The Model Context Protocol (MCP) is a standardized protocol for connecting AI applications to external data sources and tools. This implementation leverages ASAB's microservice framework (aiohttp internally), providing unified configuration, logging, metrics, and HTTP server capabilities.
Features
- Full CRUD Operations: Create, read, update, and delete Markdown notes
- Directory Support: Organize notes in nested directory structures
- Image Upload: WIP Upload and manage images (JPG, PNG, GIF) alongside notes
- Multi-Tenant Support: Isolated note storage per tenant
- Resource Templates: Access notes via URI templates (
note://{path}andimg://{path}) - MCP Protocol Compliance: Full support for MCP protocol specification
- Built on ASAB: Production-ready microservice framework with async/await support
- Security: Path normalization prevents directory traversal attacks
Quick Start
Installation into a Docker
git clone <repository-url>
docker build -t markdown-notes-mcp .
Running the Server
docker run -it -v$(pwd)/etc:/conf:ro -p 8898:8898 --rm markdown-notes-mcp
Configuration
Create a configuration file (e.g., etc/markdown-notes-mcp.conf):
[general]
notes = notes
[web]
listen = 8898
[tenants]
ids = tenant1,tenant2
notes: Directory path where Markdown notes will be stored (default:notes), the first subdirectory is a tenant.listen: HTTP server listen address (default:8898)ids: Comma-separated list of tenant IDs for multi-tenant support, at least one tenant must be provided
License
This project is licensed under the BSD 3-Clause License - see the file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
References
- ASAB Framework - The underlying microservice framework
- asab-mcp - MCP server implementation for ASAB
- Model Context Protocol Specification - Official MCP specification