create_documentLABSCO SUMMARY
Query the section you are editing, not the document.
get_nodes_by_type is the tool that earns this its place: pulling every business-flow node at once lets a model match the format of what already exists before writing the next one. Consistency in a long document is a retrieval problem, and this treats it as one.
What it is
A structured document manager built for the problem of writing long requirements documents with an assistant: past a certain size the whole document no longer fits, and the structure falls apart. Lumina Docs stores the document as parent-child nodes in SQLite and queries them, so only the section being edited is loaded.
What you get
- Documents —
create_document(each in its own table),get_documents_list,delete_document - Markdown import —
import_markdown_fileparses the heading hierarchy automatically;import_markdown_batchtakes wildcards - Nodes —
create_node,get_node,update_node,delete_node(with its children),move_node - Query and export —
get_children,search_nodes,get_nodes_by_type,get_node_path,get_tree_structure,export_to_markdown - A command-line tool alongside the server:
treefor the structure,by-typeto pull one node type, andexportto write markdown out
Requirements
Python, installed from source with pip install -e . and launched as python -m doc_manager. Configuration is by environment variable: DOC_MANAGER_DB_PATH for the SQLite file, DOC_MANAGER_EXPORT_DIR for exports, DOC_MANAGER_DATA_DIR for the data root, plus DOC_MANAGER_DEBUG and DOC_MANAGER_LOG_LEVEL. Values can come from a .env file, the system environment, or the client config block.
Setup effort
Build from source — git clone https://github.com/GaoZYun/lumina-docs.git
USE CASES
Reading part of a document too big to open
Query the nodes you need instead of loading the whole file into context.
Writing a new section that matches the existing ones
Pull every node of that type first, then create the new node in the same shape.
Bringing existing markdown under management
Import files and let the heading hierarchy become the node tree.
Getting a normal document back out
Export the tree, or a single branch, to markdown.
16 tools
Listed in project docs. Your client may show a different list.
get_documents_listdelete_documentimport_markdown_fileimport_markdown_batchcreate_nodeget_nodeupdate_nodedelete_nodemove_nodeget_childrensearch_nodesget_nodes_by_typeget_node_pathget_tree_structureexport_to_markdownBEFORE YOU INSTALL
What to know first
Tools you get
16 tools named in the project's documentation.
Requires
Python 3.8+
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/GaoZYun/lumina-docs.git
cd lumina-docs
pip install -e .MCP Clients
Claude Desktop
{
"mcpServers": {
"lumina-docs": {
"command": "/usr/bin/python3",
"args": [
"-m",
"doc_manager"
],
"cwd": "<YOUR_DOC_MANAGER_DATA_DIR>",
"env": {
"PYTHONPATH": "<YOUR_DOC_MANAGER_DATA_DIR>/src",
"DOC_MANAGER_DB_PATH": "<YOUR_DOC_MANAGER_DATA_DIR>/database/documents.db",
"DOC_MANAGER_EXPORT_DIR": "<YOUR_DOC_MANAGER_EXPORT_DIR>",
"DOC_MANAGER_DATA_DIR": "<YOUR_DOC_MANAGER_DATA_DIR>",
"LUMINA_DOCS_SERVER_NAME": "lumina-docs",
"DOC_MANAGER_DEBUG": "false",
"DOC_MANAGER_LOG_LEVEL": "INFO"
}
}
}
}