AI助手协议服务器

Azion MCP Server是一个为AI助手(如Azion Copilot和Claude Code)提供Azion平台能力信息的模型上下文协议服务器,帮助开发者完成部署、配置和管理任务。

  • by aziontech
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 aziontech/mcp-server

使用说明

MCP 服务器操作

Azion Copilot和Claude Code等AI助手的模型上下文协议(MCP)服务器,用于访问有关Azion平台功能的信息,帮助开发人员完成部署、配置和管理任务。

特性

此MCP服务器提供:

  • 资源:访问有关Azion平台以及如何执行任务的信息
  • 工具:通过程序访问Azion服务信息
  • 认证:用于一般访问的个人令牌和用于Azion Copilot集成的快速通行证
  • API配置文件支持:具有v3配置文件的用户会收到特定于v3的响应和工具

环境

根据您的需求选择合适的环境:

  • 生产: https://mcp.azion.com (生产控制台,主分支)
  • 阶段: https://stage-mcp.azion.com (舞台控制台,开发分支)
  • 本地开发: http://localhost:3333 (跑步 azion dev 当地)
  • 个人部署:使用部署后您的个人Azion URL azion deploy --config-dir azion/personal

安装

先决条件

  • Node.js 20+
  • 纱线包装经理
  • 已安装Azion CLI: 如何下载
  • Git

设置

  1. 克隆仓库
git clone https://github.com/aziontech/mcp-server.git
cd mcp-server
  1. 安装依赖项
yarn install
  1. 构建服务器
azion build

配置

环境变量

复制示例环境文件并填写您的值:

cp .env.sample .env

以下环境变量可用:

环境

变量 描述 必填
NODE_ENV 运行时环境(production, development) 没有
DEBUG 启用调试日志记录(true, false) 没有

数据库

变量 描述 必填
DATABASE_NAME 用于本地开发的数据库名称 否

MCP服务器配置

变量 描述 必填
MCP_COPILOT_SERVER_TOKEN Azion Copilot集成的快速通过身份验证令牌 否
MCP_BASE_URL MCP服务器的基本URL 否

API令牌

变量 描述 必填
AZION_TOKEN API个人令牌(在此处创建一个) 是
OPENAI_API_KEY 人工智能功能的OpenAI API密钥 是(本地/个人)

动作配置

变量 描述 必填
API_ORIGIN_URL 内部API来源基础URL(避免CDN循环) 否
SSO_ORIGIN_URL 内部SSO源URL 否

边缘AI配置

变量 描述 必填
EDGE_AI_URL 边缘AI服务端点URL 否
EDGE_AI_TOKEN Edge AI服务的令牌 否

Azion CLI配置(v4)

该项目使用Azion的v4配置格式 azion.config.ts该配置包括:

  • 构建:启用polyfills的TypeScript预设
  • 函数:带路径映射的边函数
  • 应用程序:具有请求标准和行为的规则引擎配置
  • 工作量:部署策略配置

然后链接并部署:

# Link your project
azion link

# Build the project
azion build 

# Deploy to Azion Platform
azion deploy

有关更多配置选项,请访问:https://github.com/aziontech/lib/tree/main/packages/config

用法

运行服务器

# Development mode (server available at http://localhost:3333)
azion dev --debug

# Deploy to Azion Platform
azion deploy

测试连接

使用cURL

MCP服务器使用基于HTTP的JSON-RPC 2.0协议和可流式HTTP传输。您可以直接使用cURL进行测试:

注: 这 Accept 标题必须同时包含这两个 application/json 和 text/event-stream 因为服务器使用流式HTTP传输。

初始化连接:

curl -X POST https://mcp.azion.com \
  -H "Authorization: Bearer YOUR_PERSONAL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2024-11-05",
      "capabilities": {},
      "clientInfo": {
        "name": "curl-client",
        "version": "1.0.0"
      }
    }
  }'

列出可用工具:

curl -X POST https://mcp.azion.com \
  -H "Authorization: Bearer YOUR_PERSONAL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/list"
  }'

调用工具-搜索CLI命令:

curl -X POST https://mcp.azion.com \
  -H "Authorization: Bearer YOUR_PERSONAL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "search_azion_cli_commands",
      "arguments": {
        "query": "how to deploy an edge application",
        "docsAmount": 3
      }
    }
  }'

调用工具-搜索文档:

curl -X POST https://mcp.azion.com \
  -H "Authorization: Bearer YOUR_PERSONAL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 4,
    "method": "tools/call",
    "params": {
      "name": "search_azion_docs_and_site",
      "arguments": {
        "query": "edge functions basics",
        "docsAmount": 5
      }
    }
  }'

调用工具-搜索代码示例:

curl -X POST https://mcp.azion.com \
  -H "Authorization: Bearer YOUR_PERSONAL_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 5,
    "method": "tools/call",
    "params": {
      "name": "search_azion_code_samples",
      "arguments": {
        "query": "storage javascript typescript",
        "docsAmount": 3
      }
    }
  }'

MCP检查员

使用 MCP检查员 要验证您的连接:

npx @modelcontextprotocol/inspector

在检查器界面中:

  1. 选择“可流式传输http”作为传输类型
  2. 输入URL: https://mcp.azion.com (或您的环境URL)
  3. 添加身份验证标头: Authorization: Bearer YOUR_PERSONAL_TOKEN
  4. 连接并测试可用工具

客户端配置

看 代理商.md 有关以下内容的详细配置说明:

  • 克劳德代码(终端)
  • 克劳德桌面版
  • 光标
  • 帆板运动
  • 经纱终端
  • VS代码与GitHub Copilot
  • 基洛代码
  • 开源代码

可用工具

  • search_azion_docs_and_site --提供有关Azion平台、产品和服务的信息
  • search_azion_code_samples --从Azion的知识库中检索代码库和示例
  • search_azion_cli_commands --提供有关Azion CLI命令和用法的信息
  • search_azion_api_v3_commands -提供有关Azion API v3(早期版本)的信息
  • search_azion_api_v4_commands -提供有关Azion API v4(当前版本)的信息
  • search_azion_terraform --从Azion的Terraform提供程序检索文档
  • create_rules_engine --搜索文档并帮助创建规则引擎配置
  • create_graphql_query --搜索文档并根据目标生成GraphQL查询
  • deploy_azion_static_site --提供部署和测试静态站点的指南

可用资源

对于支持MCP资源的客户:

  • azion://static-site/deploy/* --分步部署指南
  • azion://static-site/test-cache/* --缓存测试工作流程

发展

项目结构

index.ts                     # Application entry point (calls app.fire())
src/
├── app.ts                 # Main application (exported as default)
├── config/
│   └── environment.ts       # Environment configuration and defaults
├── core/
│   ├── baseTools.ts         # Base tool definitions
│   ├── tools.ts             # Tool definitions and handlers
│   ├── server.ts            # MCP server setup
│   ├── edgeai.ts            # Edge AI integration
│   ├── resources.ts         # Resource definitions
│   └── coderStaticSiteResources.ts  # Static site deployment resources
├── helpers/
│   ├── constants.ts         # Application constants
│   ├── graphql.ts           # GraphQL query helpers
│   ├── logger.ts            # Logging with sanitization
│   ├── rulesEngineSchema.ts # Rules Engine schema definitions
│   ├── sanitization.ts      # Input sanitization utilities
│   └── utils.ts             # General helper functions
├── middlewares/
│   └── auth.ts              # Authentication middleware
└── types/
    └── index.ts             # TypeScript type definitions

安全

MCP服务器包括特定的安全措施:

  • 输入消毒:所有用户输入都经过消毒,以防止注射攻击
  • 原木消毒:令牌和敏感字段在日志中被屏蔽
  • 定时安全比较:身份验证令牌比较可防止定时攻击
  • ESLint安全规则 (.eslintrc.security.json):针对MCP特定图案的定制安全棉
  • 预提交钩子 (.husky/pre-commit):提交前自动进行安全检查
  • 身份验证验证:具有适当验证的多种身份验证方法

在本地运行安全检查:

# Run MCP-specific security linting
yarn lint

# Run type checking
yarn type-check

扩展服务器

要添加新的Azion功能:

  1. 在中添加新资源 src/core/resources.ts
  2. 在中添加新工具 src/core/tools.ts
  3. 更新类型 src/types/index.ts

示例

部署Next.js应用程序

"Help me deploy my Next.js application to Azion"

创建分析查询

"Create a GraphQL query to show traffic by application for the last 7 days"

配置缓存规则

"Create Rules Engine configuration for image optimization and caching"

搜索文档

"How do I configure DDoS protection in Azion?"

支持

  • 文档:https://docs.azion.com
  • github:https://github.com/aziontech/mcp-server
  • 创建个人令牌:https://console.azion.com/personal-tokens

许可证

麻省理工学院

贡献

欢迎投稿!请随时提交拉取请求。