Files
Peter Ibekwe bf4ad48cf2 Python: MCP long-running task support in Python (#6319)
* 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>
2026-06-05 00:04:55 +00:00

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_KEY environment variable
  • OPENAI_CHAT_MODEL environment variable

Run mcp_api_key_auth.py with the MCP API key as the first command-line argument.

For mcp_github_pat.py:

For mcp_long_running_task.py (uses Azure OpenAI via Entra-ID):

  • Run az login once
  • AZURE_OPENAI_ENDPOINT - your Azure OpenAI resource endpoint, e.g. https://<resource>.openai.azure.com/
  • AZURE_OPENAI_CHAT_MODEL (or AZURE_OPENAI_MODEL) - the deployment name (e.g. gpt-4o-mini)