Skip to main content
Glama

ms-agentframework

Microsoft Agent Framework + MCP Protocol

🤖 Production-ready AI Agent Server | 生產級 AI 代理伺服器

Python Version License Microsoft Agent Framework

ms-agentframework 是 Microsoft Agent Framework 與 Model Context Protocol (MCP) 的生產級整合,提供 SSE/HTTP 串流傳輸。

ms-agentframework is a production-ready integration of Microsoft Agent Framework with Model Context Protocol (MCP), providing SSE/HTTP streamable transport.

🎬 示範影片 | Demo Video

示範內容 | What the demo shows:

  • ✅ 工具自動載入與註冊 | Automatic tool loading and registration

  • ✅ 即時查詢處理 | Real-time query processing

  • ✅ 多工具協同使用 | Multi-tool collaboration

  • ✅ 結果即時顯示 | Real-time result display

示範影片展示了:

  • ✅ 工具自動載入與註冊 | Automatic tool loading and registration

  • ✅ 即時查詢處理 | Real-time query processing

  • ✅ 多工具協同使用 | Multi-tool collaboration

  • ✅ 結果即時顯示 | Real-time result display

The demo showcases:

  • ✅ Automatic tool loading and registration

  • ✅ Real-time query processing

  • ✅ Multi-tool collaboration

  • ✅ Real-time result display

✨ 特色 | Features

  • Microsoft Agent Framework - 官方 Azure OpenAI 代理框架 | Official Azure OpenAI agent framework

  • MCP 協議 - AI 代理工具的標準協議 | Standard protocol for AI agent tools

  • SSE 傳輸 - Server-Sent Events 即時串流 | Server-Sent Events for real-time streaming

  • Python uv - 現代化 Python 套件管理 | Modern Python package management

  • FastAPI - 高效能異步網頁框架 | High-performance async web framework

  • 生產就緒 - 包含 Docker、測試、監控 | Production ready with Docker, testing, monitoring

🚀 快速開始 | Quick Start

一行命令啟動 | One-Line Startup

# 完整設置並啟動 | Complete setup and start (推薦 | Recommended) make quickstart

或分步驟執行 | Or step by step

# 1. 複製專案 | Clone repository git clone https://github.com/jimmyliao/ms-agentframework.git cd ms-agentframework # 2. 一鍵設置安裝 | One-command setup make quickstart # 或手動分步 | Or manual steps: # make setup # 設置環境 | Setup environment # make install # 安裝依賴 | Install dependencies # make run # 啟動伺服器 | Start server

快速測試工具 | Quick Tool Testing

# 測試所有工具 | Test all tools make demo-tools # 或單獨測試 | Or test individually: make demo-weather # 天氣工具 | Weather tool make demo-calc # 計算器 | Calculator make demo-stock # 股票查詢 | Stock price

伺服器端點 | Server Endpoints

  • SSE 端點 | SSE Endpoint: http://localhost:8000/sse

  • 訊息端點 | Messages Endpoint: http://localhost:8000/messages

  • 健康檢查 | Health Check: http://localhost:8000/health

  • API 文件 | API Docs: http://localhost:8000/docs

📐 架構 | Architecture

MCP-MAF 實作三層架構 | MCP-MAF implements a three-layer architecture:

  1. 獨立代理 | Standalone Agent - 直接使用代理進行測試 | Direct agent usage for testing

  2. 遠端 MCP (SSE) | Remote MCP (SSE) - 生產伺服器模式 ⭐ | Production server mode ⭐

  3. STDIO MCP - CLI 整合模式(可選)| CLI integration mode (optional)

┌──────────────────────────────────┐ │ Codex CLI / Gemini CLI │ │ (MCP 客戶端 | MCP Client) │ └────────────┬─────────────────────┘ │ HTTP/SSE ↓ ┌──────────────────────────────────┐ │ MCP-MAF Server (FastAPI) │ │ - SSE Transport │ │ - JSON-RPC 2.0 Protocol │ └────────────┬─────────────────────┘ │ ↓ ┌──────────────────────────────────┐ │ Microsoft Agent Framework │ │ - Azure OpenAI GPT-4.1 │ │ - Tool Management │ └────────────┬─────────────────────┘ │ ↓ ┌──────────────────────────────────┐ │ MCP 工具 | MCP Tools │ │ - Weather Tool │ │ - Calculator Tool │ │ - Stock Price Tool │ └──────────────────────────────────┘

🛠️ 開發 | Development

# 安裝開發依賴 | Install dev dependencies make install-dev # 執行測試 | Run tests make test # 執行測試(含覆蓋率)| Run with coverage make test-cov # Lint 程式碼 | Lint code make lint # 格式化程式碼 | Format code make format # 開發伺服器(熱重載)| Development server (hot reload) make dev

🐳 Docker

# 建置映像 | Build image make docker-build # 執行容器 | Run container make docker-run # 或使用 Docker Compose | Or use Docker Compose make docker-up make docker-down

📚 文件 | Documentation

🔌 Codex CLI 整合 | Codex CLI Integration

配置方式 | Configuration

編輯 Claude Desktop 配置檔 | Edit Claude Desktop config:

路徑 | Path: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "mcp-maf": { "command": "uv", "args": [ "--directory", "/Users/jimmyliao/workspace/mcp-maf", "run", "uvicorn", "mcp_maf.server:app", "--host", "0.0.0.0", "--port", "8000" ] } } }

使用方式 | Usage

# 測試連接 | Test connection # 重啟 Claude Desktop 後工具將自動可用 # Tools will be available automatically after restarting Claude Desktop # 使用範例 | Usage examples # 在 Claude Desktop 中:| In Claude Desktop: # "查詢台北天氣" | "What's the weather in Taipei?" # "計算 123 * 456" | "Calculate 123 * 456" # "查詢台積電股價(2330)" | "What's TSMC (2330) stock price?"

📖 使用範例 | Usage Examples

獨立代理 | Standalone Agent

from mcp_maf import MCPMAFAgent agent = MCPMAFAgent( azure_endpoint="your-endpoint", api_key="your-key", deployment_name="gpt-4.1" ) await agent.initialize() # 繁中範例 | Chinese example response = await agent.run("台北的天氣如何?") print(response) # 英文範例 | English example response = await agent.run("What's the weather in Taipei?") print(response)

SSE 客戶端 | SSE Client

import httpx import json async with httpx.AsyncClient() as client: async with client.stream('GET', 'http://localhost:8000/sse') as response: async for line in response.aiter_lines(): if line.startswith('data:'): data = json.loads(line[5:]) # 移除 'data:' 前綴 | Remove 'data:' prefix print(data)

🧪 測試 | Testing

# 執行所有測試 | Run all tests make test # 含覆蓋率報告 | With coverage report make test-cov # 執行特定測試檔案 | Run specific test file uv run pytest tests/unit/test_protocol.py -v # 監視模式 | Watch mode make test-watch

📋 可用工具 | Available Tools

🌤️ 天氣工具 | Weather Tool

取得任何地點的即時天氣資訊。| Get current weather information for any location.

用法 | Usage: get_weather(location: str)

範例 | Examples:

  • 繁中: "台北的天氣如何?"

  • English: "What's the weather in Taipei?"

🧮 計算機工具 | Calculator Tool

執行數學運算。| Perform mathematical calculations.

用法 | Usage: calculate(expression: str)

範例 | Examples:

  • 繁中: "計算 123 乘以 456"

  • English: "Calculate 123 * 456"

📊 股票價格工具 | Stock Price Tool

查詢台灣證券交易所股票價格。| Query Taiwan stock prices from TWSE.

用法 | Usage: get_stock_price(stock_code: str)

範例 | Examples:

  • 繁中: "台積電(2330)的股價是多少?"

  • English: "What's TSMC (2330) stock price?"

支援的股票 | Supported Stocks:

  • 2330 - 台積電 | TSMC

  • 2454 - 聯發科 | MediaTek

  • 2317 - 鴻海 | Hon Hai (Foxconn)

  • 更多... | And more...

🔧 配置 | Configuration

環境變數在 .env 中配置 | Environment variables are configured in .env:

# Azure OpenAI(已配置)| Azure OpenAI (already configured) AZURE_OPENAI_ENDPOINT=https://msfoundry-jimmyliao.openai.azure.com/ AZURE_OPENAI_API_KEY=*** AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-4.1 # 伺服器 | Server SERVER_HOST=0.0.0.0 SERVER_PORT=8000 LOG_LEVEL=INFO

📊 技術棧 | Tech Stack

核心技術 | Core Technologies

  • Python 3.11+ - 現代 Python | Modern Python

  • uv - 快速套件管理器 | Fast package manager

  • FastAPI - 異步網頁框架 | Async web framework

  • Uvicorn - ASGI 伺服器 | ASGI server

AI 與雲端 | AI & Cloud

  • Microsoft Agent Framework - Azure AI 代理 | Azure AI agents

  • Azure OpenAI - GPT-4.1 部署 | GPT-4.1 deployment

  • OpenAI SDK - 後備 SDK | Fallback SDK

協議與傳輸 | Protocol & Transport

  • MCP (Model Context Protocol) - 2024-11-05 規範 | 2024-11-05 spec

  • JSON-RPC 2.0 - 遠端程序調用 | Remote procedure calls

  • SSE (Server-Sent Events) - 即時串流 | Real-time streaming

🤝 貢獻 | Contributing

歡迎貢獻!請閱讀 CONTRIBUTING.md 了解詳情。

Contributions are welcome! Please read CONTRIBUTING.md for details.

📄 授權 | License

MIT 授權 - 詳見 LICENSE 檔案。

MIT License - see LICENSE for details.

🙏 致謝 | Acknowledgments

📞 支援 | Support

📈 專案狀態 | Project Status

✅ 已完成 | Completed:

  • 基礎架構 | Core architecture

  • MCP 協議實作 | MCP protocol implementation

  • SSE 傳輸層 | SSE transport layer

  • 三個範例工具 | Three example tools

  • Docker 支援 | Docker support

  • 完整測試 | Complete testing

  • 文件撰寫 | Documentation

🚧 計劃中 | Planned:

  • STDIO 傳輸 | STDIO transport

  • 更多工具 | More tools

  • CI/CD 管道 | CI/CD pipeline

  • 效能優化 | Performance optimization


版本 | Version: 1.0.0 作者 | Author: Jimmy Liao 用 ❤️ 打造 | Built with ❤️ 使用 | using Microsoft Agent Framework and MCP Protocol

Co-Authored-By: Agent-Lucy hi@leapdesign.ai

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jimmyliao/ms-agentframework'

If you have feedback or need assistance with the MCP directory API, please join our Discord server