Skip to main content
Glama
digital-duck

Model Context Protocol Demo

by digital-duck
readme.md3.91 kB
## 🚀 **Complete Enhanced MCP Client Features** ### **1. Dynamic Tool Registration System** - **Custom Tool Definition**: Structured tool creation with parameters, validation, and metadata - **Local Function Support**: Register Python functions as tools - **HTTP Endpoint Support**: Connect external APIs as tools - **Persistent Storage**: JSON-based registry with automatic loading/saving - **Tool Management UI**: Complete interface for adding, viewing, and removing tools ### **2. Advanced Batch Operations** - **Dependency Resolution**: Sequential execution with proper dependency chains - **Variable References**: Use `${variable_name}` to pass results between operations - **Parallel Execution**: Run independent operations simultaneously - **Error Handling**: Fail-fast or continue-on-error modes - **Mixed Tool Support**: Combine standard MCP tools with custom tools ### **3. Enhanced RAG System** - **Custom Tool Integration**: Includes custom tools in semantic search - **Rich Context Building**: Enhanced embeddings with examples and synonyms - **Dynamic Prompt Generation**: Adapts system prompts based on available tools - **Performance Optimization**: Uses sentence-transformers efficient search ### **4. Comprehensive UI Features** - **Tool Management Interface**: Add, view, search, and remove custom tools - **Batch Operation Examples**: Quick-start templates for complex workflows - **Enhanced Sidebar**: Real-time metrics, tool usage stats, performance tracking - **Rich Result Display**: Different styling for standard, custom, and batch operations - **Debug Information**: Detailed parsing analysis and RAG match visualization ### **5. Sample Custom Tools Included** - **Unit Converter**: Convert between different measurement units - **Text Analyzer**: Word count, character count, and text statistics - **Extensible Framework**: Easy template for adding more tools ## 🎯 **Key Usage Examples** ### **Single Operations:** ``` - "15 + 27" - "convert 5 feet to meters" - "analyze this text: Hello world" - "sine of 30 degrees" ``` ### **Batch Operations:** ``` - "Calculate 15 + 27, then find sine of that result" - "Convert 100 km to miles, then multiply by 1.5" - "Analyze text 'Hello world', then echo the word count" ``` ### **Custom Tool Examples:** ``` - "Convert 5.5 feet to centimeters" - "How many words in: The quick brown fox jumps" - "Text statistics for: Lorem ipsum dolor sit amet" ``` ## 🛠 **Installation & Setup** 1. **Install Dependencies:** ```bash pip install streamlit sentence-transformers scikit-learn fastmcp ``` 2. **Set Environment Variables:** ```bash export OPENAI_API_KEY="your_key" export ANTHROPIC_API_KEY="your_key" export GEMINI_API_KEY="your_key" ``` 3. **Run the Application:** ```bash streamlit run your_app.py ``` ## 🚀 **Advanced Features** - **Database Persistence**: SQLite storage for chat history with batch operation tracking - **Multi-LLM Support**: Google Gemini, OpenAI GPT, Anthropic Claude - **Caching**: Efficient server discovery with Streamlit caching - **Error Recovery**: Graceful fallbacks and comprehensive error handling - **Performance Metrics**: Real-time analytics and usage statistics - **Tool Discovery**: Automatic MCP server tool detection with RAG integration This complete implementation transforms your MCP demo into a powerful, extensible platform where users can: 1. **Register their own tools** through a user-friendly interface 2. **Chain multiple operations** together with dependency resolution 3. **Benefit from intelligent tool selection** via RAG-enhanced parsing 4. **Monitor performance** and usage patterns in real-time The application is production-ready with comprehensive error handling, logging, and a polished user interface. Users can immediately start using the sample tools and batch operations, then extend the system with their own custom tools!

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