azforgeagent-test 1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. azforgeagent_test-1.0/LICENSE +21 -0
  2. azforgeagent_test-1.0/MANIFEST.in +10 -0
  3. azforgeagent_test-1.0/PKG-INFO +432 -0
  4. azforgeagent_test-1.0/README.md +413 -0
  5. azforgeagent_test-1.0/agent/AGENT_INSTRUCTIONS.md +473 -0
  6. azforgeagent_test-1.0/agent/__init__.py +5 -0
  7. azforgeagent_test-1.0/agent/ado.py +489 -0
  8. azforgeagent_test-1.0/agent/azure.py +2687 -0
  9. azforgeagent_test-1.0/agent/fabric.py +502 -0
  10. azforgeagent_test-1.0/agent/general.py +56 -0
  11. azforgeagent_test-1.0/agent/scripts/activate-pim.ps1 +298 -0
  12. azforgeagent_test-1.0/agent/scripts/add-deployment-pipeline-role.ps1 +109 -0
  13. azforgeagent_test-1.0/agent/scripts/assign-ado-role.ps1 +454 -0
  14. azforgeagent_test-1.0/agent/scripts/assign-azure-rbac.ps1 +166 -0
  15. azforgeagent_test-1.0/agent/scripts/assign-deployment-pipeline-workspace.ps1 +96 -0
  16. azforgeagent_test-1.0/agent/scripts/assign-eligible-pim.ps1 +111 -0
  17. azforgeagent_test-1.0/agent/scripts/assign-fabric-role.ps1 +171 -0
  18. azforgeagent_test-1.0/agent/scripts/attach-appinsights.ps1 +111 -0
  19. azforgeagent_test-1.0/agent/scripts/attach-dce.ps1 +129 -0
  20. azforgeagent_test-1.0/agent/scripts/attach-fabric-git.ps1 +211 -0
  21. azforgeagent_test-1.0/agent/scripts/attach-log-analytics.ps1 +81 -0
  22. azforgeagent_test-1.0/agent/scripts/attach-nsp.ps1 +69 -0
  23. azforgeagent_test-1.0/agent/scripts/azure-login.ps1 +145 -0
  24. azforgeagent_test-1.0/agent/scripts/check-resource.ps1 +98 -0
  25. azforgeagent_test-1.0/agent/scripts/create-deployment-pipeline.ps1 +107 -0
  26. azforgeagent_test-1.0/agent/scripts/create-devops-branch.ps1 +94 -0
  27. azforgeagent_test-1.0/agent/scripts/create-devops-pipeline.ps1 +90 -0
  28. azforgeagent_test-1.0/agent/scripts/create-devops-project.ps1 +92 -0
  29. azforgeagent_test-1.0/agent/scripts/create-devops-repo.ps1 +66 -0
  30. azforgeagent_test-1.0/agent/scripts/create-fabric-managed-pe.ps1 +162 -0
  31. azforgeagent_test-1.0/agent/scripts/create-fabric-workspace.ps1 +335 -0
  32. azforgeagent_test-1.0/agent/scripts/create-funcapp-containers.ps1 +93 -0
  33. azforgeagent_test-1.0/agent/scripts/create-resourcegroup.ps1 +33 -0
  34. azforgeagent_test-1.0/agent/scripts/deploy-bicep.ps1 +107 -0
  35. azforgeagent_test-1.0/agent/scripts/deploy-pipeline-stage.ps1 +160 -0
  36. azforgeagent_test-1.0/agent/scripts/deploy-pipeline-yaml.ps1 +181 -0
  37. azforgeagent_test-1.0/agent/scripts/get-activity-log.ps1 +118 -0
  38. azforgeagent_test-1.0/agent/scripts/get-current-user.ps1 +28 -0
  39. azforgeagent_test-1.0/agent/scripts/get-deployment-pipeline-stages.ps1 +83 -0
  40. azforgeagent_test-1.0/agent/scripts/integrate-vnet.ps1 +855 -0
  41. azforgeagent_test-1.0/agent/scripts/list-azure-permissions.ps1 +24 -0
  42. azforgeagent_test-1.0/agent/scripts/list-devops-projects.ps1 +64 -0
  43. azforgeagent_test-1.0/agent/scripts/list-devops-repos.ps1 +70 -0
  44. azforgeagent_test-1.0/agent/scripts/list-fabric-managed-pe.ps1 +102 -0
  45. azforgeagent_test-1.0/agent/scripts/list-fabric-permissions.ps1 +123 -0
  46. azforgeagent_test-1.0/agent/scripts/list-pim-roles.ps1 +114 -0
  47. azforgeagent_test-1.0/agent/scripts/list-resources.ps1 +42 -0
  48. azforgeagent_test-1.0/agent/scripts/list-subscriptions.ps1 +34 -0
  49. azforgeagent_test-1.0/agent/scripts/pim-utils.ps1 +434 -0
  50. azforgeagent_test-1.0/agent/scripts/set-subscription.ps1 +40 -0
  51. azforgeagent_test-1.0/agent/scripts/update-tags.ps1 +119 -0
  52. azforgeagent_test-1.0/agent/server.py +1500 -0
  53. azforgeagent_test-1.0/agent/templates/CodeQL_1ES_Pipeline.yml +62 -0
  54. azforgeagent_test-1.0/agent/templates/CodeQL_Pipeline.yml +36 -0
  55. azforgeagent_test-1.0/agent/templates/ai-foundry.bicep +62 -0
  56. azforgeagent_test-1.0/agent/templates/ai-search.bicep +48 -0
  57. azforgeagent_test-1.0/agent/templates/api-management.bicep +154 -0
  58. azforgeagent_test-1.0/agent/templates/app-service.bicep +222 -0
  59. azforgeagent_test-1.0/agent/templates/application-insights.bicep +67 -0
  60. azforgeagent_test-1.0/agent/templates/automation-account.bicep +95 -0
  61. azforgeagent_test-1.0/agent/templates/azure-data-factory.bicep +36 -0
  62. azforgeagent_test-1.0/agent/templates/azure-firewall.bicep +161 -0
  63. azforgeagent_test-1.0/agent/templates/azure-key-vaults.bicep +50 -0
  64. azforgeagent_test-1.0/agent/templates/azure-openai.bicep +58 -0
  65. azforgeagent_test-1.0/agent/templates/azure-sql-database.bicep +119 -0
  66. azforgeagent_test-1.0/agent/templates/azure-sql-server.bicep +191 -0
  67. azforgeagent_test-1.0/agent/templates/azure-synapse-analytics.bicep +165 -0
  68. azforgeagent_test-1.0/agent/templates/container-app.bicep +161 -0
  69. azforgeagent_test-1.0/agent/templates/container-apps-env.bicep +120 -0
  70. azforgeagent_test-1.0/agent/templates/container-registry.bicep +74 -0
  71. azforgeagent_test-1.0/agent/templates/contentsafety.bicep +67 -0
  72. azforgeagent_test-1.0/agent/templates/cosmos-db.bicep +78 -0
  73. azforgeagent_test-1.0/agent/templates/data-collection-endpoint.bicep +64 -0
  74. azforgeagent_test-1.0/agent/templates/data-collection-rule.bicep +161 -0
  75. azforgeagent_test-1.0/agent/templates/ddos-protection-plan.bicep +35 -0
  76. azforgeagent_test-1.0/agent/templates/dns-resolver.bicep +100 -0
  77. azforgeagent_test-1.0/agent/templates/dns-zone-vnet-link.bicep +39 -0
  78. azforgeagent_test-1.0/agent/templates/documentintelligence.bicep +58 -0
  79. azforgeagent_test-1.0/agent/templates/fabric-capacity.bicep +52 -0
  80. azforgeagent_test-1.0/agent/templates/firewall-policy.bicep +94 -0
  81. azforgeagent_test-1.0/agent/templates/front-door.bicep +286 -0
  82. azforgeagent_test-1.0/agent/templates/function-app-appserviceplan.bicep +211 -0
  83. azforgeagent_test-1.0/agent/templates/function-app-flex.bicep +248 -0
  84. azforgeagent_test-1.0/agent/templates/languageservice.bicep +62 -0
  85. azforgeagent_test-1.0/agent/templates/log-analytics.bicep +58 -0
  86. azforgeagent_test-1.0/agent/templates/log-search-alert.bicep +120 -0
  87. azforgeagent_test-1.0/agent/templates/logic-app.bicep +37 -0
  88. azforgeagent_test-1.0/agent/templates/nat-gateway.bicep +50 -0
  89. azforgeagent_test-1.0/agent/templates/network-security-group.bicep +21 -0
  90. azforgeagent_test-1.0/agent/templates/network-security-perimeter.bicep +21 -0
  91. azforgeagent_test-1.0/agent/templates/private-dns-zone.bicep +40 -0
  92. azforgeagent_test-1.0/agent/templates/private-endpoint.bicep +248 -0
  93. azforgeagent_test-1.0/agent/templates/public-ip.bicep +81 -0
  94. azforgeagent_test-1.0/agent/templates/redis-cache.bicep +119 -0
  95. azforgeagent_test-1.0/agent/templates/speech-service.bicep +81 -0
  96. azforgeagent_test-1.0/agent/templates/storage-account.bicep +51 -0
  97. azforgeagent_test-1.0/agent/templates/subnet.bicep +43 -0
  98. azforgeagent_test-1.0/agent/templates/user-assigned-managed-identity.bicep +21 -0
  99. azforgeagent_test-1.0/agent/templates/virtual-network.bicep +268 -0
  100. azforgeagent_test-1.0/agent/templates/vpn-gateway.bicep +151 -0
  101. azforgeagent_test-1.0/agent/templates/waf-policy.bicep +197 -0
  102. azforgeagent_test-1.0/agent/utils.py +1481 -0
  103. azforgeagent_test-1.0/azforgeagent_test.egg-info/PKG-INFO +432 -0
  104. azforgeagent_test-1.0/azforgeagent_test.egg-info/SOURCES.txt +108 -0
  105. azforgeagent_test-1.0/azforgeagent_test.egg-info/dependency_links.txt +1 -0
  106. azforgeagent_test-1.0/azforgeagent_test.egg-info/entry_points.txt +2 -0
  107. azforgeagent_test-1.0/azforgeagent_test.egg-info/requires.txt +1 -0
  108. azforgeagent_test-1.0/azforgeagent_test.egg-info/top_level.txt +1 -0
  109. azforgeagent_test-1.0/pyproject.toml +42 -0
  110. azforgeagent_test-1.0/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Azure Platform Agent Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,10 @@
1
+ # Manifest file to include non-Python files in the package
2
+ include LICENSE
3
+ include README.md
4
+ include pyproject.toml
5
+ recursive-include agent/scripts *.ps1
6
+ recursive-include agent/templates *.bicep
7
+ include agent/AGENT_INSTRUCTIONS.md
8
+ global-exclude __pycache__
9
+ global-exclude *.py[co]
10
+ global-exclude .DS_Store
@@ -0,0 +1,432 @@
1
+ Metadata-Version: 2.1
2
+ Name: azforgeagent-test
3
+ Version: 1.0
4
+ Summary: AzForge Agent for secure, compliant resource deployment
5
+ Author: Siddhant Jha
6
+ Keywords: mcp,azure,deployment,bicep,agent,ado,fabric,Environment
7
+ Classifier: Development Status :: 5 - Production/Stable
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Operating System :: OS Independent
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: mcp>=0.1.0
19
+
20
+ # AzForge Agent - Installation Guide
21
+
22
+ ## Description
23
+
24
+ **AzForge Agent** is a Model Context Protocol (MCP) server that enables secure, compliant Azure resource deployment directly from VS Code using GitHub Copilot Chat. It provides a unified natural-language interface for managing Azure resources, Azure DevOps, and Microsoft Fabric — with built-in compliance orchestration, security best practices, and infrastructure-as-code (Bicep) templates.
25
+
26
+ ---
27
+
28
+ ## Architecture
29
+
30
+ ![AzForge Agent Architecture](docs/architecture.png)
31
+
32
+ ---
33
+
34
+ ## Tools Available
35
+
36
+ ### General
37
+
38
+ | # | Tool | Description |
39
+ |---|------|-------------|
40
+ | 1 | **Show Agent Instructions** | Display complete agent documentation and usage guide. |
41
+
42
+ ### Azure — Authentication & Account
43
+
44
+ | # | Tool | Description |
45
+ |---|------|-------------|
46
+ | 2 | **Azure Login** | Login to Azure with browser authentication. Handles single/multiple subscriptions automatically. |
47
+ | 3 | **List Subscriptions** | List all accessible Azure subscriptions with name, ID, state, and default flag. |
48
+ | 4 | **Set Subscription** | Set the active subscription context by ID or name. |
49
+ | 5 | **Get Current User** | Get current subscription, tenant, and user email. |
50
+
51
+ ### Azure — Resource Management
52
+
53
+ | # | Tool | Description |
54
+ |---|------|-------------|
55
+ | 6 | **Create Resource Group** | Create Azure resource groups with project tagging. |
56
+ | 7 | **Create Resource** | Deploy Azure resources via Bicep templates with automatic compliance. Supported resources: |
57
+ | | | — Storage Account (ADLS Gen2) |
58
+ | | | — Key Vault |
59
+ | | | — Azure OpenAI |
60
+ | | | — AI Search |
61
+ | | | — AI Content Safety |
62
+ | | | — AI Document Intelligence |
63
+ | | | — AI Language Service |
64
+ | | | — AI Foundry (AI Hub) |
65
+ | | | — Cosmos DB |
66
+ | | | — Log Analytics Workspace |
67
+ | | | — User Assigned Managed Identity (UAMI) |
68
+ | | | — Network Security Perimeter (NSP) |
69
+ | | | — Fabric Capacity |
70
+ | | | — Container Registry (ACR) |
71
+ | | | — Function App (Flex Consumption) |
72
+ | | | — Function App (App Service Plan) |
73
+ | | | — App Service (Web App) |
74
+ | | | — Public IP |
75
+ | | | — Azure Data Factory |
76
+ | | | — Azure Synapse Analytics |
77
+ | | | — Network Security Group (NSG) |
78
+ | | | — Virtual Network (VNet) |
79
+ | | | — Subnet |
80
+ | | | — Private Endpoint |
81
+ | | | — Private DNS Zone |
82
+ | | | — DNS Zone VNet Link |
83
+ | | | — Logic App (Consumption) |
84
+ | | | — Redis Cache |
85
+ | | | — SQL Server |
86
+ | | | — SQL Database |
87
+ | | | — Application Insights |
88
+ | | | — Container Apps Environment |
89
+ | | | — Container App |
90
+ | | | — Data Collection Endpoint (DCE) |
91
+ | | | — Data Collection Rule (DCR) |
92
+ | | | — API Management (APIM) |
93
+ | | | — Azure Firewall |
94
+ | | | — Firewall Policy |
95
+ | | | — NAT Gateway |
96
+ | | | — VPN Gateway |
97
+ | | | — Azure Front Door |
98
+ | | | — WAF Policy (Front Door) |
99
+ | | | — DDoS Protection Plan |
100
+ | | | — DNS Private Resolver |
101
+ | | | — Automation Account |
102
+ | | | — Speech Service |
103
+ | | | — Log Search Alert Rule |
104
+ | 8 | **Get Bicep Requirements** | View required/optional parameters for any Bicep resource template before deployment. |
105
+ | 9 | **Get Resource Info** | Unified query tool — list resource groups, list/find resources, get resource details, get managed identity info, run custom KQL (Resource Graph) queries, or run raw CLI commands. |
106
+ | 10 | **Check Resource** | Check if a specific resource type exists in a resource group. |
107
+ | 11 | **Get Activity Log** | Retrieve activity logs for auditing and troubleshooting (up to 90 days). |
108
+ | 12 | **Update Tags** | Add, update, or replace tags on any Azure resource. |
109
+
110
+ ### Azure — Security & Identity
111
+
112
+ | # | Tool | Description |
113
+ |---|------|-------------|
114
+ | 13 | **List Roles** | List active RBAC assignments or eligible PIM roles for the current user. |
115
+ | 14 | **Activate PIM Roles** | Activate eligible PIM roles — single role at a specific scope or all eligible roles at once. |
116
+ | 15 | **Assign PIM Eligible Role** | Create an eligible (not active) PIM role assignment for a user, group, or service principal. |
117
+ | 16 | **Assign RBAC Roles** | Assign RBAC roles to Service Principals or Managed Identities (supports bulk assignments). |
118
+
119
+ ### Azure — Networking & Compliance
120
+
121
+ | # | Tool | Description |
122
+ |---|------|-------------|
123
+ | 17 | **Attach to NSP** | Attach a resource to a Network Security Perimeter (auto-creates NSP if needed). |
124
+ | 18 | **Attach Diagnostic Settings** | Configure Log Analytics diagnostic settings on a resource (auto-creates workspace if needed). |
125
+ | 19 | **Attach Application Insights** | Attach Application Insights to a Function App or App Service with connection string and instrumentation key. |
126
+ | 20 | **Create Private Endpoint** | Create a Private Endpoint with automatic DNS zone configuration and VNet link management. |
127
+ | 21 | **Manage PE Connections** | List, approve, or reject private endpoint connections on any Azure resource. |
128
+ | 22 | **Integrate VNet** | Regional VNet integration for App Service/Function App, or network ACL rules for Key Vault, Storage, Cosmos DB, OpenAI, SQL, and more. |
129
+
130
+ ### Azure — Container Apps
131
+
132
+ | # | Tool | Description |
133
+ |---|------|-------------|
134
+ | 23 | **Create Container Apps Environment** | Create a Container Apps Environment with optional VNet integration and workload profiles. |
135
+ | 24 | **Create Container App** | Create a Container App with auto-detection/creation of environment, configurable scaling, CPU, and memory. |
136
+
137
+ ### Azure — Monitoring (DCE/DCR)
138
+
139
+ | # | Tool | Description |
140
+ |---|------|-------------|
141
+ | 25 | **Create Data Collection Endpoint** | Create a DCE for Azure Monitor (required for Logs Ingestion API and AMPLS). |
142
+ | 26 | **Create Data Collection Rule** | Create a DCR with optional custom Log Analytics table and column definitions. |
143
+ | 27 | **Attach DCE to DCR** | Attach or update a Data Collection Endpoint on an existing Data Collection Rule. |
144
+
145
+ ### Azure DevOps
146
+
147
+ | # | Tool | Description |
148
+ |---|------|-------------|
149
+ | 28 | **List Projects** | List all projects in an Azure DevOps organization. |
150
+ | 29 | **List Repos** | List all repositories in a project. |
151
+ | 30 | **Create Project** | Create a new Azure DevOps project with an initial repository. |
152
+ | 31 | **Create Repo** | Add a new Git repository to an existing project. |
153
+ | 32 | **Create Branch** | Create a branch from a base branch in a repository. |
154
+ | 33 | **Deploy Pipeline YAML** | Deploy pipeline YAML templates (CodeQL, 1ES) or custom YAML to a repository. |
155
+ | 34 | **Deploy Custom YAML** | Deploy custom YAML content directly to a repository file. |
156
+ | 35 | **Create Pipeline** | Create an Azure Pipeline from a YAML file already in the repository. |
157
+ | 36 | **Assign ADO Role** | Assign a security group role (Project Admin, Contributor, Reader, etc.) to a principal. |
158
+
159
+ ### Microsoft Fabric
160
+
161
+ | # | Tool | Description |
162
+ |---|------|-------------|
163
+ | 37 | **List Fabric Permissions** | View workspace permissions and access levels for the current user. |
164
+ | 38 | **Create Workspace** | Create a Fabric workspace in a specified capacity. |
165
+ | 39 | **Assign Fabric Role** | Assign workspace roles (Admin, Contributor, Member, Viewer) to users, groups, or service principals. |
166
+ | 40 | **Attach Workspace to Git** | Connect a Fabric workspace to an Azure DevOps Git repository for version control. |
167
+ | 41 | **Create Deployment Pipeline** | Create Fabric deployment pipelines (Dev→Prod or Dev→UAT→Prod) and assign workspaces. |
168
+ | 42 | **Add Deployment Pipeline Role** | Add a role assignment to a Fabric deployment pipeline (auto-resolves user email to Object ID). |
169
+ | 43 | **Create Managed Private Endpoint** | Create a managed private endpoint from Fabric to Azure resources for secure connectivity. |
170
+ | 44 | **List Managed Private Endpoints** | List all managed private endpoints in a Fabric workspace with approval status. |
171
+
172
+ ---
173
+
174
+ ## Prerequisites
175
+
176
+ Before installing the AzForge Agent, ensure you have the following installed:
177
+
178
+ ### Required Software
179
+
180
+ 1. **Visual Studio Code** - [Download](https://code.visualstudio.com/download)
181
+ 2. **PowerShell Core (pwsh)** - [Download](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.5)
182
+ 3. **Azure CLI** - [Download](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&pivots=winget)
183
+ 4. **Python 3.10+** - [Download](https://www.python.org/downloads/)
184
+ 5. **uvx** - [Download](https://docs.astral.sh/uv/getting-started/installation/)
185
+ 6. **GitHub Copilot Chat Extension** - [Install from VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)
186
+
187
+ ### Azure Requirements
188
+
189
+ - Active Azure subscription
190
+ - Appropriate Azure RBAC permissions for resource creation
191
+ - Azure CLI authenticated (`az login`)
192
+ - Set context for one subscription (`az account set --subscription <subscriptionid>`)
193
+
194
+ ### ADO Requirements
195
+
196
+ - Access to Azure DevOps organization
197
+ - Project Collection Admin permissions for creating projects
198
+ - Project Admin permissions for creating repositories and pipelines
199
+ - Azure CLI authenticated (`az login` or `az login --allow-no-subscriptions`)
200
+
201
+ ### Fabric Requirements
202
+
203
+ - Access to Microsoft Fabric workspaces
204
+ - Appropriate permissions to create and manage workspaces
205
+ - Fabric capacity available for workspace creation
206
+ - ADO available for Git integration
207
+ - Azure CLI authenticated (`az login` or `az login --allow-no-subscriptions`)
208
+
209
+ ---
210
+
211
+ ## Installation Steps
212
+
213
+ ### Step 1: Open GitHub Copilot Chat
214
+
215
+ 1. Launch **Visual Studio Code**
216
+ 2. Open **GitHub Copilot Chat** (click the chat icon in the sidebar or press `Ctrl+Alt+I`)
217
+
218
+ ### Step 2: Access MCP Tools Menu
219
+
220
+ 1. In the Copilot Chat window, click on the **🔧 Tools** button
221
+ 2. Select **"Install MCP Server from PyPI"** or similar option
222
+
223
+ ### Step 3: Install the Package
224
+
225
+ 1. When prompted for the package name, enter:
226
+ ```
227
+ azforgeagent
228
+ ```
229
+ 2. Select the **latest version** when prompted
230
+ 3. Wait for the installation to complete
231
+
232
+ ### Step 4: Configure MCP Settings
233
+ Add the following configuration to the `mcp.json` file:
234
+
235
+ ```json
236
+ {
237
+ "servers": {
238
+ "azforgeagent": {
239
+ "type": "stdio",
240
+ "command": "uvx",
241
+ "args": [
242
+ "azforgeagent==1.0.0"
243
+ ]
244
+ }
245
+ }
246
+ }
247
+ ```
248
+
249
+ > **Note**: Replace `1.0.0` with the latest version number you installed.
250
+
251
+ ### Step 5: Restart VS Code
252
+
253
+ 1. Close and reopen Visual Studio Code to load the MCP server configuration
254
+ 2. Open GitHub Copilot Chat again
255
+ 3. Select the MCP Tool installed
256
+
257
+ ### Step 6: Verify Installation
258
+
259
+ In GitHub Copilot Chat, type:
260
+ ```
261
+ show menu
262
+ ```
263
+
264
+ You should see the available actions menu confirming successful installation.
265
+
266
+ ---
267
+
268
+ ### Azure CLI Authentication
269
+
270
+ Ensure you're logged into Azure CLI:
271
+ ```bash
272
+ az login
273
+ az account show
274
+ ```
275
+
276
+ ### PowerShell Core Required
277
+
278
+ This agent requires PowerShell Core (pwsh), not Windows PowerShell. Verify:
279
+ ```bash
280
+ pwsh --version
281
+ ```
282
+
283
+ ---
284
+
285
+ ## Usage Examples
286
+
287
+ ### Azure
288
+
289
+ #### Authentication
290
+ ```
291
+ login to azure
292
+ ```
293
+ ```
294
+ list my subscriptions
295
+ ```
296
+ ```
297
+ set subscription to <subscription-id>
298
+ ```
299
+
300
+ #### Resource Management
301
+ ```
302
+ create resource group named my-rg in eastus for project MyProject
303
+ ```
304
+ ```
305
+ create storage account in my-rg
306
+ ```
307
+ ```
308
+ create key vault in my-rg
309
+ ```
310
+ ```
311
+ create function app in my-rg
312
+ ```
313
+ ```
314
+ create container app in my-rg
315
+ ```
316
+ ```
317
+ create application insights in my-rg
318
+ ```
319
+ ```
320
+ list resources in my-rg
321
+ ```
322
+ ```
323
+ get info for resource my-storage in my-rg
324
+ ```
325
+ ```
326
+ get activity log for my-rg last 7 days
327
+ ```
328
+ ```
329
+ update tags on my-storage: environment=dev,team=platform
330
+ ```
331
+
332
+ #### Security & Identity
333
+ ```
334
+ list my active roles
335
+ ```
336
+ ```
337
+ list my eligible PIM roles
338
+ ```
339
+ ```
340
+ activate all my PIM roles with justification "sprint deployment"
341
+ ```
342
+ ```
343
+ assign Storage Blob Data Contributor role to managed identity <object-id> on resource group my-rg
344
+ ```
345
+
346
+ #### Networking & Compliance
347
+ ```
348
+ attach my-storage to network security perimeter in my-rg
349
+ ```
350
+ ```
351
+ attach diagnostic settings to my-storage in my-rg
352
+ ```
353
+ ```
354
+ attach application insights my-appinsights to webapp my-webapp
355
+ ```
356
+ ```
357
+ create private endpoint for my-storage blob in my-subnet
358
+ ```
359
+ ```
360
+ integrate my-function-app with vnet my-vnet subnet my-subnet
361
+ ```
362
+
363
+ #### Monitoring (DCE/DCR)
364
+ ```
365
+ create data collection endpoint my-dce in my-rg
366
+ ```
367
+ ```
368
+ create data collection rule my-dcr with custom table MyLogs in my-rg
369
+ ```
370
+ ```
371
+ attach dce my-dce to dcr my-dcr
372
+ ```
373
+
374
+ ### Azure DevOps
375
+
376
+ ```
377
+ list all devops projects in organization myorg
378
+ ```
379
+ ```
380
+ list all repos in project MyProject
381
+ ```
382
+ ```
383
+ create azure devops project named MyProject with repo MainRepo in organization myorg
384
+ ```
385
+ ```
386
+ create devops repository named MyRepo in project MyProject
387
+ ```
388
+ ```
389
+ create branch feature/new-feature from main in MyRepo
390
+ ```
391
+ ```
392
+ deploy codeql pipeline yaml to MyRepo in pipelines folder
393
+ ```
394
+ ```
395
+ deploy custom yaml content to MyRepo
396
+ ```
397
+ ```
398
+ create pipeline named MyPipeline-1ES for MyRepo
399
+ ```
400
+ ```
401
+ create pipeline named "Source Branch Validation" for MyRepo with yaml path pipelines/sourcebranchvalidation.yml
402
+ ```
403
+ ```
404
+ assign Project Administrators role to <principal-id> in project MyProject
405
+ ```
406
+
407
+ ### Microsoft Fabric
408
+
409
+ ```
410
+ list my fabric permissions
411
+ ```
412
+ ```
413
+ create fabric workspace named MyWorkspace in capacity /subscriptions/.../capacities/mycapacity
414
+ ```
415
+ ```
416
+ assign Admin role to <principal-id> in fabric workspace MyWorkspace
417
+ ```
418
+ ```
419
+ attach fabric workspace to azure devops git repo MyRepo in project MyProject
420
+ ```
421
+ ```
422
+ create deployment pipeline Dev-to-Prod with workspaces DevWS,ProdWS
423
+ ```
424
+ ```
425
+ add admin role to user@example.com on deployment pipeline <pipeline-id>
426
+ ```
427
+ ```
428
+ create managed private endpoint for storage blob in fabric workspace <workspace-id>
429
+ ```
430
+ ```
431
+ list managed private endpoints in fabric workspace <workspace-id>
432
+ ```