Token导航 LogoToken导航

MCP Server · AI代理

Ag Ui Multiple MCP Servers Azure Foundry

一个展示AG-UI(代理-用户界面)协议的演示应用,结合CopilotKit,通过.NET 9后端和Next.js前端实现,支持四种由Azure OpenAI驱动的AI代理场景。

未说明官方级别未说明来源级核验工具 0
AI代理C#工作流自动化

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
shoebsd31
提供方
shoebsd31

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Ag Ui Multiple MCP Servers Azure Foundry 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

AG-UI演示工作区

演示应用程序展示了 AG-UI(代理用户界面)协议 随着 复印机套件 --以a为特色。NET 9后端和Next.js前端,带有4个由Azure OpenAI支持的AI代理场景。

这是 非 4台独立的服务器。这是一个单一的。NET后端暴露了4个AG-UI端点,由单个Next.js前端通过CopilotKit使用。

______________________________________________________________________

建筑

                        User (Browser)
                             |
                             v
┌─────────────────────────────────────────────────────────┐
│  Next.js Frontend (port 3000)                           │
│                                                         │
│  ┌───────────────────────────────────────────────────┐  │
│  │ React Pages                                       │  │
│  │  /time-tracker    → │
│  │  /calendar        →    │
│  │  /knowledge-base  → │
│  │  /security-issues → │
│  │                                                   │  │
│  │  Each page wraps  for the chat UI    │  │
│  └───────────────────────┬───────────────────────────┘  │
│                          │                              │
│  ┌───────────────────────▼───────────────────────────┐  │
│  │ API Route: /api/copilotkit                        │  │
│  │  CopilotRuntime + ExperimentalEmptyAdapter        │  │
│  │  Routes to 4 HttpAgent instances (from @ag-ui/client)│
│  └───────────────────────┬───────────────────────────┘  │
└──────────────────────────┼──────────────────────────────┘
                           │
                  HTTP POST + SSE Response
                  (AG-UI Protocol over SSE)
                           │
┌──────────────────────────▼──────────────────────────────┐
│  .NET 9 Backend (port 5018)                             │
│                                                         │
│  ┌───────────────────────────────────────────────────┐  │
│  │ ASP.NET Core Pipeline                             │  │
│  │  builder.Services.AddAGUI()                       │  │
│  │  app.MapAGUI("/time_tracker",    agent)            │  │
│  │  app.MapAGUI("/calendar",        agent)            │  │
│  │  app.MapAGUI("/knowledge_base",  agent)            │  │
│  │  app.MapAGUI("/security_issues", agent)            │  │
│  └───────────────────────┬───────────────────────────┘  │
│                          │                              │
│  ┌───────────────────────▼───────────────────────────┐  │
│  │ ChatClientAgent (per endpoint)                    │  │
│  │  - System prompt (Instructions)                   │  │
│  │  - Domain tools (AIFunctionFactory.Create)        │  │
│  │  - Source-gen JSON (McpAguiSerializerContext)      │  │
│  └───────────────────────┬───────────────────────────┘  │
│                          │                              │
│  ┌───────────────────────▼───────────────────────────┐  │
│  │ Azure OpenAI (GPT-4.1-mini)                       │  │
│  │  - Receives user message + tool definitions       │  │
│  │  - Returns tool calls or text completions         │  │
│  └───────────────────────────────────────────────────┘  │
│                                                         │
│  ┌───────────────────────────────────────────────────┐  │
│  │ In-Memory Data Stores (Singletons)                │  │
│  │  TimeEntryStore   → 30 days of seed entries       │  │
│  │  CalendarStore    → Recurring + scattered events  │  │
│  │  KnowledgeArticleStore → 21 seeded articles       │  │
│  │  SecurityIssueStore    → 24 seeded issues         │  │
│  └───────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────┘

______________________________________________________________________

AG-UI协议的工作原理

AG-UI(代理用户界面)是一个 事件驱动协议 该标准化了人工智能代理与前端的通信方式。使用 服务器发送事件(SSE) 通过HTTP作为传输层。

请求响应流

  1. 用户发送消息 在CopilotChat用户界面中
  2. 复印机套件 打包消息并向发送POST /api/copilotkit
  3. 这 CopilotRuntime 正确的路线 HttpAgent 基于 agent 名字
  4. 这 HttpAgent 向发送HTTP POST。NET后端端点(例如。, http://localhost:5018/time_tracker)
  5. 这 MapAGUI中间件 接收请求并调用 ChatClientAgent
  6. 代理将用户消息+工具定义发送到 Azure OpenAI
  7. Azure OpenAI以以下任一方式响应 工具调用 或a 文本完成
  8. AG-UI中间件将响应转换为 SSE事件流
  9. 事件通过管道流回 CopilotChat用户界面,实时呈现它们

SSE事件流

每个代理响应都是一个类型化的JSON事件流,每个事件都以 data: 并用双换行符分隔。典型的交互如下:

data: {"type":"RUN_STARTED","threadId":"","runId":""}

data: {"type":"TOOL_CALL_START","toolCallId":"call_abc","toolCallName":"get_security_summary"}
data: {"type":"TOOL_CALL_ARGS","toolCallId":"call_abc","delta":"{}"}
data: {"type":"TOOL_CALL_END","toolCallId":"call_abc"}
data: {"type":"TOOL_CALL_RESULT","toolCallId":"call_abc","content":"...JSON data...","role":"tool"}

data: {"type":"TEXT_MESSAGE_START","messageId":"msg_1","role":"assistant"}
data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg_1","delta":"Here"}
data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg_1","delta":" is"}
data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg_1","delta":" your"}
data: {"type":"TEXT_MESSAGE_CONTENT","messageId":"msg_1","delta":" summary"}
data: {"type":"TEXT_MESSAGE_END","messageId":"msg_1"}

data: {"type":"RUN_FINISHED","threadId":"","runId":""}

此演示中使用的事件类型

类别活动目的
生命周期RUN_STARTED, RUN_FINISHED标记代理运行的开始和结束
工具调用TOOL_CALL_START, TOOL_CALL_ARGS, TOOL_CALL_END, TOOL_CALL_RESULTLLM调用域工具,接收结果,并使用它来制定响应
短信TEXT_MESSAGE_START, TEXT_MESSAGE_CONTENT, TEXT_MESSAGE_END实时将文本令牌从LLM流式传输到UI

事件协议规则

事件必须遵循严格的排序协议:

RUN_STARTED
  -> TOOL_CALL_START -> TOOL_CALL_ARGS* -> TOOL_CALL_END -> TOOL_CALL_RESULT
  -> TEXT_MESSAGE_START -> TEXT_MESSAGE_CONTENT* -> TEXT_MESSAGE_END
RUN_FINISHED

AG-UI客户端SDK验证此序列。无效的订单(例如。, TEXT_MESSAGE_CONTENT 没有前缀 TEXT_MESSAGE_START)被抓住并报告。

为什么选择WebSockets上的SSE

特性SSEWebSockets
方向服务器到客户端(单向)双向
协议标准HTTP/1.1升级握手
重新连接内置自动重新连接手动
负载平衡器开箱即用需要粘性会话
复杂性简单文本协议二进制框架

SSE非常适合代理用户模式:用户发送单个请求(POST),代理将响应作为一系列事件流式返回。

______________________________________________________________________

后端如何工作

关键技术

包装用途
Microsoft.Agents.AI.Hosting.AGUI.AspNetCoreAG-UI中间件-- AddAGUI() 和 MapAGUI()
Microsoft.Agents.AIChatClientAgent 和 ChatClientAgentOptions
Microsoft.Extensions.AIAIFunctionFactory.Create() 用于工具注册
Azure.AI.OpenAIAzure OpenAI客户端
DotNetEnv负载 .env 凭证文件

代理创建模式

每个代理都是通过以下方式创建的 AgentFactory 使用此模式:

// 1. Get the domain store (singleton with seed data)
var store = sp.GetRequiredService();

// 2. Get the Azure OpenAI chat client
var chatClient = azureOpenAIClient.GetChatClient(deploymentName);

// 3. Create domain tools from store methods
var tools = new List
{
    AIFunctionFactory.Create(store.LogTime, "log_time",
        "Log time against a project for a given date.",
        McpAguiSerializerContext.Default.Options),
    // ... more tools
};

// 4. Create the agent with system prompt + tools
return chatClient.CreateAIAgent(new ChatClientAgentOptions
{
    Instructions = "You are a time tracking assistant...",
    ChatOptions = new ChatOptions { Tools = tools }
});

源生成的JSON序列化

工具参数和返回值中使用的所有DTO都必须在中注册 McpAguiSerializerContext 为。NET的源代码生成的JSON序列化程序。这包括用作工具参数的图元类型:

[JsonSerializable(typeof(string))]
[JsonSerializable(typeof(int))]
[JsonSerializable(typeof(int?))]      // For optional tool parameters
[JsonSerializable(typeof(DateTime))]
[JsonSerializable(typeof(DateTime?))]
[JsonSerializable(typeof(TimeEntry))]
[JsonSerializable(typeof(List))]
// ... all DTOs, enums, and List variants
internal sealed partial class McpAguiSerializerContext : JsonSerializerContext;

端点映射

每个代理都通过以下方式映射到HTTP端点 MapAGUI():

app.MapAGUI("/time_tracker",    AgentFactory.CreateTimeTracker(serviceProvider));
app.MapAGUI("/calendar",        AgentFactory.CreateCalendar(serviceProvider));
app.MapAGUI("/knowledge_base",  AgentFactory.CreateKnowledgeBase(serviceProvider));
app.MapAGUI("/security_issues", AgentFactory.CreateSecurityIssues(serviceProvider));

当POST请求到达这些端点中的任何一个时,AG-UI中间件:

  1. 反序列化传入消息
  2. 将它们传递给 ChatClientAgent
  3. 代理使用消息和工具定义调用Azure OpenAI
  4. 如果LLM返回工具调用,代理将执行该工具并将结果发送回LLM
  5. LLM的最终文本响应作为SSE事件流式传输回调用者

工具方法

所有工具方法返回 string (JSON序列化数据)。LLM解释原始JSON并为用户格式化。每个域有5个工具:

代理工具
时间追踪log_time, get_time_entries, get_project_time_summary, get_time_for_project, get_daily_breakdown
日历get_schedule_for_day, get_schedule_for_week, get_schedule_for_month, get_upcoming_deadlines, get_free_slots
知识库search_knowledge_articles, get_article, list_articles_by_project, list_articles_by_category, get_popular_articles
安全问题get_security_issues, get_security_issue_detail, get_security_summary, get_issues_by_project, get_critical_and_high_issues

______________________________________________________________________

前端如何工作

关键技术

包装用途
@copilotkit/react-coreCopilotKit 提供者组件
@copilotkit/react-uiCopilotChat 带有markdown渲染的组件
@copilotkit/runtimeCopilotRuntime API路线
@ag-ui/clientHttpAgent --AG-UI客户端与后端进行SSE通信
@ag-ui/coreAG-UI事件类型和协议定义

前端到后端桥

API路线(/api/copilotkit)充当CopilotKit和之间的桥梁。NET后端:

// Create HttpAgent instances pointing to each backend endpoint
const agents = {
  time_tracker:    new HttpAgent({ url: "http://localhost:5018/time_tracker" }),
  calendar:        new HttpAgent({ url: "http://localhost:5018/calendar" }),
  knowledge_base:  new HttpAgent({ url: "http://localhost:5018/knowledge_base" }),
  security_issues: new HttpAgent({ url: "http://localhost:5018/security_issues" }),
};

// CopilotRuntime routes requests to the correct agent
const runtime = new CopilotRuntime({ agents });

代理页面模式

每个代理页面都遵循相同的模式,使用共享 ChatLayout 组件:


  

这 agent 道具打开 CopilotKit 告诉运行时 HttpAgent 使用,这反过来又决定了哪个后端端点接收请求。

CopilotChat如何呈现AG-UI事件

CopilotChat处理来自后端的SSE事件流并实时呈现:

SSE事件CopilotChat行为
RUN_STARTED显示加载指示器
TOOL_CALL_START表示代理正在工作(活动点)
TOOL_CALL_RESULT工具结果存储在内部(未显示给用户)
TEXT_MESSAGE_START创建新的助手消息气泡
TEXT_MESSAGE_CONTENT使用markdown渲染附加流式文本标记
TEXT_MESSAGE_END完成消息
RUN_FINISHED隐藏装载指示器

______________________________________________________________________

代理场景

1.时间追踪器(/time-tracker)

记录和跟踪4个项目的工作时间,每天上限为8小时。查询时间条目,查看项目摘要,分析每日明细。种子数据包括30个工作日的条目,每天3-5个条目。

2.日历(/calendar)

只读日历助手,可按天、周或月查询日程。查找空闲时间段并查看即将到来的截止日期。种子数据包括重复发生的事件(每日站立、午餐、周五回顾)和分散的会议、焦点块以及今天前后1个月的截止日期。

3.知识库(/knowledge-base)

ServiceNow风格的跨项目知识文章搜索。按关键字搜索,按项目或类别浏览,查看热门文章。种子数据包括21篇文章(每个项目5-6篇),涵盖了操作方法、故障排除、最佳实践、架构和部署等类别。

4.安全问题(/security-issues)

跨项目的安全发现仪表板。按严重性/状态查看问题,获取带有风险评分的安全态势摘要,并确定补救措施的优先级。种子数据包括24个问题(每个项目6个),严重程度从严重到低。

______________________________________________________________________

共享种子数据(4个项目)

代码名称描述
ALPHAProject ALPHA内部CRM现代化平台
NEXUSNEXUS项目API网关和微服务迁移
ORBITProject ORBIT面向客户的移动应用程序重新设计
VAULT项目库数据仓库和分析管道

所有数据都在内存中,并在后端重新启动时重置。

______________________________________________________________________

技术栈

层技术
后端运行时。净值9
AG-UI服务器SDK微软。代理人。你好。阿吉。AspNetCore
代理框架Microsoft。代理人。AI(聊天客户端代理)
工具创建微软。扩展。AI(AIFunctionFactory)
LLMAzure OpenAI(GPT-4.1-mini通过Azure、AI、OpenAI)
前端Next.js 15+React 19+TypeScript
AI UICopilotKit(@CopilotKit/react core,react-UI,运行时)
AG-UI客户端@AG UI/客户端(HttpAgent),@AG UI/core
样式带有自定义CopilotKit覆盖的顺风CSS 4

______________________________________________________________________

项目结构

app/
├── .env                                # Azure OpenAI credentials (not committed)
├── .env.example                        # Credentials template
├── run.bat                             # Start both services (Windows batch)
├── run.ps1                             # Start both services (PowerShell)
├── backend/
│   └── McpAguiServer/
│       ├── McpAguiServer.csproj        # .NET 9 project with NuGet packages
│       ├── Program.cs                  # Entry point, DI, CORS, MapAGUI endpoints
│       ├── AgentFactory.cs             # Azure OpenAI client, 4 agent factory methods
│       ├── McpAguiSerializerContext.cs  # Source-generated JSON for all DTOs
│       ├── Shared/
│       │   ├── Project.cs              # Project DTO (Code, Name, Description)
│       │   └── ProjectSeed.cs          # 4 shared projects (ALPHA, NEXUS, ORBIT, VAULT)
│       ├── TimeTracker/
│       │   ├── TimeEntry.cs            # DTO
│       │   └── TimeEntryStore.cs       # Seed data + 5 tools
│       ├── Calendar/
│       │   ├── EventType.cs            # Enum: Meeting, FocusBlock, Deadline
│       │   ├── CalendarEvent.cs        # DTO
│       │   └── CalendarStore.cs        # Seed data + 5 tools
│       ├── KnowledgeBase/
│       │   ├── KnowledgeArticle.cs     # DTO
│       │   └── KnowledgeArticleStore.cs # 21 articles + 5 tools
│       └── SecurityIssues/
│           ├── Severity.cs             # Enum: Critical, High, Medium, Low
│           ├── IssueStatus.cs          # Enum: Open, InProgress, Resolved, Dismissed
│           ├── SecurityIssue.cs        # DTO
│           └── SecurityIssueStore.cs   # 24 issues + 5 tools
└── frontend/
    ├── package.json                    # Dependencies (CopilotKit, AG-UI, Next.js)
    ├── next.config.ts                  # serverExternalPackages config
    ├── tsconfig.json
    ├── postcss.config.mjs              # Tailwind CSS setup
    └── src/
        ├── app/
        │   ├── globals.css             # Tailwind + CopilotKit CSS overrides
        │   ├── layout.tsx              # Root layout with Nav
        │   ├── page.tsx                # Home page with agent cards
        │   ├── api/copilotkit/
        │   │   └── route.ts            # CopilotRuntime bridge (HttpAgent → backend)
        │   ├── time-tracker/page.tsx    # Time Tracker agent page
        │   ├── calendar/page.tsx        # Calendar agent page
        │   ├── knowledge-base/page.tsx  # Knowledge Base agent page
        │   └── security-issues/page.tsx # Security Issues agent page
        └── components/
            ├── nav.tsx                 # Navigation bar with active state
            └── chat-layout.tsx         # Shared CopilotKit + CopilotChat wrapper

______________________________________________________________________

运行项目

看 howtorun.md 有关详细的设置和运行说明。

快速启动:

# 1. Copy and fill in credentials
cp .env.example .env

# 2. Run both services
.\run.ps1          # PowerShell
# or
run.bat            # Command Prompt

然后打开http://localhost:3000在您的浏览器中。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

AI代理C#本地部署CopilotKitAG-UI协议AzureOpenAINext.js.NET9

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Ag Ui Multiple MCP Servers Azure Foundry

MCP World · 本页

0未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Ag Ui Multiple MCP Servers Azure Foundry 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Ag Ui Multiple MCP Servers Azure Foundry 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Ag Ui Multiple MCP Servers Azure Foundry 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Ag Ui Multiple MCP Servers Azure Foundry 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Ag Ui Multiple MCP Servers Azure Foundry 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP