u/panghy

Image 1 — Endara v0.1.7 — local MCP relay now auto-converts tool responses to TOON for ~40-60% token savings
Image 2 — Endara v0.1.7 — local MCP relay now auto-converts tool responses to TOON for ~40-60% token savings
▲ 9 r/mcp

Endara v0.1.7 — local MCP relay now auto-converts tool responses to TOON for ~40-60% token savings

I posted about Endara two weeks ago — an open-source MCP relay (Rust) that aggregates local MCP servers behind one endpoint. The feature people kept coming back to was the JS execution engine: chaining multiple tool calls in a single script instead of burning round-trips. That feedback shaped v0.1.7.

GitHub: https://github.com/endara-ai/endara-desktop

TOON output — Every MCP tool response is JSON, but JSON is token-wasteful for the structured data tools typically return (repeated field names on every row). The relay now auto-converts responses to TOON (Token-Oriented Object Notation) — field names declared once, CSV-like data rows, ~40-60% fewer tokens, lossless round-trip back to JSON. On by default; --no-toon to disable.

Logging overhaul — Colored structured logs, per-endpoint spans, tool-call event tracing. Desktop app now has filtering, live-streaming per-endpoint logs, and tool-call highlighting with duration badges.

OAuth hardening — Self-healing token endpoint discovery, DCR secret fix, three separate reliability improvements for OAuth MCP servers.

The architectural point worth making: cloud MCP gateways route your tool call traffic through hosted infrastructure. Endara is local. Rust binary on localhost, JS execution via the Boa engine in-process. Nothing leaves your machine.

If you're already running Endara, the app auto-updates — Settings → Check for Updates.

Open source (MIT): https://endara.ai

Happy to go deep on the architecture, TOON, or the Boa engine sandbox.

u/panghy — 22 hours ago
▲ 7 r/mcp

How I built an MCP relay to run my life on Claude (3 Gmail accounts, 2 WhatsApp numbers, 154 tools)

I wanted Claude to manage my emails, texts, calendars, and tasklist — three Gmail accounts (but Claude can only access one at a time), two WhatsApp numbers, multiple Google Calendars. Each MCP server works great on its own. Composing them into a single workflow is where it falls apart.

So I built Endara — an open-source MCP relay that aggregates all your servers behind one endpoint. Plus a WhatsApp MCP server with multi-account support. Full write-up with screenshots: https://medium.com/@clementpang/thoughts-from-the-front-line-the-duct-tape-problem-54e5dc0f4d11

The problems I kept hitting:

  • Claude only connects one Gmail account. I have three — personal, work, construction project. Need all three scanned.
  • Tokens randomly breaking. Todoist issues perpetual tokens, but Claude would just stop seeing the server. Re-add, restart, wait. This happened constantly.
  • No multi-instance support. I need two WhatsApp connections — one read-only (my personal messages) and one write-enabled (a separate PA number). Claude doesn't support two instances of the same server with different configs. So I ran two copies on different ports.
  • Config duplication. Want the same tools in Cursor? Duplicate your entire config. Update one, forget the other.
  • Built-in integrations are limited. Claude's OAuth GitHub connector doesn't see across orgs. I run GitHub MCP as STDIO with my own PAT — works great, but now it's another per-client config with a token sitting in a JSON file.
  • Tool overload. 154 tools from 6 servers. Claude and Cursor both do tool searching now, but 154 tools is still a lot of token budget, especially when chaining calls across servers.

Why this matters beyond my setup:

The moment your AI can see your emails and your texts and your calendar and your tasklist at the same time, it stops being a chatbot and starts being a chief of staff. Wife texts that she canceled the restaurant because her mom can't make it — Claude sees the WhatsApp, finds the calendar event, removes it, flags the open evening. No one told it to connect those dots.

First sidequest — WhatsApp MCP server:

I built an open-source WhatsApp MCP server: github.com/panghy/whatsapp-mcp-server. Electron + Baileys + SQLite. Multi-account — connect multiple WhatsApp numbers side by side, each with its own MCP endpoint. Group visibility controls so you can hide specific chats from AI access.

What Endara does:

  • One endpointlocalhost:9400/mcp. Point any MCP client at it. Claude, Cursor, VS Code, ChatGPT — same tools everywhere.
  • Tool prefixingtodoist__find-tasks, craft__documents_search — no name collisions
  • OAuth handling — browser-based login, auto-refresh, health monitoring
  • JS execution mode — 154 tools collapse to 3 meta-tools. The AI chains multiple tool calls in one JS snippet — one model turn instead of five round-trips.
  • Per-tool toggles — shut off send_message on your personal WhatsApp while keeping read access. Just a toggle switch.
  • Hot-reload — edit config, relay picks it up. No restart.

Desktop app (Tauri + Svelte) wraps it with a UI — endpoint dashboard, marketplace, OAuth flows, tool browser. Both open source. v0.1.5.

You don't need Endara to start automating — most of this works out-of-the-box with Claude Cowork. Endara is what you reach for when you hit the duct tape wall with multiple servers.

Happy to answer questions about the architecture, the WhatsApp server, or the setup.

u/panghy — 13 days ago