SuperAPI AI Directory

NoteDiscovery

Self-hosted Markdown knowledge base with a web UI: search, read, create, edit, tag and template notes.

Open website

About this tool

NoteDiscovery is a lightweight, self-hostable note-taking application positioned as "your self-hosted knowledge base," giving you complete control over your own knowledge base. It offers a modern interface for writing, organizing, and discovering notes, all running on your own server.

Purpose and Target Audience

It is aimed at privacy-conscious users who want complete control over their data, developers who prefer Markdown and local file storage, knowledge workers building a personal wiki or second brain, teams looking for self-hosted alternatives to commercial applications, and people who value simplicity, speed, and ownership.

Key Capabilities

The features listed by the project include:

  • Complete privacy: notes never leave your server;
  • No CDN required: the application and its shared links serve all browser libraries locally, and can be used in air-gapped networks (see documentation/THIRD_PARTY.md);
  • Optional authentication: simple password protection for self-hosted deployments;
  • Zero cost: no subscriptions, no hidden fees;
  • Fast and lightweight: instant search and navigation;
  • Beautiful themes: multiple themes, easy to customize;
  • Extensible: provides a plugin system;
  • Responsive: works on desktop, tablet, and mobile;
  • Simple storage: plain Markdown files in folders;
  • Math support: renders formulas using LaTeX/MathJax;
  • HTML export and printing: export notes as standalone HTML or print them;
  • Graph view: interactively visualize interconnected notes;
  • Drawing editor: in-app sketches saved as drawing-*.png next to the note (see documentation/DRAWING.md);
  • Favorites: star frequently used notes for quick access;
  • Outline panel: navigate headings via a table of contents with click-to-jump;
  • AI assistant ready: supports MCP integration for tools such as Claude and Cursor.

AI and MCP Integration

NoteDiscovery includes a built-in Model Context Protocol (MCP) server, letting AI assistants interact directly with your notes. One-line setup is available for MCP-compatible tools such as Cursor and Claude Desktop. If you prefer a URL, you can set MCP_ENABLED=true and point the client to http://your-server:8000/mcp(Streamable HTTP). For complete setup instructions and available tools, see MCP.md. If you want a fully local setup with a bundled LLM, OLLAMA-STACK.md can start NoteDiscovery + Ollama + Open WebUI with a single command.

How to Use

Docker (Windows PowerShell)

After running, open http://localhost:8000 That's it. Notes are saved in ./data/. Themes, plugins, language packs, and default configuration values are included in the image.

Docker Compose

Two docker-compose files are provided: Option 1 is a prebuilt image (fastest), and Option 2 is built from source (for development). For volume details, see Advanced Docker Setup.

Running Locally (Without Docker)

Requires Python 3.8 or later and pip. Modern Linux distributions enforce PEP 668, which blocks system-level pip installations, so a virtual environment should be used; before running the application each time you open a new terminal, you need to activate the virtual environment (source venv/bin/activate).

Advanced Docker Setup

The image includes bundled configuration, themes, plugins, and language packs. To customize, you must: map volumes in the docker-compose or docker run command; provide content—files/folders must exist and contain valid content (empty content may cause the application to crash).

Other Features and Documentation

Official icons are now available on Dashboard Icons for self-hosted dashboards such as Homepage, Homarr, Dashy, and Heimdall. Documentation includes: THEMES.md (theme customization and creating custom themes), FEATURES.md (complete feature list and keyboard shortcuts), DRAWING.md (built-in drawing editor, save behavior, and API description), TAGS.md (organizing notes with tags and combination filters), TEMPLATES.md (creating notes with reusable templates with dynamic placeholders), MATHJAX.md (LaTeX/Math examples and syntax reference), MERMAID.md (creating flowcharts, sequence diagrams, etc. with Mermaid), PLUGINS.md (plugin system and available plugins), plugins/contrib/ (optional community plugins and installation methods), API.md (REST API documentation and examples), MCP.md (AI assistant integration), AUTHENTICATION.md (enabling password protection for the instance), ENVIRONMENT_VARIABLES.md (configuring settings via environment variables), THIRD_PARTY.md (locally hosted browser libraries, licenses, and update methods).

Multilingual

NoteDiscovery supports multiple interface languages through JSON language files in locales/. Select in Settings (gear icon) → Language; the list reflects installed language packs (bundled files, mounted, or added yourself). To add your own language, see the contribution guide. Docker users can mount a custom locales folder to add or override translations. Tip: after cloning the repository, you can mount the documentation/ folder to view these documents within the application, then in http://localhost:8000 access, the document will appear as the docs/ folder in the file browser.

Submitting Contributions and Security Considerations

Before submitting a pull request (especially for major changes), please read the contribution guidelines, open an issue first to discuss major features or important changes, and ensure the code conforms to the project's style and philosophy. Regarding security, NoteDiscovery is intended for self-hosted, private use: do not expose it directly to the internet without additional security measures; production use should run behind a reverse proxy with HTTPS (nginx, Caddy); keep it on a local network or use a VPN for remote access; by default it listens on 0.0.0.0:8000 (all network interfaces); password protection is disabled by default (default password admin), so if exposed to a network, enable authentication and change the default password (see AUTHENTICATION.md); if you need to disable authentication, you can set authentication.enabled: false in config.yaml. It is suitable for single-user or small-team deployments; for multi-user setups, consider a reverse proxy with OAuth/SSO. Notes are stored as plain-text Markdown files in the data/ folder, no data is sent to external services, and regular backups are recommended. It is recommended to run only on localhost or a dedicated network, use Docker for isolation and simpler security management, keep the system and dependencies updated, review and audit installed plugins, and set appropriate file permissions for the data/ directory.

License

The project uses the MIT License and can be freely used, modified, and distributed.