mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
bf4ad48cf2
* MCP long-running task support in Python * Fix pyupgrade and AGENTS.md reconnect description - pyupgrade: drop forward-reference string annotations in _mcp.py (Python 3.10+ resolves them natively now that MCPTaskOptions is defined before use). - AGENTS.md: align reconnect description with current behavior. Phase 1 (initial tools/call) does NOT retry on connection loss; raises 'connection lost; task state unknown' instead, so a server that accepted the request but lost the response cannot start the operation twice. Phase 2 (tasks/get / tasks/result) still reconnects once against the same task_id. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Fix bandit nosec marker for CI pipeline * Address PR feedbacks * Clarifiied comments and addressed more PR feedbacks. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1.9 KiB
1.9 KiB
MCP (Model Context Protocol) Examples
This folder contains examples demonstrating how to work with MCP using Agent Framework.
What is MCP?
The Model Context Protocol (MCP) is an open standard for connecting AI agents to data sources and tools. It enables secure, controlled access to local and remote resources through a standardized protocol.
Examples
| Sample | File | Description |
|---|---|---|
| Agent as MCP Server | agent_as_mcp_server.py |
Shows how to expose an Agent Framework agent as an MCP server that other AI applications can connect to |
| API Key Authentication | mcp_api_key_auth.py |
Demonstrates API key authentication with MCP servers using header_provider, runtime invocation kwargs, and a command-line API key argument |
| GitHub Integration with PAT | mcp_github_pat.py |
Demonstrates connecting to GitHub's MCP server using Personal Access Token (PAT) authentication |
| Long-Running Task | mcp_long_running_task.py |
Demonstrates transparent SEP-2663 long-running task handling for MCP tools that advertise taskSupport=required. Self-spawns a stdio MCP child server |
Prerequisites
Most samples in this folder use OpenAI:
OPENAI_API_KEYenvironment variableOPENAI_CHAT_MODELenvironment variable
Run mcp_api_key_auth.py with the MCP API key as the first command-line argument.
For mcp_github_pat.py:
GITHUB_PAT- Your GitHub Personal Access Token (create at https://github.com/settings/tokens)
For mcp_long_running_task.py (uses Azure OpenAI via Entra-ID):
- Run
az loginonce AZURE_OPENAI_ENDPOINT- your Azure OpenAI resource endpoint, e.g.https://<resource>.openai.azure.com/AZURE_OPENAI_CHAT_MODEL(orAZURE_OPENAI_MODEL) - the deployment name (e.g.gpt-4o-mini)