Labsco
MCP SERVER

Dialogoi

by cedretaber

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.

Note-Taking & Personal Knowledge Bases
Summary
Manuscript and notes, kept apart on purpose.

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.

What it is

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.

What you get
  • `search_novel_text` — full-text search across the project with regular expression support
  • `search_rag` — semantic similarity search using multilingual-e5-small embeddings over Qdrant, with 384-dimension vectors and multilingual coverage
  • A `fileType` parameter on both searches — `content` for manuscript only, `settings` for notes only, `both` by default
  • `list_novel_projects` — enumerate the projects under the root you configured
  • Reading and creating files: fetch the settings, the manuscript or the instruction files for a project, and add a new settings or content file
  • Chunking with 20% overlap so a passage split across chunks keeps its context, and pre-filtering done inside Qdrant rather than after retrieval
Requirements

Nothing — 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` 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.