Synaplan
Open-source AI platform for companies: self-hosted AI agents, GDPR-compliant chatbot widget, RAG knowledge base, WhatsApp and Outlook AI, MCP, multi-model routing. Docker, Kubernetes or hosted in Germ
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗One inbox for all your client conversations, plus an MCP server so Claude can read them all in one place.
Built: Gmail (multiple accounts, personal + company), Slack (read-only, signed in as you), client grouping with auto-tag rules, mobile-friendly installable web app, OAuth-protected MCP server for Claude, and an approval queue for replies (with editing). Planned: WhatsApp Business (Cloud API), Upwork, Telegram, daily-digest page.
See CHECKLIST.md for what to configure and how to test.
npm run dev, npm test (55 tests: OAuth, MCP, approvals, Gmail/Slack sync, clients), npm run typecheck.DEMO_MODE=1 npm run dev runs the UI against in-memory fake data (never active in production builds).src/lib/testing) and stubbed Gmail/Slack HTTP, so they need no credentials.draft_reply, which only creates a pending draft.POST /api/drafts/:id with a signed-in human session (not the MCP key).audit_log.account_secrets, which has no RLS policy (service role only).connected, needs_reauth, blocked_by_admin, error); company accounts may be blocked by a Workspace admin.supabase/migrations/0001_init.sql in the SQL editor. Enable Email auth.{APP_URL}/api/connect/gmail/callback. While the app is in "Testing", add your own Gmail addresses as test users (note: refresh tokens expire after 7 days in Testing mode; a public product needs Google verification and a security assessment for restricted Gmail scopes)..env.example to .env.local and fill it in. Generate secrets with openssl rand -base64 32 (TOKEN_ENCRYPTION_KEY) and openssl rand -hex 32 (CRON_SECRET). Run migrations 0001 and 0002. In Supabase → Authentication → URL Configuration, set Site URL and add {APP_URL}/auth/callback to Redirect URLs.npm install && npm run dev, or deploy to Vercel with the same env vars (needed for phone access).POST /api/sync with Authorization: Bearer $CRON_SECRET.In Claude: Settings → Connectors → Add custom connector → URL {APP_URL}/api/mcp.
Claude discovers the OAuth endpoints, you sign in, see a consent screen listing exactly what it can do, and click Approve. No keys to copy.
Implements OAuth 2.1: dynamic client registration, PKCE (S256 only), single-use codes, hashed tokens, 1h access tokens and rotating 30-day refresh tokens with replay detection. Revoke any time under Connect accounts → Connected apps.
Tools: list_accounts, list_threads, get_thread, search_messages, daily_digest, draft_reply.