Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Connect AI assistants to Outline for document search, reading, and management
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
OUTLINE_API_KEY, OUTLINE_API_URLValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"outline": {
"command": "uvx",
"args": [
"mcp-outline"
],
"env": {
"OUTLINE_API_KEY": "your-value",
"OUTLINE_API_URL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add outline --env OUTLINE_API_KEY=your-value --env OUTLINE_API_URL=your-value -- uvx mcp-outlineFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"outline": {
"command": "uvx",
"args": [
"mcp-outline"
],
"env": {
"OUTLINE_API_KEY": "your-value",
"OUTLINE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"outline": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-outline"
],
"env": {
"OUTLINE_API_KEY": "your-value",
"OUTLINE_API_URL": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
OUTLINE_API_URL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account Vortiago, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: OUTLINE_API_KEY
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.11.0) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
## 📢 Official Outline MCP Server Available
Outline now ships an official MCP server — we recommend using it.
A Model Context Protocol server for interacting with Outline document management.
Before using this MCP server, you need:
Getting your API key: Log into Outline → Click your profile → Settings → API Keys → "New API Key". Copy the generated token.
Click a button to install with interactive API key prompt:
%22%2C%22password%22%3Afalse%7D%5D&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-outline%22%5D%2C%22env%22%3A%7B%22OUTLINE_API_KEY%22%3A%22%24%7Binput%3Aoutline_api_key%7D%22%2C%22OUTLINE_API_URL%22%3A%22%24%7Binput%3Aoutline_api_url%7D%22%7D%7D) %22%2C%22password%22%3Afalse%7D%5D&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-outline%22%5D%2C%22env%22%3A%7B%22OUTLINE_API_KEY%22%3A%22%24%7Binput%3Aoutline_api_key%7D%22%2C%22OUTLINE_API_URL%22%3A%22%24%7Binput%3Aoutline_api_url%7D%22%7D%7D&quality=insiders)
Install with uv (recommended), pip, or Docker:
uvx mcp-outline # using uv
pip install mcp-outline # using pip
# using Docker
docker run -e OUTLINE_API_KEY= ghcr.io/vortiago/mcp-outline:latest
Then add to your MCP client config (works with VS Code, Claude Desktop, Cursor, and others):
{
"inputs": [ { "id": "outline_api_key", "type": "promptString", "description": "Enter OUTLINE_API_KEY", "password": true }, { "id": "outline_api_url", "type": "promptString", "description": "Outline API URL (optional, for self-hosted)", "password": false } ], "servers": { "mcp-outline": { "command": "uvx", "args": ["mcp-outline"], "env": { "OUTLINE_API_KEY": "${input:outline_api_key}", "OUTLINE_API_URL": "${input:outline_api_url}" } } } }
Claude Code
claude mcp add mcp-outline uvx mcp-outline
Installing the repo as a plugin instead also bundles the outline-explorer agent (fast read-only wiki exploration) and the outline skill (Outline conventions: mermaidjs fences, document structure, editing workflows).
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "mcp-outline": { "command": "uvx", "args": ["mcp-outline"], "env": { "OUTLINE_API_KEY": " ", "OUTLINE_API_URL": " " } } } }
</details>
Setup guides for more clients: Docker (HTTP), Cline, Codex, Windsurf, and others
| Variable | Required | Default | Notes |
|---|---|---|---|
OUTLINE_API_KEY | Yes* | - | Required for tool calls to succeed. For SSE/HTTP, can alternatively be provided per-request via x-outline-api-key header (details) |
OUTLINE_API_URL | No | https://app.getoutline.com/api | For self-hosted: https://your-domain/api |
OUTLINE_VERIFY_SSL | No | true | Set false for self-signed certificates |
OUTLINE_READ_ONLY | No | false | true = disable ALL write operations (details) |
OUTLINE_DISABLE_DELETE | No | false | true = disable only delete operations (details) |
OUTLINE_DISABLE_AI_TOOLS | No | false | true = disable AI tools (for Outline instances without OpenAI) |
OUTLINE_DISABLE_RECENT_DOCUMENTS | No | false | true = disable the list_recently_updated_documents tool |
OUTLINE_DYNAMIC_TOOL_LIST | No | false | true = enable per-user tool filtering by role/key scopes (details) |
OUTLINE_MAX_CONNECTIONS | No | 100 | Max concurrent connections in pool |
OUTLINE_MAX_KEEPALIVE | No | 20 | Max idle connections in pool |
OUTLINE_TIMEOUT | No | 30.0 | Read timeout in seconds |
OUTLINE_CONNECT_TIMEOUT | No | 5.0 | Connection timeout in seconds |
OUTLINE_WRITE_TIMEOUT | No | 30.0 | Write timeout in seconds |
OUTLINE_CACHE_TTL | No | 30 | Document cache TTL in seconds. The short default absorbs same-task read bursts without stressing the Outline API; set 0 to disable caching (always-fresh reads) or higher (e.g. 300) for more API savings. Staged edits work either way |
OUTLINE_CACHE_MAX_SIZE | No | 100 | Max cached documents |
MCP_TRANSPORT | No | stdio | Transport mode: stdio (local), sse or streamable-http (remote) |
MCP_HOST | No | 127.0.0.1 | Server host. Use 0.0.0.0 in Docker for external connections |
MCP_PORT | No | 3000 | HTTP server port (only for sse and streamable-http modes) |
| Feature | Env Var | Effect |
|---|---|---|
| Read-only mode | OUTLINE_READ_ONLY=true | Disables all write operations — only search, read, and export tools available |
| Disable deletes | OUTLINE_DISABLE_DELETE=true | Disables only delete operations, all other writes allowed |
| Disable recent-changes tool | OUTLINE_DISABLE_RECENT_DOCUMENTS=true | Disables only the list_recently_updated_documents tool |
| Dynamic tool list | OUTLINE_DYNAMIC_TOOL_LIST=true | Filters tools per-user based on Outline role and API key scopes |
| Per-user Outline API keys | x-outline-api-key header | Each user passes their own Outline API key in HTTP mode for multi-user setups |
Read-only mode takes precedence over disable-delete. See Configuration Guide for details.
Note: Tool availability depends on your access control settings.
search_documents(query, collection_id?, limit?, offset?, statusFilter?) - Search documents by keywords with pagination. Defaults to published documents; pass statusFilter with draft, archived, and/or published to include other stateslist_recently_updated_documents(date_filter?, collection_id?, status_filter?, limit?, offset?) - List documents by most recent change, newest first (e.g. "what changed this week"). date_filter windows by last change: day/week/month/year (default week). Defaults to published documentslist_collections() - List all collectionsget_collection_structure(collection_id) - Get document hierarchy within a collectionget_document_id_from_title(query, collection_id?) - Find document ID by title searchread_document(document_id, offset?, limit?) - Get document content with optional line-range paginationexport_document(document_id) - Export document as markdownget_document_toc(document_id) - Get table of contents with heading structure and line numbersread_document_section(document_id, heading) - Read a specific section by heading match (case-insensitive substring)create_document(title, collection_id, text?, parent_document_id?, publish?) - Create new documentupdate_document(document_id, title?, text?, append?) - Replace full document content (append mode available)edit_document(document_id, edits, save?) - String-match editing with batched replacements; save=False stages changes locally, save=True on the final call pushes all changesmove_document(document_id, collection_id?, parent_document_id?) - Move document to different collection or parentarchive_document(document_id) - Archive documentunarchive_document(document_id) - Restore document from archivedelete_document(document_id, permanent?) - Delete document (or move to trash)restore_document(document_id) - Restore document from trashlist_archived_documents() - List all archived documentslist_trash() - List all documents in trashadd_comment(document_id, text, parent_comment_id?) - Add comment to document (supports threaded replies)list_document_comments(document_id, include_anchor_text?, limit?, offset?) - View document comments with paginationget_comment(comment_id, include_anchor_text?) - Get specific comment detailsget_document_backlinks(document_id) - Find documents that link to this documentcreate_collection(name, description?, color?) - Create new collectionupdate_collection(collection_id, name?, description?, color?) - Update collection propertiesdelete_collection(collection_id) - Delete collectionexport_collection(collection_id, format?) - Export collection (default: outline-markdown)export_all_collections(format?) - Export all collectionsOnly the beginning is shown; read the rest in the repo