SealMyIdea Support Assistant
The AI support layer for SealMyIdea's e-signature platform — a standalone Claude API microservice with an agentic tool-calling loop, streamed answers, and an MCP server surface for external clients.
- role
- Designed & built end to end
- stack
- Node.js, TypeScript, Anthropic Claude API, MCP, MongoDB
- when
- Jul 2025 — Present
- 13
- read-only agentic tools
- 10x
- cost cut via prompt caching
- $0.016
- blended cost per conversation
Problem
Support volume on a digital IP-sealing and e-signature product needed an assistant that could actually answer from a live knowledge base and act on read-only platform data — not a static FAQ bot.
Approach
Built a standalone Node/TypeScript microservice on the Claude API: an agentic tool-calling loop over 13 read-only tools (Zod schemas converted to JSON Schema), responses streamed over SSE, multi-turn conversations persisted in MongoDB.
Decisions
- cost
- Prompt-cached the system prompt, knowledge base, and tool definitions on a 1-hour TTL, cutting blended spend roughly 10x across 578 measured production conversations.
- mcp surface
- Exposed the same tool registry as a Model Context Protocol Streamable HTTP server, letting external MCP clients call the platform's read-only tools under per-user JWT auth.
- isolation
- Forwarded the end user's JWT on every tool call so each sibling service applies its own authorization — cross-user data access is structurally impossible.
- escalation
- Added Zendesk escalation with full transcript handoff, gated behind verification-first system prompt rules so the assistant resolves before escalating.
What I'd change
The knowledge base test harness is currently manual — the next iteration adds an eval suite that runs on every knowledge-base write so cache invalidation and answer quality are checked automatically, not just cache freshness.
Node.js, TypeScript, Claude API, MCP, MongoDB, Zod, SSE