# Outline AI Workflow **Date:** 2026-02-01 21:08 **Context:** Setup MCP server for AI interaction with Outline wiki --- ## Quick Reference | Item | Value | |------|-------| | **Outline URL** | http://192.168.1.3:3080 | | **API URL** | http://192.168.1.3:3080/api | | **MCP Server** | `mcp-outline` (via uvx) | | **NUC Docs Collection** | `2a42945b-1a4f-4c92-add5-dfa147ef3f56` | | **API Key** | `ol_api_nIjWn2lJn4Ho42kKcivcqTHjyy8Vg9ycxmchHa` | | **Key Name** | Claude MCP v2 (full access) | | **Key Expires** | Mar 03, 2026 | --- ## MCP Tools Available After restarting Claude Code (`/mcp` to verify): ``` mcp__outline__search_documents # Search by keywords mcp__outline__list_collections # List all collections mcp__outline__read_document # Get document content mcp__outline__create_document # Create new document mcp__outline__update_document # Update document mcp__outline__move_document # Move to different collection mcp__outline__archive_document # Archive document mcp__outline__delete_document # Delete document mcp__outline__export_document # Export as markdown mcp__outline__batch_create_documents # Create multiple docs mcp__outline__ask_ai_about_documents # AI queries on docs ``` --- ## Common Workflows ### 1. Save Important Finding to Wiki ```python mcp__outline__create_document( title="", text="", collectionId="2a42945b-1a4f-4c92-add5-dfa147ef3f56", publish=True ) ``` ### 2. Search Before Solving ```python # Check if solution already documented results = mcp__outline__search_documents(query="tailscale funnel") ``` ### 3. Update Existing Doc ```python mcp__outline__update_document( id="", text="", append=False # True to append instead of replace ) ``` ### 4. Find Doc by Title ```python doc_id = mcp__outline__get_document_id_from_title(title="Architecture") ``` --- ## REST API Fallback When MCP unavailable: ```bash # Create document curl -X POST 'http://192.168.1.3:3080/api/documents.create' \ -H 'Authorization: Bearer ol_api_cs243A8BKmEW6yAdrMp05PxTILMBjPofIQcVcM' \ -H 'Content-Type: application/json' \ -d '{ "title": "Title", "text": "Content", "collectionId": "2a42945b-1a4f-4c92-add5-dfa147ef3f56", "publish": true }' # Search curl -X POST 'http://192.168.1.3:3080/api/documents.search' \ -H 'Authorization: Bearer ol_api_cs243A8BKmEW6yAdrMp05PxTILMBjPofIQcVcM' \ -H 'Content-Type: application/json' \ -d '{"query": "search term"}' ``` --- ## Config Location `~/.claude/settings.json`: ```json { "mcpServers": { "outline": { "command": "uvx", "args": ["mcp-outline"], "env": { "OUTLINE_API_KEY": "ol_api_cs243A8BKmEW6yAdrMp05PxTILMBjPofIQcVcM", "OUTLINE_API_URL": "http://192.168.1.3:3080/api" } } } } ``` --- ## When to Use **Save to Outline (persistent docs):** - Infrastructure guides - Configuration docs - Troubleshooting procedures - Architecture decisions **Save to .artifacts/ (session notes):** - API keys/tokens generated - Temporary findings - Session-specific configs --- ## Generate New API Key 1. Go to http://192.168.1.3:3080/settings/api-and-apps 2. Click "New API key..." 3. Set scopes: `documents.create documents.update documents.read collections.read` 4. Copy immediately (shown once) 5. Update `~/.claude/settings.json` --- ## Related - MCP Server: https://github.com/Vortiago/mcp-outline - Outline API: https://www.getoutline.com/developers - Full guide: `docs/outline-ai-workflow.md`