Jotty MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jotty MCP ServerCreate a new note titled 'Meeting notes' in the Work category."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jotty MCP Server
Model Context Protocol (MCP) server for Jotty — provides programmatic access to notes, checklists, tasks (Kanban boards), and categories.
Features
Notes: Create, read, update, delete markdown notes
Checklists: Full checklist management with nested items, priorities, timestamps
Tasks/Kanban: Kanban-style task boards with custom columns and item status management
Search: Full-text search across notes and checklists
Multi-user: API key passed per tool call (not env var) — different users can share the same MCP instance
Related MCP server: businessmap-mcp
Setup
Local
pip install -r requirements.txtStdio mode (default — for local editors/tools like Claude Desktop, Cursor):
JOTTY_BASE_URL=https://jotty.showaib.com python -m src.mainHTTP mode (for remote MCP clients):
JOTTY_BASE_URL=https://jotty.showaib.com PORT=3008 python -m src.main --transport httpDocker
# Stdio mode (default — local CLI)
docker compose up --build -d jotty-mcp
# HTTP mode (remote clients)
MCP_TRANSPORT=http docker compose up --build -d jotty-mcpServer is available at http://localhost:3008/mcp when using HTTP transport. Connect with any MCP HTTP client.
Configuration
Variable | Default | Description |
|
| URL of your Jotty instance |
|
| Transport mode ( |
|
| HTTP server port (docker-compose uses host networking) |
Note: The API key is not an environment variable — it is passed per-tool call to support multiple users.
MCP Tools
Notes
Tool | Description |
| List notes with optional category filter and search |
| Get a single note by ID |
| Create a new note (content supports Markdown) |
| Update a note (provide only fields to change) |
| Delete a note by ID |
Checklists
Tool | Description |
| List checklists with optional filters (checklist_type: simple/task) |
| Get a single checklist by ID |
| Create a new checklist (use checklist_type='task' for Kanban) |
| Delete a checklist by ID |
Checklist Items
Tool | Description |
| Add item to checklist (use parent_index for nesting) |
| Update item fields |
| Delete an item by index path (e.g., "0", "0.1") |
| Mark item as completed |
| Mark item as incomplete |
| Reorder items (before/after/nest) |
Tasks (Kanban)
Tool | Description |
| List Kanban task boards |
| Get a single Kanban board by ID |
| Create a Kanban board (statuses: optional JSON string of columns) |
| Update board metadata (title or category only) |
| Delete a Kanban board by ID |
Kanban Columns (Statuses)
Tool | Description |
| Get all Kanban columns for a board |
| Add a new Kanban column |
| Update a column's properties |
| Delete a column (items move to first available) |
Task Items
Tool | Description |
| Add item to a Kanban board (supports nested sub-items and descriptions) |
| Get an item by index |
| Update a Kanban card's metadata fields (PATCH semantics) |
| Move item to different column |
| Delete an item by index |
General
Tool | Description |
| Full-text search across notes and checklists (search_type: note/checklist) |
| Get all categories organized by type |
| Get user statistics (note/checklist counts, completion rates) |
Example Usage
# List all notes for a user
mcp.list_notes(
api_key="user1-api-key-here",
category="Work"
)
# Create a note
mcp.create_note(
api_key="user1-api-key-here",
title="Meeting Notes",
content="# Weekly Sync\n- Discussed roadmap\n- Action items...",
category="Work"
)
# Add item to checklist
mcp.add_checklist_item(
api_key="user2-api-key-here",
list_id="<checklist-uuid>",
text="Review PRs",
status="in_progress"
)
# Move task between Kanban columns
mcp.update_task_item_status(
api_key="user1-api-key-here",
task_id="<task-uuid>",
item_index="0",
status="in_progress"
)
# Update a Kanban card's metadata (priority, dates, etc.)
mcp.update_task_item(
api_key="user1-api-key-here",
task_id="<task-uuid>",
item_index="0",
priority="high",
target_date="2026-07-01"
)
# Create a card with description
mcp.create_task_item(
api_key="user1-api-key-here",
task_id="<task-uuid>",
text="Implement authentication",
status="todo",
description="Add JWT-based auth flow"
)License
MIT
Related MCP Connectors
Agent-native notes, tasks, dev-docs, vaults, sync & handoffs. MCP + OpenAPI dual surface.
Notes, kanban tasks, and a capture inbox: read and create Flow data with a personal token.
Model Context Protocol server for todo.vu task management and time tracking.
Notes, files, GitHub, and Drive through one MCP connection.
Related MCP Servers
- FlicenseAqualityCmaintenanceA model context protocol server that allows interaction with TriliumNext Notes, providing tools to create, search, retrieve, update, and delete notes through natural language commands.994 npm69-
- AlicenseNot gradedqualityAmaintenanceModel Context Protocol server for BusinessMap (Kanbanize) integration. Provides comprehensive access to BusinessMap's project management features including workspaces, boards, cards, subtasks, parent-child relationships, outcomes, custom fields, and more.90 npm11MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables integration with ClickUp project management platform through a Model Context Protocol server, providing tooling for task management, workspace operations, and team collaboration with flexible authentication and deployment options.174 npm-
- AlicenseBqualityDmaintenanceEnables integration with ClickUp's task management platform, allowing users to retrieve, create, update, and manage tasks and lists through the Model Context Protocol.4174 npm2MIT