项目简介
IsItDown MCP服务器是一个基于 Model Context Protocol (MCP) 的应用后端,它提供了一个简单易用的工具,用于检查网站是否当前宕机。该服务器通过查询 isitdownrightnow.com 网站来获取网站的实时状态,并返回网站是否可访问以及最近的宕机信息。
主要功能点
- 网站状态检查: 提供 'get_website_status' 工具,允许用户查询指定网站的当前状态(在线或离线)。
- 宕机信息: 返回网站的当前状态,并提供最近一次检测到的宕机信息。
安装步骤
-
克隆仓库: 首先,你需要从 GitHub 克隆 'mcp-server-isitdown' 仓库到你的本地计算机。在终端或命令提示符中执行以下命令:
git clone https://github.com/hesreallyhim/mcp-server-isitdown.git cd mcp-server-isitdown -
安装软件包: 进入仓库目录后,使用 'uv' (推荐) 或 'pip' 安装项目。推荐使用 'uv',因为它更快更高效。
-
使用 uv (推荐):
uv pip install -e . -
使用 pip:
pip install -e .'-e .' 表示以可编辑模式安装当前目录的项目,这样你对代码的修改会立即生效。
-
服务器配置
为了让 MCP 客户端(例如 Claude Desktop)能够连接到 IsItDown MCP 服务器,你需要配置客户端的配置文件。通常,你需要编辑客户端的配置文件(例如 'claude_desktop_config.json'),添加 IsItDown 服务器的配置信息。
以下是一个 'claude_desktop_config.json' 配置文件示例,展示了如何配置 IsItDown 服务器。你需要根据你的实际安装路径进行调整。
{ "isitdown": { "command": "/path/to/uv", // 你系统中 uv 命令的完整路径。如果 uv 在你的 PATH 环境变量中,可以直接使用 "uv"。 "args": [ "--directory", "/path/to/cloned/repo/src", // 你克隆的 mcp-server-isitdown 仓库中 src 目录的完整路径。 "run", "mcp_server_isitdown" // 运行 mcp_server_isitdown 模块的命令。 ] } }
注意:
- 请将 '/path/to/uv' 替换为你实际的 'uv' 命令路径。如果你不确定,可以在终端输入 'which uv' (Linux/macOS) 或 'where uv' (Windows) 查找。如果 'uv' 已经在你的 PATH 环境变量中,你可以直接使用 '"uv"'。
- 请将 '/path/to/cloned/repo/src' 替换为你克隆的 'mcp-server-isitdown' 仓库中 'src' 目录的实际路径。例如,如果你的仓库克隆在用户主目录下的 'mcp-server-isitdown' 文件夹中,那么路径可能类似于 '/Users/你的用户名/mcp-server-isitdown/src' (macOS/Linux) 或 'C:\Users\你的用户名\mcp-server-isitdown\src' (Windows)。
基本使用方法
-
启动服务器: 配置完成后,你可以通过以下命令启动 IsItDown MCP 服务器。
-
使用安装脚本: 在终端中直接运行 'mcp-server-isitdown' 命令。确保你的 Python 环境和安装的包都在 PATH 中。
mcp-server-isitdown -
使用 Python 模块: 或者,你也可以使用 Python 模块的方式运行服务器。
python -m mcp_server_isitdown
-
-
在 MCP 客户端中使用: 服务器启动后,你就可以在支持 MCP 协议的客户端(例如 Claude Desktop)中使用它了。你可以通过自然语言指令来调用 'get_website_status' 工具,例如:
- "wikipedia 现在宕机了吗?"
- "reddit 上次宕机是什么时候?"
客户端会将这些自然语言指令转换为对 IsItDown MCP 服务器的工具调用,并返回网站状态信息。
作为库使用 (开发者选项)
除了作为独立的 MCP 服务器运行,你也可以将 'mcp_server_isitdown' 作为 Python 库集成到其他项目中。你可以直接调用 'get_website_status' 函数来检查网站状态。
from mcp_server_isitdown.server import get_website_status import asyncio async def check_website(): result = await get_website_status("example.com") print(result) asyncio.run(check_website())
信息
分类
网页与API