PeeringDB Location Server

PeeringDB Location Server

site icon
2024.12.12 0
Go互联网交换位置查询自治系统管理位置服务
PeeringDB Location Server 是一个基于 Go 语言的 MCP(Model Control Protocol)服务器,主要用于通过 PeeringDB API 提供关于互联网交换(IX)位置的信息,特别是针对自治系统号(ASN)。该服务器能够检索给定 ASN 的所有 IX 位置,显示每个位置的运行状态,并提供每个对等点的城市信息。输出格式友好,使用表情符号指示状态,便于阅读。
View on GitHub

Overview

基本能力

产品定位

PeeringDB Location Server 是一个专门用于查询和展示互联网交换(IX)位置信息的工具,特别适用于网络工程师和自治系统(AS)管理员。

核心功能

  • 检索给定 ASN 的所有 IX 位置
  • 显示每个 IX 位置的运行状态(使用表情符号指示)
  • 提供每个对等点的城市信息
  • 格式化输出,便于阅读

适用场景

  • 网络工程师需要快速了解某个 ASN 的所有 IX 位置及其状态
  • 自治系统管理员需要监控其对等点的运行状态
  • 网络规划和分析中需要获取 IX 位置信息

工具列表

  • get_peering_locations:接受 ASN 作为输入,返回该 ASN 的所有 IX 位置信息,包括城市和运行状态。

常见问题解答

  • 无效的 ASN 格式:服务器会处理并返回错误信息。
  • ASN 未在 PeeringDB 中找到:服务器会返回相应的错误提示。
  • API 连接错误:服务器会处理并返回连接错误信息。
  • 无效的响应数据:服务器会进行错误处理并返回提示。

使用教程

使用依赖

  • Go 1.x 或更高版本
  • 访问 PeeringDB API 的权限
  • 以下 Go 包
  • github.com/mark3labs/mcp-go/mcp
  • github.com/mark3labs/mcp-go/server

安装教程

  1. 克隆仓库
  2. 安装依赖:
go mod download

调试方式

安装完成后,可以使用 get_peering_locations 工具进行调试。例如:

./get_peering_locations AS64496

输出将显示该 ASN 的所有 IX 位置及其状态。

API 集成

服务器集成了两个 PeeringDB API 端点: 1. /api/net - 用于将 ASN 解析为 PeeringDB 网络 ID 2. /api/netixlan - 用于获取 IX 位置信息

贡献

欢迎贡献代码!请确保代码遵循现有结构并包含适当的错误处理。

注意事项

此工具需要访问 PeeringDB API,请确保遵守 PeeringDB 的服务条款和 API 使用指南。

许可证

None