
PeeringDB Location Server

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
安装教程
- 克隆仓库
- 安装依赖:
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