返回 MCP 目录
public公开dns本地运行

SuzieQ MCP

SuzieQ MCP服务器为语言模型提供网络状态查询工具,通过REST API与SuzieQ网络观测实例交互。

article

README

🚀 MCP 服务器配置指南(SuzieQ)

MCP(Multi - Cloud Platform)服务器是用于管理多云环境的工具,而 SuzieQ 是用于监控和分析网络设备状态的开源工具。本文将详细指导您如何配置 MCP 服务器,以集成 SuzieQ 功能。

🚀 快速开始

本指南将引导您完成 MCP 服务器集成 SuzieQ 功能的安装与配置过程。

📦 安装指南

安装依赖

  • Python 环境: 确保系统已安装 Python 3.6 或更高版本。
  • pip 包管理器: 使用以下命令安装 pip:
    get - pip.py
    
  • 安装必要的包: 安装 requests 和 json 包:
    pip install requests json
    

配置 SuzieQ 服务器

  • 下载 SuzieQ: 从 SuzieQ 官方网站 下载最新版本的 SuzieQ。
  • 安装 SuzieQ: 解压下载的文件,并按照 README 文件中的说明进行安装。

配置 MCP 服务器

  • 创建项目目录: 在系统中创建一个新目录,用于存放 MCP 服务器的相关文件(如 main.py.env)。
  • 编写主脚本 (main.py): 创建一个 Python 脚本文件 main.py,内容如下:
    import os
    import json
    import requests
    
    # 从环境变量中获取 SuzieQ 的 API 端点和密钥
    endpoint = os.getenv('SUZIEQ_API_ENDPOINT')
    api_key = os.getenv('SUZIEQ_API_KEY')
    
    def run_suzieq_show(table, filters=None):
        data = {"table": table}
        if filters:
            data["filters"] = filters
        try:
            response = requests.post(
                f"{endpoint}/api/v1/show",
                headers={"Authorization": f"Bearer {api_key}"},
                json=data
            )
            response.raise_for_status()
            return json.dumps(response.json())
        except requests.exceptions.RequestException as e:
            return f"Error: {str(e)}"
    
    def run_suzieq_summarize(table, filters=None):
        data = {"table": table}
        if filters:
            data["filters"] = filters
        try:
            response = requests.post(
                f"{endpoint}/api/v1/summarize",
                headers={"Authorization": f"Bearer {api_key}"},
                json=data
            )
            response.raise_for_status()
            return json.dumps(response.json())
        except requests.exceptions.RequestException as e:
            return f"Error: {str(e)}"
    
    if __name__ == "__main__":
        # 示例调用
        print(run_suzieq_show("device"))
        print(run_suzieq_summarize("bgp", {"hostname": "spine01"}))
    

💻 使用示例

基础用法

以下是 main.py 脚本的基础使用示例,用于调用 run_suzieq_showrun_suzieq_summarize 函数:

import os
import json
import requests

# 从环境变量中获取 SuzieQ 的 API 端点和密钥
endpoint = os.getenv('SUZIEQ_API_ENDPOINT')
api_key = os.getenv('SUZIEQ_API_KEY')

def run_suzieq_show(table, filters=None):
    data = {"table": table}
    if filters:
        data["filters"] = filters
    try:
        response = requests.post(
            f"{endpoint}/api/v1/show",
            headers={"Authorization": f"Bearer {api_key}"},
            json=data
        )
        response.raise_for_status()
        return json.dumps(response.json())
    except requests.exceptions.RequestException as e:
        return f"Error: {str(e)}"

def run_suzieq_summarize(table, filters=None):
    data = {"table": table}
    if filters:
        data["filters"] = filters
    try:
        response = requests.post(
            f"{endpoint}/api/v1/summarize",
            headers={"Authorization": f"Bearer {api_key}"},
            json=data
        )
        response.raise_for_status()
        return json.dumps(response.json())
    except requests.exceptions.RequestException as e:
        return f"Error: {str(e)}"

if __name__ == "__main__":
    # 示例调用
    print(run_suzieq_show("device"))
    print(run_suzieq_summarize("bgp", {"hostname": "spine01"}))
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端