Server data from the Official MCP Registry
Create, search and manage Knowtis collaborative notes from AI assistants.
About
Create, search and manage Knowtis collaborative notes from AI assistants.
Remote endpoints: streamable-http: https://mcp.knowtis.app/mcp
Security Report
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.
Endpoint verified ยท Requires authentication ยท 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: KNOWTIS_API_KEY
Environment variable: KNOWTIS_API_URL
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"app-knowtis-knowtis": {
"env": {
"KNOWTIS_API_KEY": "your-knowtis-api-key-here",
"KNOWTIS_API_URL": "your-knowtis-api-url-here"
},
"url": "https://mcp.knowtis.app/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
Knowtis
Table of Contents
- Overview
- Quick Start
- Project Structure
- Running the Project
- Available Scripts
- Architecture
- Development
- Documentation
- Contributing
- License
Overview
Knowtis is an AI-powered collaborative workspace that turns your notes into a knowledge base:
- ๐ค AI Assistant - Improve writing, fix spelling, summarize, translate, and expand content with inline AI actions
- ๐ฌ AI Copilot - Conversational assistant that reads and edits your notes with approval (HITL), with per-conversation model selection and bring-your-own-key (BYOK) billing
- ๐ง Study Tools - Auto-generate flashcards, quizzes, summaries, and mind maps from your notes
- ๐ Spaced Repetition - SM2 algorithm for optimal flashcard review scheduling
- ๐ Rich Text Editing - Tiptap/ProseMirror with slash commands, ghost text suggestions, and AI blocks
- ๐ Real-time Collaboration - CRDT-based sync using Yjs with live presence and remote cursors
- ๐๏ธ Voice Notes - Record and transcribe voice notes with AI processing
- ๐ Offline Support - IndexedDB persistence with optimistic local-first updates
- ๐ Secure Authentication - JWT-based auth with HttpOnly cookie refresh tokens
- ๐ Internationalization - Full i18n support (English and Spanish)
- ๐ MCP Integration - Model Context Protocol server for AI assistant workflows
- ๐ ๏ธ Admin Backoffice - Ops surface for users, feature flags, runtime AI config, and AI metrics
- ๐จ Modern UI - Tailwind CSS 4 with dark mode, resizable panels, and responsive design
Quick Start
Prerequisites
| Requirement | Version |
|---|---|
| Node.js | โฅ 22.x |
| pnpm | โฅ 10.x |
| Docker | โฅ 20.x |
Setup
git clone git@github.com:jovandyaz/knowtis_app.git
cd knowtis_app
pnpm setup # installs deps, scaffolds .env files, starts Docker, pushes the schema
pnpm dev:all # starts the API + Notes + Backoffice
pnpm setupis idempotent โ it never overwrites an existing.env. AI features (/api/ai/*) need anANTHROPIC_API_KEYorOPENAI_API_KEYinapps/api/.envafter the first run.
Design-system tokens are regenerated automatically before the app starts (the serve/build targets depend on design-system:build), so pnpm dev:all works on a fresh clone with no extra step.
To run apps individually instead:
pnpm dev # Notes only (http://localhost:4200)
pnpm dev:backoffice # Backoffice only (http://localhost:4400)
pnpm dev:api # Backend only (http://localhost:3333)
pnpm dev:mcp # MCP server only (http://localhost:3334)
New here? docs/LOCAL_SETUP.md is the full onboarding guide โ verified boot sequence, how to reach Settings (email verification), and how to connect an MCP client (Claude Desktop, Cursor, VS Code) to your local notes.
Access Points
| Service | URL |
|---|---|
| Frontend | http://localhost:4200 |
| Backoffice | http://localhost:4400 |
| API | http://localhost:3333/api/v1 |
| WebSocket | ws://localhost:3333 |
| DB Studio | Run pnpm db:studio |
Running the Project
Development Mode
Full Stack (Recommended)
# Start all services
pnpm docker:up # Database + Redis
pnpm dev:all # API + Notes + Backoffice
Frontend Only
pnpm dev
Note: When running frontend-only, collaboration will use WebRTC P2P mode (no backend required).
API Only
pnpm docker:up
pnpm dev:api
Production Build
# Build all projects
pnpm build # Frontend โ dist/apps/notes
pnpm build:api # Backend โ dist/apps/api
# Run production API
node dist/apps/api/main.js
# Preview production frontend
pnpm preview
Running Tests
pnpm test # Run all tests
pnpm test:run # Run tests once (no watch)
pnpm test:coverage # Run with coverage report
nx test notes # Test specific project
nx test api # Test API project
Available Scripts
Development
| Command | Description |
|---|---|
pnpm dev | Start Notes frontend (Vite) |
pnpm dev:api | Start API backend (NestJS) |
pnpm dev:backoffice | Start Backoffice frontend (Vite) |
pnpm dev:all | Start Notes + Backoffice + API together |
Build & Preview
| Command | Description |
|---|---|
pnpm build | Build Notes for production |
pnpm build:backoffice | Build Backoffice for production |
pnpm build:api | Build API for production |
pnpm preview | Preview production build |
Testing & Quality
| Command | Description |
|---|---|
pnpm test | Run all tests in watch mode |
pnpm test:run | Run all tests once |
pnpm test:coverage | Run tests with coverage |
pnpm lint | Run ESLint on all projects |
pnpm lint:fix | Fix auto-fixable lint issues |
pnpm format | Format code with Prettier |
pnpm typecheck | Run TypeScript type checking |
Database
| Command | Description |
|---|---|
pnpm db:push | Push schema changes (development) |
pnpm db:generate | Generate migration files |
pnpm db:migrate | Run database migrations |
pnpm db:studio | Open Drizzle Studio GUI |
Infrastructure
| Command | Description |
|---|---|
pnpm docker:up | Start PostgreSQL + Redis |
pnpm docker:down | Stop and remove containers |
Nx Workspace
| Command | Description |
|---|---|
pnpm graph | Visualize dependency graph |
pnpm affected:test | Test only affected projects |
pnpm affected:lint | Lint only affected projects |
pnpm affected:build | Build only affected projects |
nx serve <project> | Serve specific project |
nx build <project> | Build specific project |
nx test <project> | Test specific project |
Makefile (Alternative)
For convenience, all commands are also available via make:
# Show all available commands
make help
# Quick workflows
make setup # Full setup: install, docker, db
make start # Start DB + all apps
make fresh # Clean install from scratch
make ci # Run full CI pipeline locally
# Common commands
make dev # Start Notes frontend
make dev-api # Start backend
make dev-backoffice # Start Backoffice frontend
make dev-all # Start everything
make test # Run tests
make lint # Lint code
make build # Build for production
Run make help to see all available targets with descriptions.
Architecture
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, TanStack Router/Query |
| Backend | NestJS 11, Drizzle ORM |
| Database | PostgreSQL 16, Redis 7 |
| AI | Claude API (Sonnet 4, Haiku 4.5) |
| Real-time | Socket.io, Yjs (CRDT) |
| React Email, Resend | |
| Styling | Tailwind CSS 4 |
| i18n | react-i18next |
| Testing | Vitest, React Testing Library |
| Monorepo | Nx 22.3 |
Dependency Flow
The workspace follows a unidirectional dependency flow:
graph TD
subgraph Apps
Notes[apps/notes]
Backoffice[apps/backoffice]
API[apps/api]
end
subgraph Libs
ApiClient[libs/api-client]
DataAccess[libs/data-access]
Authorization[libs/authorization]
end
subgraph SharedPackages
DesignSystem[packages/design-system]
Shared[packages/shared]
end
Notes --> ApiClient
Notes --> DataAccess
Notes --> DesignSystem
Backoffice --> DataAccess
Backoffice --> DesignSystem
ApiClient --> Shared
DataAccess --> ApiClient
DataAccess --> Shared
DesignSystem --> Shared
subgraph Packages
Email[packages/email]
EmailNestjs[packages/email-nestjs]
Auth[packages/auth]
AuthNestjs[packages/auth-nestjs]
end
API --> EmailNestjs
API --> AuthNestjs
EmailNestjs --> Email
EmailNestjs --> AuthNestjs
AuthNestjs --> Auth
Key Design Principles
- SOLID Principles - Clean, maintainable architecture
- Domain-Driven Design - Clear separation of concerns
- Type Safety - Strict TypeScript throughout
- Composition over Inheritance - Flexible component design
For detailed architecture documentation, see docs/ARCHITECTURE.md.
Development
Environment Variables
API (apps/api/.env)
# Database
DATABASE_URL=postgresql://knowtis:knowtis_dev@localhost:5432/knowtis
# Authentication
JWT_SECRET=your-jwt-secret-key
JWT_REFRESH_SECRET=your-refresh-secret-key
JWT_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d
# Server
PORT=3333
NODE_ENV=development
FRONTEND_URL=http://localhost:4200
Notes App (apps/notes/.env)
# API Configuration
VITE_API_URL=http://localhost:3333/api/v1
VITE_WS_URL=http://localhost:3333
# Collaboration Mode: 'webrtc' | 'websocket' | 'hybrid'
VITE_COLLABORATION_MODE=websocket
Code Quality
This project uses:
- ESLint - Code linting with modern flat config
- Prettier - Code formatting
- Lefthook - Git hooks (pre-commit, pre-push, commit-msg)
IDE Setup
Recommended VS Code extensions:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- Nx Console
Documentation
| Document | Description |
|---|---|
| API Documentation | Backend API setup, endpoints & deployment |
| Notes App Documentation | Frontend features & architecture |
| Architecture Guide | System design & principles |
| Deployment Guide | Railway & Vercel deployment |
| API Architecture | Backend DDD patterns & module structure |
| AI Module | Copilot, model selection, BYOK & AI flows |
| Email Templates | React Email templates & i18n |
| Email NestJS | NestJS email module (Resend/Console) |
| Contributing Guide | How to contribute to the project |
| Security Policy | Vulnerability reporting & disclosure |
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to get started.
License
Licensed under the MIT License.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Fetch
Freeby Modelcontextprotocol ยท Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol ยท Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno ยท Developer Tools
Toleno Network MCP Server โ Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace ยท Developer Tools
Create, build, and publish Python MCP servers to PyPI โ conversationally.
MarkItDown
Freeby Microsoft ยท Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
MCP Marketplace
Freeby mcp-marketplace ยท Developer Tools
Search and install MCP servers from inside your AI client.
