MCP HubMCP Hub
azure-ai-foundry

mcp-foundry

by: azure-ai-foundry

A MCP Server for Azure AI Foundry

94created 21/03/2025
Visit
Azure
AI

📌Overview

Purpose: To facilitate seamless integration of existing Azure AI Agents with Azure AI Foundry, leveraging various models and tools available in the platform.

Overview: The Azure AI Agent Service MCP Server enables users to connect to Azure AI Agents and utilize them within any MCP client. It integrates essential features such as secure connections, conversation memory, and easy agent management through a straightforward interface.

Key Features:

  • Agent Integration: Connect to your existing Azure AI Agents, allowing users to leverage their capabilities within various applications.

  • Seamless Workflow: Users can operate their agents directly within any MCP client, enhancing productivity and efficiency.

  • Secure: All connections are secured through Azure credentials, ensuring data safety and user confidentiality.

  • Conversation Memory: Each client session maintains its own isolated conversation history, allowing for a continuous and coherent interaction with agents.


Azure AI Agent Service MCP Server

This MCP server integrates with Azure AI Foundry to enable connections to your existing Azure AI Agents, utilizing the wide range of models and knowledge tools available within Azure AI Foundry, such as Azure AI Search and Bing Web Grounding.

Features

  • 🤖 Agent Integration - Connect to your existing Azure AI Agents
  • 🔄 Seamless Workflow - Use your agents directly within any MCP client
  • 🛡️ Secure - All connections use your Azure credentials
  • 🧠 Conversation Memory - Each client session maintains isolated conversation history

Tools

  • connect_agent

    • Connect to a specific Azure AI Agent by ID
    • Inputs:
      • agent_id (string): The ID of the Azure AI Agent to connect to
      • query (string): The question or request to send to the agent
      • thread_id (string, optional): Thread ID for continuation of conversation
    • Returns: Formatted response from the agent
  • query_default_agent

    • Send a query to the default configured agent
    • Inputs:
      • query (string): The question or request to send to the agent
      • thread_id (string, optional): Thread ID for continuation of conversation
    • Returns: Formatted response from the default agent
  • list_agents

    • List all available Azure AI Agents in your project
    • Returns: List of available agents with their IDs and names

Configuration

Setting up Azure

  1. Create Azure AI Agents through Azure AI Foundry
  2. Note your Azure AI Project connection string
  3. Note your agents' IDs (you'll need these to connect to specific agents)
  4. Authenticate using Azure credentials: az login

Environment Variables

This server requires the following environment variables:

# Required
PROJECT_CONNECTION_STRING=your-project-connection-string

# Optional (configure default agent)
DEFAULT_AGENT_ID=your-default-agent-id

Installation

Prerequisites

  • Python 3.10+
  • Azure CLI (az) installed and configured
  • Existing Azure AI Agents with desired capabilities

Python Setup

# Setup environment
python -m venv .venv
# On Windows
.venv\Scripts\activate
# On macOS/Linux
source .venv/bin/activate

# Install dependencies
pip install mcp[cli] azure-identity python-dotenv azure-ai-projects aiohttp

# Run server directly (from ./src/python)
python -m azure_agent_mcp_server

TypeScript Setup

# Navigate to the TypeScript directory
cd src/typescript

# Install dependencies
npm install

# Build the server
npm run build

# Run the server
npm start

Usage with Claude Desktop

To use with Claude Desktop, add the following to your configuration file:

Python Version

{
  "mcpServers": {
    "azure-agent": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
        "run",
        "-m",
        "azure_agent_mcp_server"
      ],
      "env": {
        "PROJECT_CONNECTION_STRING": "your-project-connection-string",
        "DEFAULT_AGENT_ID": "your-default-agent-id"
      }
    }
  }
}

Or using python:

{
  "mcpServers": {
    "azure-agent": {
      "command": "python",
      "args": ["-m", "azure_agent_mcp_server"],
      "cwd": "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
      "env": {
        "PYTHONPATH": "/ABSOLUTE/PATH/TO/PARENT/FOLDER",
        "PROJECT_CONNECTION_STRING": "your-project-connection-string",
        "DEFAULT_AGENT_ID": "your-default-agent-id"
      }
    }
  }
}

TypeScript Version

{
  "mcpServers": {
    "azure-agent": {
      "command": "node",
      "args": ["/ABSOLUTE/PATH/TO/mcp-foundry/src/typescript/build/index.js"],
      "env": {
        "PROJECT_CONNECTION_STRING": "your-project-connection-string",
        "DEFAULT_AGENT_ID": "your-default-agent-id"
      }
    }
  }
}

Usage with Other MCP Clients

This server follows the MCP protocol specification and can be used with any MCP-compatible client. Refer to your client's documentation for specific instructions on how to connect to external MCP servers.

Development Notes

This project follows a polyglot structure with implementations in both Python and TypeScript:

Python Development

  1. Python code is located in the src/python directory
  2. Always activate the virtual environment from the project root
  3. For package installation, ensure you're in the Python directory where pyproject.toml is located

TypeScript Development

  1. TypeScript code is located in the src/typescript directory
  2. Uses ES Modules for modern JavaScript compatibility
  3. Standard npm workflow: npm installnpm run buildnpm start

License

This project is licensed under the MIT License. You are free to use, modify, and distribute the software under the terms of the MIT License. Please see the LICENSE file in the project repository for details.