Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions presets/google-calendar.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"id": "google-calendar",
"name": "Google Calendar",
"icon": "📅",
"logo": "/icons/brands/googlecalendar.svg",
"logoColor": true,
"category": "Productivity",
"description": "List and manage Google Calendar events, freebusy lookups, multi-account support. Local stdio MCP via @cocal/google-calendar-mcp (MIT, 1k+ ⭐, 60k monthly installs).",
"localStdio": true,
"stdioCommand": "npx",
"stdioArgs": ["-y", "@cocal/google-calendar-mcp@latest"],
"mcpUrl": "stdio: npx -y @cocal/google-calendar-mcp@latest",
"mcpTransport": "stdio",
"setupDocsUrl": "https://github.com/nspady/google-calendar-mcp",
"setupSteps": [
{
"title": "Prerequisites",
"instructions": "Install <strong>Node.js</strong> (for <code>npx</code>). The MCP package downloads automatically on first connect.",
"gotcha": "Cold start can take a minute while the package installs."
},
{
"title": "Create Google Cloud OAuth credentials",
"instructions": "Open <a href=\"https://console.cloud.google.com/apis/credentials\" target=\"_blank\" rel=\"noopener\">console.cloud.google.com → APIs &amp; Services → Credentials</a>. Click <strong>Create credentials → OAuth client ID</strong>. Pick <strong>Desktop app</strong> as the application type. Name it <em>Vodou Calendar</em>. Click Create, then <strong>Download JSON</strong>.",
"gotcha": "Make sure the Google Calendar API is enabled for your project under <a href=\"https://console.cloud.google.com/apis/library/calendar-json.googleapis.com\" target=\"_blank\" rel=\"noopener\">APIs &amp; Services → Library → Google Calendar API → Enable</a>."
},
{
"title": "Set GOOGLE_OAUTH_CREDENTIALS env",
"instructions": "Save the downloaded JSON somewhere stable (e.g. <code>~/.config/vodou/google-oauth.json</code>) and set <code>GOOGLE_OAUTH_CREDENTIALS=&lt;absolute path&gt;</code> in your shell rc file. Reload the shell, then restart the Vodou gateway so the new env is in scope.",
"gotcha": "The path must be absolute — relative paths fail because the MCP runs from the gateway's working dir, not yours."
},
{
"title": "Add server",
"instructions": "Click <strong>Add server</strong> below. Vodou runs <code>vodou-core connect google-calendar</code> which spawns the MCP. The first call opens Google's standard consent screen in your default browser — click <strong>Allow</strong>. Tokens are cached locally.",
"gotcha": "If the browser doesn't open, copy the URL from the gateway log and open it manually."
},
{
"title": "Enable in Tools",
"instructions": "Open <strong>Capabilities → MCP Servers</strong> and turn <strong>google-calendar</strong> on so chat can call its 12 tools (<code>list-events</code>, <code>create-event</code>, <code>search-events</code>, <code>get-freebusy</code>, etc)."
}
]
}
42 changes: 42 additions & 0 deletions presets/pageindex.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"id": "pageindex",
"name": "PageIndex",
"icon": "📑",
"logo": "/icons/brands/pageindex.svg",
"category": "Productivity",
"description": "Reasoning-based RAG over long PDFs (contracts, filings, research). Cloud-hosted MCP — paid service, get a key at dash.pageindex.ai. Pricing: contact PageIndex.",
"apiKeyEnv": "PAGEINDEX_API_KEY",
"apiKeyHeader": "Authorization",
"apiKeyFormat": "Bearer {key}",
"setupDocsUrl": "https://docs.pageindex.ai/mcp",
"mcpUrl": "https://api.pageindex.ai/mcp",
"mcpTransport": "http",
"setupSteps": [
{
"title": "What you get",
"instructions": "PageIndex is <strong>vectorless RAG</strong>: it builds a semantic tree (table-of-contents-style) from each document and uses LLM tree-search to retrieve the most relevant sections. Strong on long structured PDFs — financial filings, legal contracts, RFPs, technical manuals, research papers. Pairs naturally with Enhanced-Thinking and ExecDesk personas."
},
{
"title": "Heads-up: paid cloud service",
"instructions": "PageIndex is a hosted SaaS. Documents you submit go to their cloud servers for OCR + tree-building + retrieval. There may be a free tier on signup; production usage requires a paid plan.",
"gotcha": "Check current pricing at <a href=\"https://pageindex.ai\" target=\"_blank\" rel=\"noopener\">pageindex.ai</a> or in the developer dashboard before sending sensitive documents through. Vodou never sees the document — it goes from PageIndex's servers directly to their LLMs."
},
{
"title": "Get your API key",
"instructions": "Sign up at the PageIndex Developer Dashboard, then create an API key. The key looks like a long opaque token (no public format prefix).",
"link": { "url": "https://dash.pageindex.ai", "label": "Open PageIndex Developer Dashboard" }
},
{
"title": "Paste the key",
"instructions": "Click <strong>Save API key &amp; Connect</strong> in the Apps modal and paste your key. Vodou stores it as <code>PAGEINDEX_API_KEY</code> and sends it as <code>Authorization: Bearer &lt;key&gt;</code> on every MCP call. The key never appears in chat history or logs."
},
{
"title": "Enable in Tools",
"instructions": "Open <strong>Capabilities → MCP Servers</strong> and turn <strong>pageindex</strong> on. Once connected you can ask things like <em>'index this PDF and tell me the indemnification clause'</em> or <em>'find every revenue mention in last quarter’s 10-K'</em>. Tool count populates after the first MCP handshake."
},
{
"title": "When to use it (vs. memory.db)",
"instructions": "Vodou's built-in memory is great for chat / notes / short text recall. PageIndex is the right tool when you have a <strong>specific long document</strong> (50+ pages) and need precise, traceable answers grounded in page references. For both layers in one chat, Enhanced-Thinking can plan, PageIndex retrieves, and the active LLM stitches the answer."
}
]
}
45 changes: 45 additions & 0 deletions presets/vodou-mac-control.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"id": "vodou-mac-control",
"name": "Mac Control",
"icon": "🖥️",
"logo": "/icons/brands/apple.svg",
"category": "Productivity",
"description": "Native macOS control: read any app's UI tree, click, type, scroll, take screenshots, manage windows, and read/write the clipboard. 13 tools via Apple's accessibility APIs.",
"localStdio": true,
"stdioCommand": "node",
"stdioArgs": ["MCP-servers/vodou-mac-control/dist/index.js"],
"mcpUrl": "stdio: node MCP-servers/vodou-mac-control/dist/index.js",
"mcpTransport": "stdio",
"setupDocsUrl": "https://github.com/VodouAI/OS",
"setupSteps": [
{
"title": "Why permission is required",
"instructions": "macOS sandboxes apps that read or control other apps' UIs. The Swift binary that powers Mac Control (<code>vodou-ax</code>) needs <strong>Accessibility</strong> permission to read UI trees and send clicks/keys to other apps. This is the same permission Raycast, Rectangle, BetterTouchTool, etc. ask for. Without it, every tool returns the system error <code>kAXErrorAPIDisabled</code>."
},
{
"title": "Grant Accessibility permission",
"instructions": "Open <strong>System Settings → Privacy &amp; Security → Accessibility</strong>. Click the <strong>+</strong> button, navigate to your Vodou install dir → <code>MCP-servers/vodou-mac-control/bin/</code>, and add <code>vodou-ax-arm64</code> (Apple Silicon) or <code>vodou-ax-x86_64</code> (Intel). Toggle it ON.",
"link": { "url": "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility", "label": "Open Accessibility settings" },
"gotcha": "If the binary doesn't appear when you click <strong>+</strong>, drag it directly from Finder into the Accessibility list. The first attempt to use any tool also surfaces the permission prompt — you can grant it then."
},
{
"title": "(Optional) Grant Screen Recording for screenshots",
"instructions": "If you want to use the <code>screenshot</code> tool, grant <strong>Screen Recording</strong> permission in <strong>System Settings → Privacy &amp; Security → Screen Recording</strong>. Add the same <code>vodou-ax-*</code> binary. Without this, Mac Control still works — only the screenshot tool fails.",
"link": { "url": "x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture", "label": "Open Screen Recording settings" }
},
{
"title": "Add server",
"instructions": "Click <strong>Add server</strong> below. Vodou runs <code>vodou-core connect vodou-mac-control</code> which spawns the bundled stdio launcher. The first tool call uses the Accessibility permission you granted above.",
"gotcha": "If <strong>Add server</strong> fails with <em>kAXErrorAPIDisabled</em> on the first tool, the permission isn't active yet. Toggle it OFF and back ON in System Settings — macOS sometimes caches the deny. Restart the gateway with <code>./start-vodou-services.sh</code> if needed."
},
{
"title": "Enable in Tools",
"instructions": "Open <strong>Capabilities → MCP Servers</strong> and turn <strong>vodou-mac-control</strong> on. You get 13 tools: <code>traverse</code>, <code>click_element_and_traverse</code>, <code>type_and_traverse</code>, <code>press_key_and_traverse</code>, <code>scroll_and_traverse</code>, <code>open_and_traverse</code>, <code>screenshot</code>, <code>list_windows</code>, <code>manage_window</code>, <code>clipboard_read</code>, <code>clipboard_write</code>, plus two utility tools. Try saying <em>'list my open windows'</em> or <em>'take a screenshot'</em> in chat."
},
{
"title": "Verify it works",
"instructions": "From the chat, ask: <em>'what windows are open?'</em>. The <code>list_windows</code> tool runs and you should see your active apps and window titles. If it errors, re-check the Accessibility toggle in System Settings.",
"gotcha": "Every action returns the full UI tree + a diff. Responses can be large — that's intentional, the AI uses the tree to plan the next click. Don't be alarmed by long tool outputs."
}
]
}
Loading