Files
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00
..

MCP-Based Agent Skills Sample

This sample demonstrates how to discover Agent Skills served over MCP with an Agent.

What it demonstrates

  • Connecting to a remote MCP server (over streamable HTTP) that exposes skill resources following the SEP-2640 convention.
  • Building a SkillsProvider from an MCPSkillsSource, which reads skill://index.json (SEP-2640 canonical discovery) and constructs skills from the index entries.
  • The progressive disclosure pattern across MCP: advertise → load → read resources, exactly as for filesystem-backed skills.

Running the Sample

Prerequisites

  • Python 3.10+
  • An Azure AI Foundry project with a deployed model
  • Azure CLI authentication (az login)
  • A running MCP server that hosts SEP-2640 skill resources (see "Providing an MCP server" below)

Setup

Set the following environment variables (in a .env file or your shell):

$env:FOUNDRY_PROJECT_ENDPOINT="https://your-endpoint.services.ai.azure.com/api/projects/your-project"
$env:FOUNDRY_MODEL="gpt-4o-mini"
$env:MCP_SKILLS_SERVER_URL="https://your-mcp-server.example.com/mcp"

Run

python mcp_based_skill.py

Providing an MCP server

This sample is a consumer: it does not host an MCP server itself. To try it end-to-end you need an MCP server that exposes the SEP-2640 skill resources (skill://index.json plus per-skill SKILL.md).

Security Considerations

Discovering skills over MCP means an external MCP server controls what skill content (including instructions and, for script-capable skills, the scripts the agent may run) reaches the agent. A compromised or untrustworthy server could return adversarial content designed to manipulate the agent (indirect prompt injection) or to exfiltrate data through skill instructions/scripts. This source is never enabled by default — connecting MCPSkillsSource to a server is an explicit opt-in. Only connect to MCP servers you have vetted and trust, and treat their responses as untrusted input.