域名查询服务器

提供通过domainsdb.info API查询域名信息的MCP服务器,支持SSE和Streamable HTTP两种传输机制。

  • by upsun-trash
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 upsun/tutorial-mcp-deployment

使用说明

MCP域服务器

两个模型上下文协议(MCP)服务器,通过 域sdb.info API.

概述

此项目包含用于域信息的MCP服务器的两个实现:

  1. SSE传输服务器 (mcp-domains-sse)-适用于具有多个连接的基于web的客户端
  2. 流式HTTP传输服务器 (mcp-domains-streamable)-支持SSE的现代HTTP传输

两台服务器通过不同的传输机制提供相同的功能。

快速开始

SSE传输服务器

# Navigate to SSE server
cd mcp-domains-sse

# Install and build
pnpm install
pnpm build

# Start the server
pnpm start

流式HTTP传输服务器

# Navigate to Streamable HTTP server
cd mcp-domains-streamable

# Install and build
pnpm install
pnpm build

# Start the server
pnpm start

特性

这两台服务器都提供了以下工具:

  • 搜索域名 带通配符和过滤器
  • 获取详细信息 关于特定领域
  • 按DNS记录筛选 (A、NS、CNAME、MX、TXT)
  • 按属性筛选 (国家、地区、死亡状态)

查询示例

您可以使用这些服务器:

  • 搜索所有包含“shop”的域名
  • “使用CloudFlare名称服务器查找.org域名”
  • “获取有关example.com的信息”
  • “显示包含MX记录的德国域名”

运输比较

功能 SSE 流式HTTP
最适合 Web应用程序,多个并发连接 现代HTTP客户端,Claude Desktop
设置 需要运行服务器 需要运行服务器
沟通 HTTP+服务器发送事件 带有SSE响应的HTTP POST/GET
多个客户端 是(基于会话) 是(无状态)
会话管理 具有会话ID的状态 无状态(每个请求一个新实例)
SDK版本 自定义SSE实现 内置StreamableHTTPServerTransport

技术细节

MCP(模型上下文协议)

MCP是一种协议,使AI助手能够与外部工具和数据源进行交互。这些服务器实现了MCP,使AI助手能够搜索域信息。

数据源

两台服务器都使用免费 域sdb.info API,它提供:

  • 域名注册数据
  • DNS记录
  • 使用通配符搜索
  • 不要求进行验证

建筑

┌─────────────┐     MCP Protocol    ┌─────────────┐     HTTP API    ┌──────────────┐
│ MCP Client  │ ←────────────────→  │ MCP Server  │ ←─────────────→ │ domainsdb.info│
│             │  (SSE or Streamable) │             │                 │     API       │
└─────────────┘                      └─────────────┘                 └──────────────┘

发展

这两个服务器都是用TypeScript编写的,并使用:

  • @modelcontextprotocol/sdk -MCP协议实现
  • typescript -类型安全
  • tsx -开发模式执行
  • pnpm -包管理

项目结构

mcp-tutorial/
├── mcp-domains-sse/           # SSE transport implementation
│   ├── src/
│   │   └── index.ts          # Express server + custom SSE MCP
│   ├── package.json
│   ├── test-client.js
│   └── README.md             # Detailed SSE docs
│
├── mcp-domains-streamable/    # Streamable HTTP transport implementation
│   ├── src/
│   │   └── index.ts          # Express server + StreamableHTTPServerTransport
│   ├── package.json
│   ├── test-client.js
│   ├── test-sse.sh
│   └── README.md             # Detailed Streamable docs
│
├── CLAUDE.md                  # Project guidance for Claude Code
└── README.md                  # This file

获取帮助

许可证

MIT许可证

版权所有(c)2024

特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:

上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。

软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。