Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Caramelo Server

FreeNot checked

MCP server that exposes tools to query DulceGestion business data (orders, stock, customers) and retrieve documentation via RAG, enabling Claude to assist with

GitHubEmbed

About

MCP server that exposes tools to query DulceGestion business data (orders, stock, customers) and retrieve documentation via RAG, enabling Claude to assist with pastry shop management.

README

Multi-channel chatbot for DulceGestion - a pastry shop management SaaS.

What it does

  • Answers user questions about how to use the app (RAG-powered from documentation)
  • Queries live business data (orders, stock, customers) via tool calling
  • Works on Telegram, Web Widget (embeddable), and WhatsApp (Twilio)
  • Exposes an MCP server for use with Claude Desktop/Code

Architecture

Channels (in/out)        Brain                  Data
+----------------+    +----------------+    +------------------+
| Telegram       |--->|                |--->| RAG (docs)       |
| Web Widget     |--->|   Bot Engine   |--->| MCP Tools        |
| WhatsApp       |--->|                |--->| Claude LLM       |
+----------------+    +----------------+    +------------------+

Adapter pattern - each layer has swappable implementations:

  • Channels: Telegram (telegraf), WebSocket (widget), WhatsApp (Twilio)
  • LLM: Claude (Anthropic API) or hardcoded (keyword matching for testing)
  • Tools: MCP registry with DulceGestion API client

Tech Stack

TypeScript, Express, telegraf, ws, @anthropic-ai/sdk, @modelcontextprotocol/sdk, Voyage AI (embeddings), vitest

Quick Start

# Install
npm install

# Configure
cp .env.example .env
# Edit .env with your keys

# Index documentation for RAG
npm run index-docs

# Run
npm run dev

Environment Variables

Variable Description
TELEGRAM_TOKEN Bot token from @BotFather
ANTHROPIC_API_KEY Claude API key
VOYAGE_API_KEY Voyage AI key (for embeddings)
DULCEGESTION_API_URL DulceGestion API endpoint
LLM_ADAPTER claude or hardcoded
PORT HTTP server port (default: 3002)
SESSION_TTL_MINUTES Chat session timeout
WIDGET_ALLOWED_ORIGIN CORS origin for widget

Scripts

Script Description
npm run dev Start with hot reload
npm start Start in production
npm test Run tests
npm run index-docs Generate RAG embeddings from docs/flows/
npm run mcp Start MCP stdio server (for Claude Desktop/Code)

MCP Server

Use with Claude Desktop or Claude Code:

{
  "mcpServers": {
    "dulcegestion": {
      "command": "npx",
      "args": ["tsx", "src/mcp/server.ts"],
      "cwd": "/path/to/dulcechat",
      "env": {
        "DULCEGESTION_API_URL": "http://localhost:3001/api",
        "DULCEGESTION_AUTH_TOKEN": "your-jwt-token"
      }
    }
  }
}

Embeddable Widget

Add to any page:

<script src="https://your-server/dulcechat/widget.js" data-token="USER_JWT"></script>

Project Structure

src/
  channels/        # Messaging adapters (Telegram, Web, WhatsApp)
  llm/             # LLM adapters (Claude, hardcoded)
  mcp/             # MCP tools and server
    tools/         # Individual tool implementations
  rag/             # RAG system (chunker, embeddings, retriever)
  session/         # In-memory session store with TTL
  engine.ts        # Core orchestrator
  index.ts         # Entry point
docs/flows/        # User documentation for RAG indexing
widget/            # Embeddable chat widget (HTML + JS)

Adding New Tools

  1. Create src/mcp/tools/your-tool.ts implementing McpTool
  2. Register it in src/index.ts
  3. Automatically available in Caramelo, Claude Desktop, and Claude Code

from github.com/pablopelardas/dulcechat

Installing Caramelo Server

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/pablopelardas/dulcechat

FAQ

Is Caramelo Server MCP free?

Yes, Caramelo Server MCP is free — one-click install via Unyly at no cost.

Does Caramelo Server need an API key?

No, Caramelo Server runs without API keys or environment variables.

Is Caramelo Server hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Caramelo Server in Claude Desktop, Claude Code or Cursor?

Open Caramelo Server on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Caramelo Server with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All ai MCPs