容器应用MCP流式HTTP示例

一个用于Azure容器应用管理的模型上下文协议(MCP)服务器示例,展示HTTP流式响应,使用Python、UV包管理器和Ninja API框架构建,用于实时容器操作演示。

  • by AyatKhraisat
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 AyatKhraisat/azure-container-apps-mcp-streamable-http-sample

使用说明

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-sample

2.使用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 sync

3.环境配置

创建一个 .env 项目根目录中的文件:

# NINJA API KEY API_KEY 
API_KEY=<NINJA-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.py

MCP服务器:http://127.0.0.1:8000/mcp

部署到Azure:


az containerapp up -g <RESOURCE_GROUP_NAME> -n animals-mcp --environment mcp -l <REGION> --env-vars API_KEYS=<NINJA_API_KEY> --source .

资源