You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+53-58Lines changed: 53 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,16 +27,15 @@ urlFragment: snippy
27
27
[](https://github.com/codespaces/new?hide_repo_select=true&ref=main&repo=Azure-Samples/snippy&machine=basicLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json)
28
28
[](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/Azure-Samples/snippy)
29
29
30
-
Snippy is an **Azure Functions**–based reference application that turns any function into an **MCP (ModelContextProtocol) tool**consumable by GitHub Copilot Chat and other MCP‑aware clients. The sample implements a production‑style*code‑snippet service*with AI‑powered analysis:
30
+
Snippy is an **Azure Functions**-based reference application that demonstrates how to build **MCP (ModelContextProtocol) tools**that integrate with AI assistants like GitHub Copilot. The sample implements an intelligent*code-snippet service*featuring:
31
31
32
-
***Save snippets** – persists code, metadata and OpenAI embeddings in **Cosmos DB DiskANN**
33
-
***Semantic retrieve** – vector search over embeddings
34
-
***AI Agents** – generate a **deep wiki** or language‑specific**code style guide** from stored snippets
35
-
***Durable fan‑out/fan‑in with Blueprints** – [in experimental branch](https://github.com/Azure-Samples/snippy/tree/gk/durable-functions) for large‑scale processing
36
-
***Microsoft Fabric integration** – [in gk/fabric branch](https://github.com/Azure-Samples/snippy/tree/gk/fabric) demonstrating how to build Agents with Fabric Data Agents
32
+
***MCP Tool Integration** – expose Azure Functions as discoverable tools for AI assistants
33
+
***Durable Agents** – create stateful AI agents using **Microsoft Agent Framework** with automatic state management
***Vector Search** – semantic retrieval using **Cosmos DB DiskANN** with Azure OpenAI embeddings
36
+
***Monitoring & Observability** – track orchestrations in real-time with DTS dashboard (local & cloud)
37
37
38
-
39
-
The project ships with reproducible **azd** infrastructure, so `azd up` will stand up the entire stack – Functions, Cosmos DB, Azure OpenAI and Azure AI Agents – in a single command.
38
+
The project ships with reproducible **azd** infrastructure, so `azd up` will stand up the entire stack – Functions, Cosmos DB, Azure OpenAI, and Durable Task Scheduler – in a single command.
40
39
41
40
> **Important Security Notice**
42
41
> 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:
@@ -49,22 +48,33 @@ The project ships with reproducible **azd** infrastructure, so `azd up` will st
49
48
50
49
---
51
50
51
+
## Recent Updates
52
+
53
+
***Durable Task Scheduler (DTS) integration** for cloud orchestration and monitoring
54
+
***DTS dashboard scripts**: Quickly generate monitoring URLs for Azure deployments (`scripts/get-dts-dashboard-url.sh` and `.ps1`)
55
+
***Multi-agent orchestration**: Coordinate DeepWiki and CodeStyle agents with Durable Functions
56
+
***Enhanced monitoring**: View orchestration state in local DTS emulator or Azure DTS dashboard
57
+
58
+
52
59
## Features
53
60
54
-
***Remote MCP trigger** – expose Functions as real‑time SSE tools
* View multi-agent orchestration execution, including DeepWiki and CodeStyle agent calls
237
+
* Track tool invocations, state transitions, and execution timelines
220
238
221
-
# 3. Start Azurite in a separate terminal
222
-
azurite
239
+
---
223
240
224
-
# 4. Generate settings and run
225
-
./scripts/generate-settings.sh
226
-
cd src
227
-
func start
228
241
```
229
242
230
243
To switch back to DTS when Docker becomes available:
@@ -243,15 +256,6 @@ For detailed setup instructions and troubleshooting, see [LOCAL_DEVELOPMENT.md](
243
256
244
257
Azure OpenAI model support varies by region. Verify availability [here](https://learn.microsoft.com/azure/ai-services/openai/concepts/models#standard-deployment-model-availability) and choose the same region for all Azure resources. **eastus** and **swedencentral** are good default choices.
245
258
246
-
### Costs
247
-
248
-
Estimate monthly cost using the [Azure Pricing Calculator](https://azure.microsoft.com/pricing/calculator/). Major components:
249
-
250
-
* Azure Functions – Consumption / Flex tiers
251
-
* Cosmos DB – Serverless or provisioned throughput
252
-
* Azure OpenAI – pay‑as‑you‑go per 1K tokens
253
-
* Azure AI Agents – per‑execution billing (preview)
254
-
255
259
### Security
256
260
257
261
Snippy uses User-Assigned Managed Identity for secure service-to-service authentication. The infrastructure is configured with:
@@ -269,15 +273,6 @@ For production deployments, we recommend:
269
273
270
274
---
271
275
272
-
## Resources
273
-
274
-
* Blog – *Build AI agent tools using Remote MCP with Azure Functions* ([https://aka.ms/snippy-blog](https://aka.ms/snippy-blog))
275
-
* Model Context Protocol spec – [https://aka.ms/mcp](https://aka.ms/mcp)
* Develop Python apps for Azure AI – [https://learn.microsoft.com/azure/developer/python/azure-ai-for-python-developers](https://learn.microsoft.com/azure/developer/python/azure-ai-for-python-developers)
278
-
279
-
---
280
-
281
276
## Contributing
282
277
283
278
Standard **fork → branch → PR** workflow. Use *Conventional Commits* (`feat:`, `fix:`) in commit messages.
Copy file name to clipboardExpand all lines: deep-wiki.md
+60-22Lines changed: 60 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,17 @@
1
1
# Project Overview
2
2
3
-
This project is centered around the MCP (Model Context Protocol) tools designed for use with Azure Functions and AI-powered operations. The tools enable seamless integration with Azure OpenAI, Cosmos DB, and AI Agents to manage and analyze code snippets. Key functionalities include document management, vector search, error handling, logging, and provisioned cloud infrastructure using Bicep templates.
3
+
This project is centered around the MCP (Model Context Protocol) tools designed for use with Azure Functions and AI-powered operations. The tools enable seamless integration with Azure OpenAI, Cosmos DB, and AI Agents to manage and analyze code snippets. Key functionalities include document management, vector search, error handling, logging, provisioned cloud infrastructure using Bicep templates, and **multi-agent orchestration** with monitoring via the Durable Task Scheduler (DTS) dashboard.
4
+
5
+
Recent updates include:
6
+
* Durable Task Scheduler integration for cloud orchestration
7
+
* DTS dashboard scripts for monitoring orchestrations in Azure (`get-dts-dashboard-url.sh` and `.ps1`)
8
+
* Multi-agent workflows coordinating DeepWiki and CodeStyle agents
4
9
5
10
## Major Concepts
6
11
7
12
### MCP Tools
8
13
9
-
MCP tools automate operations related to code snippets using triggers that respond to Azure Function events. Tools such as `save_snippet`, `get_snippet`, `deep_wiki`, and `code_style` interact with various Azure services to provide a robust solution for code documentationand analysis.
14
+
MCP tools automate operations related to code snippets using triggers that respond to Azure Function events. Tools such as `save_snippet`, `get_snippet`, `deep_wiki`, `code_style`, and `generate_comprehensive_documentation` interact with various Azure services to provide a robust solution for code documentation, analysis, and multi-agent orchestration.
10
15
11
16
### Azure Functions
12
17
@@ -30,40 +35,73 @@ Azure Bicep is used to define infrastructure as code, setting up Azure resources
30
35
31
36
## Diagram Visualizations
32
37
38
+
### Orchestration Monitoring
39
+
40
+
Monitor orchestrations using the DTS dashboard:
41
+
***Local**: Open <http://localhost:8082/> when using the DTS emulator
42
+
***Azure**: Use the provided scripts (`get-dts-dashboard-url.sh` and `.ps1`) to generate the Azure dashboard URL
0 commit comments