Vist
A shared Second Brain for you and your LLMs.
What it can do
- Complete Task: Mark a task as completed. After completing a task, call update_project_state to keep the project context current.
- Create Note: Create a new note in the user's knowledge base. Requires a title and markdown content. Optionally assign to a folder and add labels.
- Create Task: Create a new task. Supports priority (low/medium/high), due dates, labels, and optional linking to a source note.
What data it sees
Do you need an account
No: the server works without sign-in
A shared Second Brain for you and your LLMs. Notes, tasks, project context, and a growing knowledge base, perfectly synced.
Vist is a multi-tenant, privacy-first Second Brain built specifically for the age of AI. Unlike traditional note-taking apps that silo your data, Vist exposes your entire workspace (notes, tasks, agent memories, and project state) directly to your LLMs via the Model Context Protocol (MCP).
When you connect Vist to your favorite AI agent, it gains a persistent memory of your work. It can proactively read your project notes, manage your todo lists, update its own agent-specific context, and search your knowledge base — all in real time.
Key Capabilities:
- Unified Workspace: Seamlessly interlink Markdown-rich notes and task lists.
- Agent Memories: AI models read and write typed memories — decision_log, learned_facts, active_context, and project_state — so they never lose context between sessions. Query memory semantically to surface exactly what's relevant.
- LLM Wiki: Agents can create and update structured wiki pages directly in your knowledge base. Over time, your workspace becomes a living reference - built by you and your AI, together.
- Full-Text & Semantic Search: Agents query your entire knowledge base instantly to find relevant facts, past decisions, or prior work.
- Interactive UI Cards: Rich MCP App integrations - like rendering an interactive Task List UI directly inside the chat window.
Vist bridges the gap between human thought and AI execution, ensuring everything is linked, transparent, and effortlessly flows together.
How to connect
How to connect Vist to Claude
The server address to paste into Claude settings:
https://app--vist.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect Vist to ChatGPT
The server address to paste into ChatGPT settings:
https://app--vist.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect Vist to Cursor
The server address to paste into Cursor settings:
https://app--vist.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (17)
Raw names from tools/list. Only developers need these.
| complete_task | Mark a task as completed. After completing a task, call update_project_state to keep the project context current. |
| create_note | Create a new note in the user's knowledge base. Requires a title and markdown content. Optionally assign to a folder and add labels. |
| create_task | Create a new task. Supports priority (low/medium/high), due dates, labels, and optional linking to a source note. |
| get_note | Get a single note by ID, including its full content, labels, and folder. |
| get_task | Get a single task by ID, including its status, priority, due date, and labels. |
| list_folders | Get all folders for the user. Optionally include note counts per folder. |
| list_notes | Get notes, optionally filtered by folder. Returns titles, IDs, and metadata (not full content). |
| list_tasks | Returns raw JSON task data for programmatic use. For displaying tasks to the user, use show_task_list instead which renders an interactive UI. |
| load_context | Loads the full agent persona, current project state, and session context. IMPORTANT: You MUST call this tool before any other tool at the start of every session. It establishes your identity, active projects, tasks, and user preferences. |
| query_memory | Search across agent memories using semantic vector search. Returns ranked results with relevance scores. Useful for finding specific decisions, facts, or project context. Use this to check for existing memories before creating new ones. Understands conceptual similarity — e.g., searching 'deployment issues' finds memories about 'Kamal proxy configuration'. |
| record_memory | Record or update a memory for persistent agent context. Use for decisions (decision_log), stable facts (learned_facts), user preferences (preferences), or short-lived context (active_context). For project status tracking, prefer update_project_state instead. Pass memory_id to update an existing memory rather than creating duplicates. Requires load_context to have been called first. |
| search_knowledge_base | Search across the user's notes and tasks using full-text search. Returns results ranked by relevance with snippets. Use this to find information in the user's knowledge base before creating new content. Supports semantic search — conceptually related results are returned even when exact keywords don't match. |
| show_task_list | Displays the interactive Task List UI to the user. Supports filtering by query, label, status (incomplete/completed/all), and due date (today/overdue/upcoming). Always prefer this over list_tasks for user-facing task views. |
| sync_agent_memory | Fast retrieval of memory delta for AI agents. Returns memories prioritized by relevance within token budget. Use for incremental sync after load_context has been called; not a replacement for load_context at session start. |
| update_note | Update an existing note. Only provided fields are changed. |
| update_project_state | Update structured project state memory. Merges provided sections with existing content — omitted sections are preserved, not deleted. To clear a section, pass an empty array or empty string. Requires load_context to have been called first in this session. |
| update_task | Update a task's description, due date, priority, or labels. Use complete_task to mark tasks as done. |