Azure MCP客户端

一个基于Python的模型上下文协议(MCP)客户端,专为与Azure交互设计,提供通过命令行界面连接Azure MCP服务器并调用可用工具的功能。

  • by yusuke-1105
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 yusuke-1105/mcp-azure-client

使用说明

日语版是这里来修改标记元素的显示属性。

MCP Azure客户端

一个基于Python的模型上下文协议(MCP)客户端,专门设计用于与Azure交互。此应用程序提供了一种方便的连接方式 Azure MCP服务器 并通过交互式命令行界面调用可用工具。

特性

  • 使用MCP协议连接到Azure MCP服务器
  • 列出可用工具及其说明和所需参数
  • 允许使用参数输入交互式执行工具
  • 在Docker中打包,实现跨环境的一致部署

需求

  • Python 3.12+
  • 所需的Python包:
    • mcp:模型上下文协议库
    • uv:依赖关系管理
  • Docker(用于容器化执行)
  • Node.js和npm(用于Azure MCP服务器连接)

用法

Docker Compose(推荐)

该应用程序是容器化的,便于使用,最好使用Docker Compose运行,它可以自动管理所有依赖关系和环境设置。

  1. 从项目目录中启动服务:

    docker compose up -d
    

    首次启动服务后,输入容器并使用Azure CLI登录:

    docker compose exec mcp-client az login
    
  2. 这将构建容器,启动应用程序,并直接在终端中显示日志。

    docker compose exec mcp-client python3 mcp-client.py
    
  3. 当应用程序启动时,它将自动连接到Azure MCP服务器并显示客户端界面。

  4. 要停止服务,请按 Ctrl+C 然后运行:

    docker compose down
    

本地安装

如果您更喜欢在本地运行应用程序:

  1. 安装依赖项:

    pip install -r requirements.txt
    
  2. 确保你的系统上安装了npm

  3. 运行客户端:

    python mcp-client.py
    

运作原理

  1. 应用程序使用npx初始化并连接到Azure MCP服务器以运行 @azure/mcp 包裹
  2. 连接后,您可以:
    • 列出所有可用工具(选项1)
    • 按编号调用特定工具(选项2)
    • 退出应用程序(选项3)
  3. 调用工具时,系统会提示您输入必需和可选参数

代码概述

这 mcp-client.py 文件包含:

  • MCPClient 类:处理服务器连接逻辑
  • list_and_call_tools 功能:管理交互式CLI界面
  • 用于解包工具定义并显示它们的辅助函数
  • 编排应用程序流的主要功能

项目结构

.
├── Dockerfile            # Container definition
├── docker-compose.yml    # Docker Compose configuration
├── mcp-client.py         # Main application code
└── requirements.txt      # Python dependencies