塔
Tower提供了一个单一的MCP(模型上下文协议)服务器,该服务器公开了来自多个域名实用程序项目的工具,使AI助手能够通过一个入口点访问域智能、DNS操作和参考数据。
______________________________________________________________________
目录
______________________________________________________________________
特性
| 特性 | 描述 |
|---|---|
| 统一MCP服务器 | 通过一个连接从Seer和Tome公开工具的单服务器 |
| 领域智能 | 通过Seer进行WHOIS、RDAP、DNS、传播和状态检查 |
| 参考数据 | 通过Tome获取TLD信息、DNS记录类型定义和术语表术语 |
| 捆绑技能 | 安装 卷轴 --Seer和Tome的AI代理技能定义 |
| 批量操作 | 任何Seer操作最多可同时处理100个域 |
| 模块化设计 | 每个工具源都是一个独立的模块,易于添加、删除或更新 |
| 22工具 | 通过单个调度表注册的13个Seer工具+9个Tome工具 |
______________________________________________________________________
建筑
┌─────────────────────────────────────────────────────────────┐
│ tower-mcp │
│ (MCP Server · stdio) │
├─────────────────────────────┬───────────────────────────────┤
│ tower/tools/seer.py │ tower/tools/tome.py │
│ (13 tools) │ (9 tools) │
└──────────┬──────────────────┴──────────────┬────────────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ seer (Python) │ │ tome (Python) │
│ PyO3 bindings │ │ PyO3 bindings │
└──────────┬──────────┘ └──────────┬──────────┘
│ │
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ seer-core │ │ tome-core │
│ (Rust library) │ │ (Rust library) │
└─────────────────────┘ └─────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ scrolls (Python) │
│ AI agent skill definitions & reference docs │
└─────────────────────────────────────────────────────────────┘Tower是一个薄薄的编排层。所有业务逻辑都存在于上游Rust核心库中;Tower将其Python公开函数注册为MCP工具,并将调用路由到适当的处理程序。Scrolls为AI代理提供了配套的技能定义和参考文档。
______________________________________________________________________
安装
先决条件
- Python 3.10+
- 查看Python绑定 (seer-py)已建成并可用
- Tome Python绑定 (tome-py)已建成并可用
- 紫外线 (推荐)或pip
来自源头
# Clone the repository
git clone https://github.com/TheZacillac/tower.git
cd tower
# Install with dependencies (assumes seer-py and tome-py are already built)
uv pip install -e .如果seer、tome和rolls包未发布到PyPI,请从其本地路径安装它们:
uv pip install \
-e /path/to/seer/seer-py \
-e /path/to/tome/tome-py \
-e /path/to/scrolls \
-e .这将安装MCP工具(seer、tome)、AI代理技能(卷轴)和Tower本身。
使用uvx(无需安装)
uvx --from /path/to/tower \
--with /path/to/seer/seer-py \
--with /path/to/tome/tome-py \
--with /path/to/scrolls \
tower-mcp______________________________________________________________________
用法
启动服务器
tower-mcp服务器在stdio传输上运行,使用模型上下文协议通过stdin/stdout进行通信。
Claude代码集成
添加到您的项目 .mcp.json:
{
"mcpServers": {
"tower": {
"command": "uvx",
"args": [
"--from", "/path/to/tower",
"--with", "/path/to/seer/seer-py",
"--with", "/path/to/tome/tome-py",
"--with", "/path/to/scrolls",
"tower-mcp"
]
}
}
}Claude桌面集成
添加 claude_desktop_config.json:
{
"mcpServers": {
"tower": {
"command": "tower-mcp"
}
}
}______________________________________________________________________
可用工具
Seer工具
领域情报行动由 先知.
单域
| 工具 | 说明 |
|---|---|
seer_lookup | 智能查找——首先尝试RDAP,然后退回WHOIS |
seer_whois | WHOIS注册数据 |
seer_rdap_domain | RDAP域查找 |
seer_rdap_ip | RDAP IP地址查找 |
seer_rdap_asn | RDAP自治系统编号查找 |
seer_dig | DNS记录查询(A、AAAA、MX、TXT、NS、SOA、CNAME、CAA、PTR、SRV、ANY) |
seer_propagation | 跨29个全球名称服务器的DNS传播检查 |
seer_status | 域健康检查(HTTP、SSL、过期) |
批量操作
| 工具 | 说明 |
|---|---|
seer_bulk_lookup | 智能查找多个域 |
seer_bulk_whois | WHOIS查找多个域 |
seer_bulk_dig | 多个域的DNS查询 |
seer_bulk_status | 多个域的健康检查 |
seer_bulk_propagation | 多个域的传播检查 |
批量限制: 每个请求最多100个域,最多50个并发操作。
Tome工具
参考数据库查找由 册.
| 工具 | 说明 |
|---|---|
tome_tld_lookup | 查找TLD——类型、注册表、WHOIS/RDAP服务器、DNSSEC、限制 |
tome_tld_search | 按部分匹配搜索顶级域名 |
tome_record_lookup | 按名称或数字代码查找DNS记录类型 |
tome_record_search | 按部分匹配搜索DNS记录类型 |
tome_glossary_lookup | 查找域名行业术语或缩写 |
tome_glossary_search | 按部分匹配搜索术语表术语 |
tome_tld_overview | 全面的顶级域名概述——连接所有相关数据 |
tome_tld_list_by_type | 按类型列出顶级域名(gTLD、ccTLD、nTLD) |
tome_tld_count | 数据库中的TLD总数 |
______________________________________________________________________
捆绑技能
铁塔安装 卷轴,一组AI代理技能定义,提供有关Seer和Tome的上下文知识。技能包括参考文档、CLI命令指南和脚本示例。
| 技能 | 内容 |
|---|---|
| 先知 | CLI参考、REST API端点、MCP工具、Python绑定、REPL指南、配置、脚本示例 |
| 册 | TLD数据库、DNS记录类型、术语表 *(进行中)* |
安装后可以通过编程访问技能:
import scrolls
scrolls.list_skills() # ['other/cdn-detection', 'other/email-auth', ..., 'seer', 'tome']
scrolls.skill_file("seer") # Path to seer/SKILL.md
scrolls.skill_file("seer", "reference/cli.md") # Path to CLI reference______________________________________________________________________
配置
塔没有自己的配置。工具行为由上游库决定:
| 设置 | 来源 | 默认值 |
|---|---|---|
| 批量域限制 | 塔 | 100 |
| 最大并发 | 塔 | 50 |
| WHOIS超时 | Seer | 15秒 |
| RDAP超时 | Seer | 30秒 |
| DNS超时 | Seer | 5秒 |
______________________________________________________________________
添加工具模块
Tower旨在使添加新工具源变得简单。每个模块都遵循一个简单的合同:
- 在中创建新文件
tower/tools/(例如。,tower/tools/newmodule.py) - 出口A
TOOLS列表mcp.types.Tool定义 - 出口A
handle(name, arguments)异步函数 - 将模块导入
tower/tools/__init__.py
模块模板
"""Tool definitions and handlers for NewModule."""
from typing import Any
from mcp.types import Tool
TOOLS: list[Tool] = [
Tool(
name="newmodule_example",
description="Description of what this tool does.",
inputSchema={
"type": "object",
"properties": {
"param": {
"type": "string",
"description": "Parameter description",
},
},
"required": ["param"],
},
),
]
async def handle(name: str, arguments: dict[str, Any]) -> Any:
"""Execute a NewModule tool and return the result."""
match name:
case "newmodule_example":
# Call your library function here
...
case _:
raise ValueError(f"Unknown tool: {name}")服务器通过自动发现所有工具 _TOOL_MODULES 列入 server.py 并在导入时构建调度表。没有更改 server.py 除了将您的模块添加到该列表之外,还需要其他功能。
______________________________________________________________________
发展
设置
git clone https://github.com/TheZacillac/tower.git
cd tower
# Create a virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install with dev dependencies
pip install \
-e /path/to/seer/seer-py \
-e /path/to/tome/tome-py \
-e /path/to/scrolls \
-e ".[dev]"运行测试
pytest验证服务器
# Check that all tools load without errors
python -c "from tower.server import mcp; print('OK')"
# List all registered tools
python -c "
from tower.tools import seer, tome
for t in seer.TOOLS + tome.TOOLS:
print(f' {t.name}')
"______________________________________________________________________
项目结构
tower/
├── README.md # This file
├── pyproject.toml # Package configuration and entry points
├── .mcp.json # MCP server launch configuration
├── .gitignore
└── tower/
├── __init__.py # Package metadata
├── server.py # MCP server — tool registration and call routing
└── tools/
├── __init__.py # Tool module registry
├── _helpers.py # Shared validation (require_str, require_domains, etc.)
├── seer.py # Seer tool definitions and handlers (13 tools)
└── tome.py # Tome tool definitions and handlers (9 tools)______________________________________________________________________
技术栈
______________________________________________________________________
许可证
MIT许可证
版权所有(c)2026扎克·罗奇
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。
