list_novel_projects
List the novel projects available under the project root
Search a novel's manuscript and its setting notes separately — by regular expression or by meaning — so an assistant answers from what you actually wrote.
LABSCO SUMMARY
Anyone who has written a long novel knows the question: did I establish this, or did I only plan it? Being able to search the setting notes and the manuscript separately answers that directly, and having both semantic and regex search means you can look for a phrase you remember exactly or an idea you only remember vaguely.
A writing-support server for long-form fiction. A project is a directory holding novel.json, a settings folder for character and world notes, and a contents folder for the manuscript itself. Both are indexed, and every search can be scoped to one or the other, which is the distinction that matters when you are asking whether a detail is established or merely drafted. A file watcher keeps the index current as you write.
search_novel_text — full-text search across the project with regular expression supportsearch_rag — semantic similarity search using multilingual-e5-small embeddings over Qdrant, with 384-dimension vectors and multilingual coveragefileType parameter on both searches — content for manuscript only, settings for notes only, both by defaultlist_novel_projects — enumerate the projects under the root you configuredNothing — no account, no key. Node.js 20.0.0 or higher, plus Docker if you want semantic search; when --qdrant-url is not given the server starts Qdrant in Docker itself, and --docker-enabled false turns that off. From a clone, npm install and npm run build, then point the client at dist/index.js with --project-root set to the directory holding your novels. When Qdrant is unavailable the server falls back with a detailed error rather than silently degrading.
Build from source — git clone https://github.com/cedretaber/dialogoi
USE CASES
Search the manuscript alone for the fact, so notes and plans do not get mistaken for text that exists.
Search by meaning rather than wording when you cannot recall the exact phrase you used.
Search the settings files for what was established about a character before writing them again.
List the projects under your root and pick the one to search.
Listed in project code.
list_novel_projectsList the novel projects available under the project root
list_novel_settingsList a novel's settings files with the first three lines of each
get_novel_settingsRead a novel's settings (.md or .txt); name a file to get just that one
add_novel_settingCreate a new settings file, with path safety checks
list_novel_contentList a novel's manuscript files with the first three lines of each
get_novel_contentRead the manuscript (.txt or .md); name a file to get just that one
add_novel_contentCreate a new manuscript file, with path safety checks
list_novel_instructionsList the project's instruction files (such as DIALOGOI.md) with their first three lines; meant to be called first
get_novel_instructionsRead the project's guidelines in full (DIALOGOI.md); without a filename, all instruction files are joined
search_novel_textKeyword or regular-expression search across the project's text files, filtered to manuscript, settings or both
search_ragSemantic search for related passages with multilingual-e5-small embeddings in Qdrant, filtered to manuscript, settings or both
BEFORE YOU INSTALL
11 tools registered in the project's code.
Node.js 20.0.0 or later
The documented client runs the server on your machine.
INSTALLATION
You clone and build this one yourself.
git clone https://github.com/cedretaber/dialogoi
cd dialogoi
npm install
npm run build{
"mcpServers": {
"dialogoi": {
"command": "node",
"args": [
"<YOUR_PATH_TO_DIALOGOI>/dist/index.js",
"--project-root",
"<YOUR_PATH_TO_NOVELS>"
],
"cwd": "<YOUR_PATH_TO_DIALOGOI>"
}
}
}