Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
e6df909
Added development plan
vcolin7 Nov 12, 2025
d41612e
Added and updated docs
vcolin7 Nov 14, 2025
611d970
Added scripts
vcolin7 Nov 14, 2025
924b650
Removed old YAML file
vcolin7 Nov 14, 2025
2ae6319
Added some QoL changes to the scripts
vcolin7 Nov 14, 2025
71ff06c
Added a way to provide a specific version to compile entries into
vcolin7 Nov 15, 2025
2b8ff98
Updated dry run code
vcolin7 Nov 15, 2025
2514c8e
Fixed the compile script to not delete entries with different indenta…
vcolin7 Nov 15, 2025
1588122
Added support for multi-line entries
vcolin7 Nov 15, 2025
1b7403b
Added trimming for multi-line
vcolin7 Nov 15, 2025
86d7d6b
Added multi-line support to New-ChangelogEntry.ps1
vcolin7 Nov 15, 2025
5e40403
Added a script for syncing the main CHANGELOG with that one for VS Code
vcolin7 Nov 15, 2025
e9eb2c1
Updated the changelog compilation script to remove empty sections
vcolin7 Nov 15, 2025
a05df68
Added support for any MCP server in this repo
vcolin7 Nov 15, 2025
b6831bb
Moved a couple of docs
vcolin7 Nov 15, 2025
74e0690
Updated other docs
vcolin7 Nov 15, 2025
944c81d
Updated new-command.md
vcolin7 Nov 19, 2025
31a75ab
Updated behavior to ask for a CHANGELOG path instead of defaulting to…
vcolin7 Nov 22, 2025
82ad935
Updated Compile-Changelog.ps1 to accept files any name and using eith…
vcolin7 Nov 27, 2025
89e025f
Applied GitHub Copilot feedback for PowerShell scripts
vcolin7 Nov 27, 2025
b9fd2a5
Applied PR feedback to PS scripts
vcolin7 Nov 27, 2025
1abef60
Added sample file
vcolin7 Nov 27, 2025
8d9758e
Refactored indentation and trimming logic
vcolin7 Nov 27, 2025
b006382
Refactored a couple of scripts to use logic found in `eng/common/scri…
vcolin7 Nov 27, 2025
d08bb49
Updated test file and added examples for other servers
vcolin7 Nov 27, 2025
084cd9f
Added logic for extracting PR number from the commit that added an en…
vcolin7 Nov 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ dotnet build
- Documentation: Update `/servers/Azure.Mcp.Server/docs/azmcp-commands.md` and add test prompts to `/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md`
- Tool validation: Run `ToolDescriptionEvaluator` for command descriptions (target: top 3 ranking, ≥0.4 confidence)
- Spelling check: `.\eng\common\spelling\Invoke-Cspell.ps1`
- Changelog: Update `CHANGELOG.md` with your changes
- Changelog: Create changelog entry YAML file if the change is a new feature, bug fix, or breaking change. See `docs/changelog-entries.md` for instructions. Always use the `-ChangelogPath` parameter (e.g., `servers/Azure.Mcp.Server/CHANGELOG.md` or `servers/Fabric.Mcp.Server/CHANGELOG.md`).
- One tool per PR: Submit single toolsets for faster review cycles

## Architecture and Project Structure
Expand Down Expand Up @@ -687,7 +687,7 @@ When adding new commands:
1. **Update `/servers/Azure.Mcp.Server/docs/azmcp-commands.md`** with new command details
2. **Add test prompts to `/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md`** (maintain alphabetical order)
3. **Update toolset README.md** with new functionality
4. **Update CHANGELOG.md** with changes
4. **Create changelog entry** if user-facing or critical change. See `docs/changelog-entries.md` for instructions. Always use the `-ChangelogPath` parameter (e.g., `servers/Azure.Mcp.Server/CHANGELOG.md` or `servers/Fabric.Mcp.Server/CHANGELOG.md`).
5. **Add CODEOWNERS entry** for new toolset

### Spelling and Content Validation
Expand Down
25 changes: 21 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@ If you are contributing significant changes, or if the issue is already assigned
- [Adding a New Command](#adding-a-new-command)
- [Testing](#testing)
- [Unit Tests](#unit-tests)
- [Cancellation plumbing](#cancellation-plumbing)
- [End-to-end Tests](#end-to-end-tests)
- [Testing Local Build with VS Code](#testing-local-build-with-vs-code)
- [Build the Server](#build-the-server)
- [Run the Azure MCP server in HTTP mode](#run-the-azure-mcp-server-in-http-mode)
- [Configure mcp.json](#configure-mcpjson)
- [Server Modes](#server-modes)
- [Start from IDE](#start-from-ide)
Expand Down Expand Up @@ -91,6 +93,7 @@ If you are contributing significant changes, or if the issue is already assigned
- `test-resources.bicep` - Infrastructure templates for testing
- `eng/` - Shared tools, templates, CLI helpers
- `docs/` - Central documentation and onboarding materials

## Development Workflow

### Development Process
Expand All @@ -115,6 +118,7 @@ If you are contributing significant changes, or if the issue is already assigned
> - **Incremental progress**: Get your first tool merged to establish baseline, then build upon it
>
> If you're planning to contribute multiple tools, please:
>
> 1. Submit your most important or representative tool as your first PR to establish the code patterns.
> 2. Use that baseline to inform your subsequent tool PRs.

Expand All @@ -140,9 +144,22 @@ If you are contributing significant changes, or if the issue is already assigned
- Add test prompts for the new command in [/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md](https://github.com/microsoft/mcp/blob/main/servers/Azure.Mcp.Server/docs/e2eTestPrompts.md)
- Update [README.md](https://github.com/microsoft/mcp/blob/main/README.md) to mention the new command

6. **Add CODEOWNERS entry** in [CODEOWNERS](https://github.com/microsoft/mcp/blob/main/.github/CODEOWNERS) [(example)](https://github.com/microsoft/mcp/commit/08f73efe826d5d47c0f93be5ed9e614740e82091)

7. **Add new tool to consolidated mode**:
6. **Create a changelog entry** (if your change is a new feature, bug fix, or breaking change):
- Use the generator script to create a changelog entry (see `docs/changelog-entries.md` for details):
```powershell
# Interactive mode (prompts for server)
./eng/scripts/New-ChangelogEntry.ps1

# Or with all parameters
./eng/scripts/New-ChangelogEntry.ps1 -ChangelogPath "servers/Azure.Mcp.Server/CHANGELOG.md" -Description <your-change-description> -Section <changelog-section> -PR <pr-number>
./eng/scripts/New-ChangelogEntry.ps1 -ChangelogPath "servers/Fabric.Mcp.Server/CHANGELOG.md" -Description <your-change-description> -Section <changelog-section> -PR <pr-number>
```
- Or manually create a YAML file in `servers/{ServerName}/changelog-entries/`
- Not every PR needs a changelog entry - skip for internal refactoring, test-only changes, or minor updates. If unsure, add to the "Other Changes" section or ask a maintainer.

7. **Add CODEOWNERS entry** in [CODEOWNERS](https://github.com/microsoft/mcp/blob/main/.github/CODEOWNERS) [(example)](https://github.com/microsoft/mcp/commit/08f73efe826d5d47c0f93be5ed9e614740e82091)

8. **Add new tool to consolidated mode**:
- Open `core/Azure.Mcp.Core/src/Areas/Server/Resources/consolidated-tools.json` file, where the tool grouping definition is stored for consolidated mode. In Agent mode, add it to the chat as context.
- Paste the follow prompt for Copilot to generate the change to add the new tool:
```txt
Expand All @@ -157,7 +174,7 @@ If you are contributing significant changes, or if the issue is already assigned
```
- Commit the change.

8. **Create Pull Request**:
9. **Create Pull Request**:
- Reference the issue you created
- Include tests in the `/tests` folder
- Ensure all tests pass
Expand Down
Loading