Skip to main content
Glama
digital-duck

Model Context Protocol Demo

by digital-duck
mcp_rag_architecture.mermaid3.09 kB
flowchart TB subgraph subGraph0["User Interface Layer"] UI["Streamlit Web Interface"] QI["Query Input"] CONFIG["Configuration Panel"] RESULTS["Results Display"] end subgraph subGraph1["Query Processing Engine"] QP["Query Parser"] RBP["Rule-Based Parser"] LLP["LLM Parser"] RAGP["RAG-Enhanced Parser"] end subgraph subGraph2["RAG System"] ST["Sentence Transformer<br>all-MiniLM-L6-v2"] EMB["Embeddings Store"] SS["Semantic Search"] DP["Dynamic Prompt Builder"] end subgraph subGraph3["LLM Providers"] GOOGLE["Google Gemini<br>2.5-flash, 2.5-pro, 2.0-flash"] OPENAI["OpenAI<br>GPT-4o, GPT-4o-mini, GPT-3.5"] ANTHROPIC["Anthropic<br>Claude-3-5-sonnet"] end subgraph subGraph4["MCP Server Layer"] MCP["MCP Server<br>mcp_server.py"] TOOLS["Available Tools"] CALC["Calculator Tool"] TRIG["Trigonometry Tool"] RESOURCES["Available Resources"] HEALTH["Health Check Tool"] ECHO["Echo Tool"] end subgraph subGraph5["Data Layer"] SQLITE["SQLite Database<br>mcp_chat_history.db"] CACHE["Streamlit Cache<br>Server Discovery"] SESSION["Session State"] end subgraph subGraph6["External APIs"] STOCK["Stock Price APIs"] EXTERNAL["Other External Resources"] end UI --> QI & SESSION QI --> QP CONFIG --> QP QP --> RBP & LLP & RAGP & MCP & SQLITE RAGP --> SS SS --> EMB EMB --> ST ST --> DP DP --> LLP LLP --> GOOGLE & OPENAI & ANTHROPIC MCP --> TOOLS & RESOURCES & CACHE & RESULTS TOOLS --> CALC & TRIG & HEALTH & ECHO & EMB RESOURCES --> STOCK & EXTERNAL & EMB RESULTS --> UI CACHE --> EMB UI:::userLayer QI:::userLayer CONFIG:::userLayer RESULTS:::userLayer QP:::processLayer RBP:::processLayer LLP:::processLayer RAGP:::processLayer ST:::ragLayer EMB:::ragLayer SS:::ragLayer DP:::ragLayer GOOGLE:::llmLayer OPENAI:::llmLayer ANTHROPIC:::llmLayer MCP:::mcpLayer TOOLS:::mcpLayer CALC:::mcpLayer TRIG:::mcpLayer HEALTH:::mcpLayer ECHO:::mcpLayer RESOURCES:::mcpLayer SQLITE:::dataLayer CACHE:::dataLayer SESSION:::dataLayer STOCK:::externalLayer EXTERNAL:::externalLayer classDef userLayer fill:#e1f5fe,stroke:#00008B,stroke-width:2px classDef processLayer fill:#f3e5f5,stroke:#4a148c,stroke-width:2px classDef ragLayer fill:#e8f5e8,stroke:#1b5e20,stroke-width:2px classDef llmLayer fill:#fff3e0,stroke:#e65100,stroke-width:2px classDef mcpLayer fill:#fce4ec,stroke:#880e4f,stroke-width:2px classDef dataLayer fill:#f1f8e9,stroke:#33691e,stroke-width:2px classDef externalLayer fill:#fff8e1,stroke:#f57f17,stroke-width:2px style subGraph5 color:#D50000 style subGraph0 fill:#BBDEFB style subGraph2 color:#D50000 style subGraph1 fill:#E1BEE7 style subGraph3 color:#D50000,fill:#BBDEFB style subGraph4 fill:#C8E6C9

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/digital-duck/mcp_demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server