Skip to content

Merge initial generate step+tooling#41316

Merged
l0lawrence merged 59 commits intoAzure:mainfrom
l0lawrence:merge_initial_generate_step+tooling
May 29, 2025
Merged

Merge initial generate step+tooling#41316
l0lawrence merged 59 commits intoAzure:mainfrom
l0lawrence:merge_initial_generate_step+tooling

Conversation

@l0lawrence
Copy link
Member

Copilot Instructions and Tools for Generating SDKs from typespec (mainly for local comparison)

@l0lawrence l0lawrence marked this pull request as ready for review May 29, 2025 19:32
Copilot AI review requested due to automatic review settings May 29, 2025 19:32
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds initial Model Context Protocol (MCP) servers and supporting files for local SDK generation and validation workflows using TypeSpec and tooling.

  • Introduces a validation MCP server with verify_setup and tox tools for environment checks and test runs.
  • Introduces a TypeSpec client-generation MCP server with init and init_local tools.
  • Adds project configuration (pyproject.toml), READMEs, VSCode settings, cspell entries, and Copilot instruction guidance.

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
tools/mcp/validation/pyproject.toml Defines the validation server project and dependencies
tools/mcp/validation/main.py Implements verify_setup and tox MCP tools
tools/mcp/validation/README.md Documents usage and response format for validation tools
tools/mcp/typespec/pyproject.toml Defines the TypeSpec server project and dependencies
tools/mcp/typespec/main.py Implements get_latest_commit, CLI runner, and init* tools
tools/mcp/typespec/README.md Documents usage and response format for TypeSpec tools
doc/dev/ai/typespec_generation.md Outlines Copilot-driven SDK generation workflow
.vscode/mcp.json Configures VSCode launch/server definitions for both MCP servers
.vscode/cspell.json Adds “fastmcp” to cspell dictionary
.github/copilot-instructions.md Updates Copilot instruction set and SDK generation rules
Comments suppressed due to low confidence (2)

tools/mcp/typespec/main.py:8

  • The imported Auth is not used. Please remove this unused import to keep dependencies clean.
from github import Github, Auth

tools/mcp/typespec/main.py:30

  • [nitpick] Use snake_case for variables in Python. Rename configUrl to config_url or use tspurl directly.
configUrl = tspurl

@l0lawrence l0lawrence requested a review from Copilot May 29, 2025 20:33
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds initial MCP tooling and Copilot instructions to streamline SDK generation and validation workflows for Azure SDK repositories.

  • Introduces two new MCP servers (validation and typespec) with commands for environment checks, tox validation, and TypeSpec client generation
  • Adds project configuration (pyproject.toml), README documentation, and VSCode debug setups for both tools
  • Supplies a detailed developer guide (doc/dev/ai/typespec_generation.md) and updated Copilot instructions

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tools/mcp/validation/pyproject.toml New project metadata and dependencies for validation tools
tools/mcp/validation/main.py Core MCP server implementation for setup and tox commands
tools/mcp/validation/README.md Usage guide for validation MCP server tools
tools/mcp/typespec/pyproject.toml New project metadata and dependencies for TypeSpec server
tools/mcp/typespec/main.py Core MCP server implementation for TypeSpec client tasks
tools/mcp/typespec/README.md Usage guide for TypeSpec MCP server tools
doc/dev/ai/typespec_generation.md Detailed AI-driven SDK generation workflow
.vscode/mcp.json VSCode launch profiles for both MCP servers
.vscode/cspell.json Added fastmcp to the spelling dictionary
.github/copilot-instructions.md Expanded Copilot usage rules and TypeSpec generation steps
Comments suppressed due to low confidence (1)

tools/mcp/typespec/main.py:8

  • [nitpick] The Auth import is unused. You can remove it to keep imports clean.
from github import Github, Auth

@l0lawrence l0lawrence requested a review from Copilot May 29, 2025 20:54
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces two new MCP servers for local SDK generation and validation workflows, along with supporting configuration and documentation.

  • Add a validation MCP server (verify_setup, tox) under tools/mcp/validation
  • Add a TypeSpec client generation MCP server (init, init_local) under tools/mcp/typespec
  • Update VSCode launch configs, spelling settings, and Copilot instructions for the new tooling

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tools/mcp/validation/pyproject.toml Define validation server metadata and dependencies
tools/mcp/validation/main.py Implement validation tools (verify_setup, tox)
tools/mcp/validation/README.md Add usage guide for the validation MCP server
tools/mcp/typespec/pyproject.toml Define TypeSpec server metadata and dependencies
tools/mcp/typespec/main.py Implement TypeSpec client generator tools (init, init_local)
tools/mcp/typespec/README.md Add usage guide for the TypeSpec MCP server
.vscode/mcp.json Configure VSCode tasks to launch the MCP servers
.vscode/cspell.json Add fastmcp to the spelling exception list
.github/copilot-instructions.md Update Copilot instructions and SDK generation workflow
doc/dev/ai/typespec_generation.md Add AI-driven TypeSpec generation guide

Copy link
Member

@scbedd scbedd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving to unblock. I do think that the process runners should probably be shared (run_command vs run_typespec_command are extremely similar), but the point of this is to make quick progress and refactors are easy later. So not going to block on it.

@l0lawrence
Copy link
Member Author

/check-enforcer override

@l0lawrence l0lawrence enabled auto-merge (squash) May 29, 2025 22:19
@l0lawrence l0lawrence merged commit c635ab7 into Azure:main May 29, 2025
27 of 29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants