Skip to content

New lab - APIM integration with Foundry Toolbox - #377

Merged
nourshaker-msft merged 13 commits into
Azure-Samples:mainfrom
georgeollis:main
Jul 24, 2026
Merged

New lab - APIM integration with Foundry Toolbox#377
nourshaker-msft merged 13 commits into
Azure-Samples:mainfrom
georgeollis:main

Conversation

@georgeollis

Copy link
Copy Markdown
Contributor

Purpose

  • Introduce a brand-new ai-foundry-toolbox lab that deploys and governs a shared Foundry Toolbox with two MCP servers:
    • vet-clinic MCP server
    • pet-insurance MCP server
  • Include brand-new MCP server implementations with tools for veterinary and pet insurance workflows (including):
    • coverage checks
    • pre-authorization requests
    • claim status lookups
    • claim document submission
  • Provision new lab infrastructure to deploy both Function Apps and wire APIM diagnostics/tracing to Application Insights.
  • Add notebook examples that show clear tool-call traces and multiple end-to-end scenarios through APIM.

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type

What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Documentation content changes
[ ] Other... Please describe:

How to Test

  • Get the code
git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
uv sync
  • Test the code
1. Open labs/ai-foundry-toolbox/ai-foundry-toolbox.ipynb.
2. Run notebook cells in order (or Run All) through at least Section 8.
3. Verify deployment succeeds for:
   - APIM + Foundry + App Insights resources
   - Function App for vet-clinic MCP server
   - Function App for pet-insurance MCP server
4. Verify toolbox creation includes both server labels:
   - vet
   - insurance
5. Verify direct toolbox discovery lists both vet___* and insurance___* tools.
6. Verify APIM proxy discovery works with subscription key.
7. Run the multi-scenario chat examples and confirm tool call traces are printed.

What to Check

Verify that the following are valid:

  • This PR introduces the ai-foundry-toolbox lab as a new end-to-end implementation.
  • New MCP server folders exist:
    • labs/ai-foundry-toolbox/mcp-servers/vet-clinic
    • labs/ai-foundry-toolbox/mcp-servers/pet-insurance
  • Folder naming is consistent across notebook/docs:
    • vet-clinic
    • pet-insurance
  • Bicep deploys both Function Apps and required storage containers/role assignments.
  • APIM diagnostics for inference/toolbox APIs are configured to send telemetry to Application Insights.
  • Notebook scenarios demonstrate clear tool-call traces with arguments and result previews.
  • README reflects the two-server toolbox workflow.

Other Information

  • Scope intentionally limited to ai-foundry-toolbox work.
  • This PR represents a new lab delivery (infrastructure + notebook workflow + MCP servers + documentation) rather than incremental changes to an existing lab.

George Ollis and others added 10 commits July 16, 2026 14:18
- Created a Jupyter notebook for cleaning up Azure resources after lab completion.
- Added Bicep template for deploying AI Foundry resources including Log Analytics, Application Insights, API Management, and a Function App for veterinary practice tools.
- Introduced a Python Azure Function app with three MCP tools: get_patient_summary, schedule_appointment, and order_stock, simulating a veterinary practice management system.
- Implemented necessary configuration files including .funcignore, .gitignore, host.json, requirements.txt, and policy XML for API Management.
- Added a pyproject.toml for managing Python dependencies.
…linic

- Deleted vet-toolbox server files including host.json and requirements.txt.
- Added pet-insurance server with host.json, requirements.txt, and function_app.py implementing four MCP tools for pet insurance workflow.
- Introduced vet-clinic server with host.json, requirements.txt, and function_app.py implementing three MCP tools for veterinary practice.
- Added .funcignore and .gitignore files for both new servers to exclude unnecessary files from deployment and version control.
@georgeollis

Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree company="Microsoft"

@nourshaker-msft
nourshaker-msft self-requested a review July 24, 2026 10:49
@nourshaker-msft
nourshaker-msft merged commit 73367ee into Azure-Samples:main Jul 24, 2026
1 check 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.

2 participants