🧩 Build AI-powered MCP Tools with Azure Functions, Durable Agents & Cosmos vector search. Features orchestrated multi-agent workflows using OpenAI.
# Add to your Claude Code skills
git clone https://github.com/Azure-Samples/snippySnippy is an Azure Functions-based reference application that demonstrates how to build MCP (Model Context Protocol) tools that integrate with AI assistants like GitHub Copilot. It showcases a modern serverless AI application architecture where Azure Functions serve as both traditional APIs and MCP-compatible tools that AI assistants can discover and use.

The system uses Durable Task Scheduler to orchestrate multi-agent workflows, Cosmos DB with vector indexing for semantic code search, and Azure OpenAI for embeddings and LLM capabilities. The project ships with reproducible azd infrastructure—azd up deploys the entire stack and works with both local Docker-based emulators and Azure cloud services.
Important Security Notice This repository is intended for learning and demonstration purposes. Do not deploy it to production without a thorough security review. At a minimum you should:
- Swap connection strings for Managed Identity + Azure Key Vault
- Restrict network access to Azure services via Private Endpoints or service‑tags
No comments yet. Be the first to share your thoughts!
ChatAgent with automatic conversation history managementazd up provisions and deploys complete infrastructure including Functions, Cosmos DB, Azure OpenAI, and DTS| Tool Name | Purpose |
| -------------------------------- | ------------------------------------------------------------------- |
| save_snippet | Save code snippets with vector embeddings for semantic search |
| get_snippet | Retrieve previously saved code snippets by their unique name |
| code_style | Generate language-specific code style guides from saved snippets |
| deep_wiki | Create comprehensive wiki documentation by analyzing code snippets |
| generate_comprehensive_documentation | Orchestrate multi-agent workflow to produce deep wiki and style guide |
New to Snippy? Start with our comprehensive hands-on lab tutorial that guides you through building the entire application from scratch:
The tutorial covers:
Additional Resources:
Using GitHub Codespaces:
Click the "Open in GitHub Codespaces" badge above, then run:
azd auth login --use-device-code
azd up
Using Dev Containers or Local Environment:
azd init --template Azure-Samples/snippy
azd auth login
azd up
The azd up command will:
When complete, the Function App URL and MCP endpoint will be displayed. See the tutorial for detailed instructions on local development, testing with emulators, and monitoring orchestrations.
Azure OpenAI model support varies by region. Verify availability here and choose the same region for all Azure resources. eastus and swedencentral are good default choices.
Snippy uses User-Assigned Managed Identity for secure service-to-service authentication. The infrastructure is configured with:
For production deployments, we recommend:
Standard fork → branch → PR workflow. Use Conventional Commits (feat:, fix:) in commit messages.
MIT © Microsoft Corporation