Token导航 LogoToken导航TokenDH.com
Azure Openai MCP Example logo
AI代理未说明官方级别未说明来源级核验

Azure Openai MCP Example

MCP Server

一个基于MCP协议与多种LLM提供商(如OpenAI、Azure OpenAI和GitHub Models)交互的容器化AI代理平台,提供TODO列表管理工具和终端交互界面。

工具数

0

提示词数

0

GitHub Stars

31

资源数

0
AI代理多模型支持TypeScriptVS CodeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Azure-Samples

提供方

Azure-Samples

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Azure容器应用程序-AI和MCP游乐场

该项目展示了如何将MCP协议与OpenAI、Azure OpenAI和GitHub模型一起使用。它提供了一个与TODO列表代理交互的简单演示终端应用程序。 代理可以访问MCP服务器提供的一组工具。

MCP组件

目前的实施包括三个主要部分:

  1. MCP主机:与MCP服务器和LLM提供者交互的主要应用程序。主机通知LLM提供者,并为用户提供与代理交互的终端接口。
  2. MCP客户端:使用MCP协议与MCP服务器通信的客户端。该应用程序为HTTP和SSE(服务器发送事件)协议提供两个MCP客户端。
  3. MCP服务器:实现MCP协议并与DocumentDB数据库通信的服务器。该应用程序提供了两种MCP服务器实现:一种使用HTTP,另一种使用SSE(服务器发送事件)。
  4. LLM提供者:根据MCP主机的输入生成响应的语言模型提供者(例如OpenAI、Azure OpenAI、GitHub Models)。
  5. DocumentDB本地:用于存储代理和工具状态的数据库。
  6. 工具:代理可以用来执行操作的一组工具,例如在购物清单中添加或列出项目。
flowchart TD
    user(("fa:fa-users User"))
    host["VS Code, Copilot, LlamaIndex, Langchain..."]
    client[MCP SSE Client]
    clientHttp[MCP HTTP Client]
    server([MCP SSE Server])
    serverHttp([MCP HTTP Server])
    agent[Agent]
    AzureOpenAI([Azure OpenAI])
    GitHub([GitHub Models])
    OpenAI([OpenAI])
    
    tools["fa:fa-wrench Tools"]
    db[(DocumentDB Local)]

    user --> hostGroup 
    subgraph hostGroup["MCP Host"]
        host -.- client & clientHttp & agent
    end
    
    agent -.- AzureOpenAI & GitHub & OpenAI
    
    client a@ ---> |"Server Sent Events"| server
    clientHttp aa@ ---> |"Streamable HTTP"| serverHttp

    subgraph container["ACA Container (*)"]
      server -.- tools
      serverHttp -.- tools
      tools -.- add_todo 
      tools -.- list_todos
      tools -.- complete_todo
      tools -.- delete_todo
    end

    add_todo b@ --> db
    list_todos c@--> db
    complete_todo d@ --> db
    delete_todo e@ --> db
    
    %% styles

    classDef animate stroke-dasharray: 9,5,stroke-dashoffset: 900,animation: dash 25s linear infinite;
    classDef highlight fill:#9B77E8,color:#fff,stroke:#5EB4D8,stroke-width:2px
    
    class a animate
    class aa animate
    class b animate
    class c animate
    class d animate
    class e animate

    class container highlight

MCP服务器支持的特性和功能

此演示应用程序提供了两种MCP服务器实现:一种使用HTTP,另一种使用SSE(服务器发送事件)。MCP主机可以连接到两台服务器,让您选择最适合您需求的服务器。

功能已完成
SSE(传统)
HTTP流媒体
AuthN(基于令牌)wip
工具
资源#3
提示#4
采样#5

快速入门(使用Docker)

要使用Docker开始此项目,请按照以下步骤操作:

  1. 克隆存储库:
git clone https://github.com/Azure-Samples/azure-container-apps-ai-mcp.git
cd azure-container-apps-ai-mcp
  1. 启动Docker容器:
docker-compose up

地方发展

要开始此项目,请按照以下步骤操作:

先决条件

  • Node.js和npm(版本22或更高)
  • Docker(建议用于运行MCP服务器,以及Docker中的DocumentDB Local)
  • 与OpenAI兼容的端点:

- 一个OpenAI API密钥 - 或者,如果你想使用GitHub模型,可以使用GitHub代币:https://gh.io/models - 或者,如果你正在使用Azure OpenAI,你需要有一个 Azure OpenAI资源 以及相应的端点。

安装

  1. 克隆存储库。
  2. 安装依赖项:
npm install --prefix mcp-host
npm install --prefix mcp-server-http
npm install --prefix mcp-server-sse

配置LLM提供程序以使用

此示例支持以下LLM提供商:

提供程序支持的API
Azure OpenAI响应API
OpenAI响应API
GitHub模型ChatCompletion API

Azure OpenAI

\[!注意\] 在Docker容器(本地)中运行时,不支持使用托管身份访问Azure OpenAI。您可以在不使用Docker的情况下在本地运行代码,也可以使用不同的身份验证方法,如AZURE_OPENAI_API_KEY密钥身份验证。

为了使用无密钥身份验证,使用Azure托管身份,您需要提供 AZURE_OPENAI_ENDPOINT 环境变量 .env 文件:

AZURE_OPENAI_ENDPOINT="https://.openai.azure.com"
MODEL="gpt-4.1"

# (optional) Set the Azure OpenAI API key if you are not using Managed Identity
# AZURE_OPENAI_API_KEY=your_azure_openai_api_key

并确保使用 Azure命令行界面 登录您的Azure帐户并按照说明选择订阅:

az login

OpenAI

要使用OpenAI API,您需要设置 OPENAI_API_KEY 钥匙在 .env 文件:

OPENAI_API_KEY=your_openai_api_key
MODEL="gpt-5"

GitHub模型

要使用GitHub模型,您需要设置 GITHUB_TOKEN.env 文件:

GITHUB_TOKEN=your_github_token
MODEL="openai/gpt-5"

运行MCP服务器

在DevContainer中运行(推荐)

此项目包括一个DevContainer配置,允许您在容器化环境中运行MCP服务器。这是运行MCP服务器的推荐方式,因为它确保所有依赖项都已正确安装和配置。

](https://codespaces.new/manekinekko/azure-container-apps-ai-mcp) ![Open in Dev Containers](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/manekinekko/azure-container-apps-ai-mcp)

在DevContainer中打开项目后,您可以使用下面的Docker部分运行MCP服务器。

在Docker中运行

您可以使用提供的Docker Compose文件在Docker容器中运行这两个MCP服务器。这对于测试和开发目的很有用。为此,请执行以下步骤:

  1. 确保你的机器上安装了Docker。类型 docker compose 在您的终端中检查是否安装了Docker Compose。
  2. 导航到项目的根目录,运行以下命令以构建和启动容器:
docker compose up -d --build

此命令将构建并启动HTTP和SSE MCP服务器以及DocumentDB数据库容器。

  1. 在单独的终端中运行以下命令访问MCP主机终端:
docker exec -it mcp-host bash
  1. 在容器内,您可以运行MCP主机并与LLM代理交互,如上文“用法”部分所述。

在Docker之外运行

  1. 首先,在单独的终端中运行MCP服务器:
npm start --prefix mcp-server-http
npm start --prefix mcp-server-sse
\[!注意\] 出于演示目的,MCP主机(见下文)被配置为连接到两台服务器(在端口3000和3001上)。但是,这不是必需的,您可以选择使用哪个服务器。如果服务器不可用,主机将打印错误并继续扫描其他服务器。如果没有可用的服务器,则代理将无法使用任何工具。
  1. 在单独的终端中运行MCP主机:
npm start --prefix mcp-host

您应该能够使用MCP主机与LLM代理交互。试着问一个关于在购物清单中添加或列出项目的问题。然后,主机将尝试从MCP服务器获取和调用工具。

调试和检查

您可以使用 DEBUG 用于为MCP主机启用详细日志记录的环境变量:

DEBUG=mcp:* npm start --prefix mcp-host

默认情况下,两个MCP服务器都启用了调试。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。

目录标签

目录标签

AI代理多模型支持TypeScriptVS Code本地部署容器应用MCP协议TODO管理

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明api-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP