Content
[](LICENSE) [](https://github.com/microsoft/teams-toolkit) [](#ai-providers) [](https://www.typescriptlang.org/)  [](https://azure.microsoft.com/) [](https://openai.com/) [](https://www.anthropic.com/) [](https://wandb.ai/) [](https://ollama.ai/) [](http://localhost:3978/api)
**Muyal** is an enterprise-grade **intelligence hub** designed to unify your organization’s knowledge and AI capabilities into a **single source of truth** . Muyal is at its base [CEA](https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/build-custom-engine-agents-in-ai-foundry-for-microsoft-365-copilot/4449623) (Microsoft Custom Engine Agent) and enables seamless integration across Microsoft 365, web platforms, and many other agent networks—delivering **context-aware, intelligent responses** wherever your users work.
At its core, Muyal combines **templated knowledge sources** with **infinite extensibility** , ensuring that new domains can be added effortlessly and instantly leveraged across all connected channels. With **Model Context Protocol (MCP)** support and **Agent-to-Agent (A2A)** communication, Muyal doesn’t just serve as a knowledge engine—it becomes the **central nervous system** of your AI ecosystem, powering collaboration between tools, agents, and people.
## 🐰 Why "Muyal"? (The Rabbit Story)
"Muyal" means "Rabbit" in Tamil language - and there's a delightful reason behind this choice!
Just like rabbits, this AI agent is:
* ⚡ Lightning Fast: Hops between AI providers faster than you can say "ChatGPT"
* 🔄 Multi-Platform: Jumps seamlessly from Teams to Web to Slack (like rabbits hopping between gardens)
* 🌱 Reproduces Quickly: One codebase, infinite platform adaptations (rabbits are known for... well, you know)
* 👂 Always Listening: Those big ears aren't just for show - ready to respond on any platform
* 🏠 Adaptable: Comfortable in any environment - cloud, local, enterprise, or your garage server
* 🥕 Loves Good Food: Feeds on quality prompts and delivers even better responses
Plus, "Muyal" sounds way cooler than "GenericAIBot2024" and definitely more professional than "RabbitGPT" 😄
**Fun Fact:** In Tamil folklore, rabbits are considered clever problem-solvers who find creative solutions - exactly what this AI agent does when routing between 6 different AI providers!
## Features
* **Single Source of Truth**: One backend intelligence system that serves Microsoft 365, MCP clients, web interfaces, and agent networks
* **Automatic Knowledge Enhancement**: Contextually aware responses without manual commands or data lookup - built on the [Microsoft CEA pattern](https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/build-custom-engine-agents-in-ai-foundry-for-microsoft-365-copilot/4449623)
* **Templated Knowledge Sources**: Copy-paste template system for adding new knowledge domains - each new source instantly works across all platforms
* **MCP Integration**: Native Model Context Protocol server that exposes capabilities to Claude Desktop, VS Code, and any MCP client
* **Agent-to-Agent (A2A)**: Automatic agent discovery, registration, and inter-agent communication for building intelligent networks
* **Universal Platform Support**: Same intelligence engine powers Teams, Web, Slack, Discord, APIs, and custom integrations
* **Conversation Memory**: Persistent chat history with smart reset commands ("new conversation", "start fresh")
* **Multi-AI Provider Support**: Switch between Azure OpenAI, OpenAI, Anthropic, Google AI, and local models
* **Enterprise Observability**: W&B Weave integration for logging metrics, visualizing model performance, and monitoring experiments in real time
## Special Feature: Intelligence Extension through Templated Knowledge Source
**The Problem**: Adding new knowledge to AI systems traditionally requires:
* Platform-specific integrations for each channel (Teams, Web, Slack, etc.)
* Custom API endpoints and authentication per knowledge source
* Separate configuration for different AI providers
* Manual updates across multiple systems
**The Solution:** Muyal makes adding *Your Knowledge Domain* easy by using templated ways of adding knowledge sources.
1. Copy `template-knowledge.ts`
2. Define relevance keywords/patterns
3. Connect to your data source (API, database, files)
4. Add helpful suggestions
5. Drop it into knowledge sources folder
6. **Result**: Instantly works across all platforms and agent networks
## What is Muyal? (Simple Explanation)
**Muyal is like having a super-smart AI assistant that learns about anything you teach it, then works across every app you use.** You can teach it about weather, sports, homework, gaming stats, crypto prices - literally any topic. Just connect it to websites, spreadsheets, or documents, and it automatically knows when to use that information. The magic? Add a new "knowledge source" in 5 minutes using copy-and-paste, and instantly it becomes smarter about that topic everywhere - Teams, websites, other AI tools, all at once.
**Even cooler: Muyal creates AI teams that work together.** Think "group chat for AI assistants" - Muyal connects specialized AI helpers (weather bot, sports bot, homework helper) so they share information and coordinate. Build your own AI for anything you care about (tracking concerts, school projects), and it automatically joins the network, talking and collaborating with Muyal and all other AI helpers.
## 🔧 Recent Updates & Latest Features
### **Conversation Memory System**
- **Persistent History**: All conversations automatically saved with full context across sessions
- **Smart Context**: AI remembers previous discussions to provide better responses
- **JSON Storage**: Conversations stored in `./data/conversations/` with metadata
### **Smart Conversation Reset**
- **Natural Commands**: Type "new conversation", "start fresh", "clear chat", or "reset conversation"
- **Clean Slate**: Instantly start with fresh context and clear knowledge source accumulation
- **UI Integration**: "Clear Chat" button properly resets conversation with new ID
### **Enhanced Web Interface**
- **Markdown Support**: Images and formatting render properly in chat
- **Knowledge Sources Display**: See which sources enhanced each response
- **Improved UX**: Visual indicators and better conversation flow
### **Development Environment Fixes**
- **Nodemon Configuration**: No more auto-restarts when writing conversation files
- **Stable Development**: Proper ignore patterns for data directories
- **Debug Logging**: Enhanced troubleshooting capabilities
## Quick Start & Usage Examples
### **Employee Lookup Example:**
- **You ask**: "Who is John in marketing?"
- **Muyal**: Automatically queries employee database → "John Smith is a Marketing Manager in the Digital team, based in Seattle. Contact: john.smith@company.com"
### **Weather & Context:**
- **You ask**: "Should I bring an umbrella today?"
- **Muyal**: Checks weather API → "Yes! There's a 70% chance of rain in your area today with showers expected this afternoon."
### **Gaming Help:**
- **You ask**: "Best strategy for Margit in Elden Ring?"
- **Muyal**: Pulls from game wiki → "Margit is weak to bleed damage. Use Spirit Ash summons and attack his ankles. Key items: Margit's Shackle from Patches..."
### **Fun Content:**
- **You ask**: "Show me a cute dog"
- **Muyal**: Fetches from Dog API → Displays random dog image with breed information
### **Conversation Reset:**
- **You type**: "new conversation"
- **Muyal**: " **Started a new conversation!** Your chat history has been cleared and we're starting fresh. How can I help you?"
## Documentation
| Document | Purpose |
|----------|---------|
| **[SETUP_AND_USAGE.md](docs/SETUP_AND_USAGE.md)** | Installation, configuration, AI providers |
| **[CAPABILITIES.md](docs/CAPABILITIES.md)** | Functions, MCP integration, examples |
| **[ARCHITECTURE.md](docs/ARCHITECTURE.md)** | System design, extending knowledge sources |
| **[MCP_A2A_INTEGRATION.md](docs/MCP_A2A_INTEGRATION.md)** | Protocol details, agent networks |
| **[TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)** | Common issues and solutions |
## Tech stack
* **Runtime**: Node.js + TypeScript with enterprise-grade error handling and observability
* **AI Providers**: Azure OpenAI, Azure AI Foundry, OpenAI, Anthropic Claude, Google AI, Ollama (local models)
* **Microsoft 365**: Teams Toolkit integration with Custom Engine Agent (CEA) pattern
* **MCP Protocol**: Native Model Context Protocol server for Claude Desktop, VS Code, and external integrations
* **A2A Network**: Agent discovery, registration, and inter-agent communication system
* **Observability**: W&B Weave tracing with cost tracking and performance analytics across all channels
* **Storage**: JSON-based conversation persistence with automatic cleanup
* **Development**: Nodemon with smart file watching, TypeScript compilation, hot reload
## Contributing
[](https://github.com/ushakrishnan/muyal#-contributing)
1. Fork the repository
2. Create your feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request
## License
[](https://github.com/ushakrishnan/muyal#-license)
This project is licensed under the MIT License - see the [LICENSE](https://github.com/ushakrishnan/Muyal/blob/master/LICENSE) file for details.
## Support
* Check the [Setup Guide](docs/SETUP_AND_USAGE.md) for installation help
* View [Current Capabilities](docs/CAPABILITIES.md) for function reference
* Create an issue for bugs or feature requests
---
**Ready to get started?** Let's go!! 🚀