Back to Directory/Search & Knowledge

Knowtis

Create, search and manage Knowtis collaborative notes from AI assistants.

Search & KnowledgeTypeScriptv0.1.0

Knowtis is a local-first, real-time notes workspace where AI is a collaborator rather than a chat window. It edits with you inside the document, proposes changes you approve, and turns what you write into material you can study.

Features

Write. A Tiptap editor with slash commands, ghost-text suggestions, and inline AI actions to rewrite, summarize, translate, or expand a selection. Voice notes are recorded and transcribed in place.

Collaborate. Yjs CRDT sync with live presence and remote cursors. Notes persist to IndexedDB, so editing works offline and reconciles when you reconnect.

Study. Flashcards, quizzes, summaries, and mind maps generated from your notes, with SM-2 spaced repetition to schedule reviews.

Extend. A conversational copilot that reads and edits notes with human-in-the-loop approval, per-turn reasoning effort, and bring-your-own-key billing across Anthropic, OpenAI, and Google. An MCP server exposes your notes to Claude Desktop, Cursor, and VS Code.

Quick start

Requires Node.js 22, pnpm 10, and Docker.

git clone git@github.com:jovandyaz/knowtis-app.git
cd knowtis-app
pnpm run setup  # deps, .env files, Postgres + Redis, migrations
pnpm dev:all    # API :3333, Notes :4200, Backoffice :4400

run is required: bare pnpm setup is a pnpm built-in. AI features need OPENROUTER_API_KEY in apps/api/.env (Anthropic, OpenAI and Google keys are optional per-provider) and the ai_enabled feature flag. The full walkthrough, including how email verification works locally and how to connect an MCP client, is in docs/LOCAL_SETUP.md.

Stack

LayerTechnology
FrontendReact 19, Vite, TanStack Router and Query, Tailwind CSS
BackendNestJS 11, Drizzle ORM, Socket.io
DataPostgreSQL 16, Redis 7
Real-timeYjs (CRDT), Hocuspocus, IndexedDB
AIVercel AI SDK, OpenRouter, Anthropic, OpenAI, Google, MCP
ToolingNx 22, TypeScript 5.9, Vitest, pnpm

Repository layout

apps/
  api/            NestJS backend: auth, notes, collaboration, AI, copilot agent, MCP keys
  notes/          React frontend: editor, collaboration, study tools
  backoffice/     Admin surface: users, feature flags, AI config and metrics
  mcp/            Standalone MCP server (Hono)
libs/
  api-client/     Typed HTTP and WebSocket client
  data-access/    React Query hooks and Zod schemas, per domain
  authorization/  CASL permission definitions shared by frontend and backend
packages/
  ai-gateway/     Framework-free AI core: provider fallback, injection guard, token costing
  crdt/           Yjs helpers
  editor/         Tiptap editor and schema
  design-system/  UI components and design tokens
  auth/ permissions/   Core packages with React and NestJS adapters
  email/          React Email templates and NestJS adapter
  shared/         Hooks, i18n, types, utilities

Dependency direction is enforced with Nx module boundaries: app → ui / data-access → util. See docs/ARCHITECTURE.md.

Documentation

Contributing

Issues and pull requests are welcome. Read CONTRIBUTING.md before you start, and see SECURITY.md to report a vulnerability privately. This project follows the Contributor Covenant.

License

MIT

Setup from the maintainer

This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.

Package

https://github.com/jovandyaz/knowtis-app/releases/download/mcp-v0.1.0/knowtis-mcp-0.1.0.mcpbother

Compatible MCP Clients

Knowtis works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More