Azure容器应用程序MCP流式HTTP示例
用于Azure容器应用程序管理的模型上下文协议(MCP)服务器的示例实现,演示了HTTP流式响应。使用Python、UV包管理器和Ninjaneneneba API框架构建,以展示实时容器操作。
先决条件
- Python 3.11+
- 紫外线的 包管理器
- Azure订阅
- Azure命令行界面
安装
1.克隆存储库
git clone https://github.com/AyatKhraisat/azure-container-apps-mcp-streamable-http-sample.git
cd azure-container-apps-mcp-streamable-http-sample2.使用UV安装依赖项
# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync3.环境配置
创建一个 .env 项目根目录中的文件:
# NINJA API KEY API_KEY
API_KEY=可用工具和资源
🔧 工具
get_animal_infromation
检索有关任何动物的全面信息。
参数:
name(string):动物全名(如“狮子”、“非洲象”、“大白鲨”)
样本响应:
[
{
"name": "Lion",
"taxonomy": {
"kingdom": "Animalia",
"phylum": "Chordata",
"class": "Mammalia",
"order": "Carnivora",
"family": "Felidae"
},
"locations": ["Africa", "India"],
"characteristics": {
"prey": "Antelope, Warthog, Crocodile",
"predators": "Human",
"lifestyle": "Pack",
"diet": "Carnivore"
}
}
]📋 提示
write_article
生成结构化提示,用于创建信息丰富的动物文章。
参数:
animal(string):要写的动物的名称
退货: 指导内容创建的详细提示模板
📚 资源
file://dogs.txt
提供对存储在文本文件中的本地狗信息的访问。
MIME类型: text/plain
API集成
API Ninjas动物终点
服务器与API Ninjas Animals API集成:
基本URL: https://api-ninjas.com/api/animals
身份验证: 需要 X-Api-Key 头球
本地测试
uv run fastapi dev main.pyMCP服务器:http://127.0.0.1:8000/mcp
部署到Azure:
az containerapp up -g -n animals-mcp --environment mcp -l --env-vars API_KEYS= --source .