Token导航 LogoToken导航TokenDH.com
My Network MCP logo
AI代理stdio官方级别未说明来源级核验

My Network MCP

MCP Server

My Network MCP 是一个为AI代理提供网络拓扑信息的模型上下文协议服务器,可部署为HTTP服务或独立运行,适用于系统管理和远程操作。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
系统管理JavaScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

danielrosehill

提供方

danielrosehill

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d -p 3000:3000 -v ~/.config/my-network-mcp:/root/.config/my-network-mcp my-network-mcp

详细介绍

我的网络MCP

](https://www.npmjs.com/package/my-network-mcp) ![License: MIT](https://opensource.org/licenses/MIT)

一种模型上下文协议(MCP)服务器,为AI代理提供网络拓扑信息。将其部署为HTTP服务,以便与MCP聚合器一起使用,或独立运行。

动机/用例

像Claude Code这样的代理AI工具对于本地系统管理非常有用。它们还可以用于管理远程系统。

SSH提供了计算资源之间连接的基本骨干。

为了执行SSH操作,AI代理需要一个网络图。这可以在上下文中手动提供,也可以通过参考SSH别名来指示。但是,为了支持跨不同客户端的轻松使用,由集中管理的MCP服务器提供这种配置更有意义。

My Network MCP的理念是与MCP工具在用途狭窄且工具定义适中时最有效的原则保持一致。此MCP服务器的唯一目的是提供用户维护的本地网络资源列表。

v2.0-流式HTTP传输

2.0版本从stdio传输重构为 可流式HTTP传输,使其适合部署在MetaMCP等MCP聚合服务器上。服务器现在作为具有完整会话管理的HTTP服务运行。

安装和部署

先决条件

  • Node.js 18或更高版本

选项1:使用Docker部署(建议用于服务器)

FROM node:20-slim
WORKDIR /app
RUN npm install -g my-network-mcp
EXPOSE 3000
CMD ["my-network-mcp"]

构建并运行:

docker build -t my-network-mcp .
docker run -d -p 3000:3000 -v ~/.config/my-network-mcp:/root/.config/my-network-mcp my-network-mcp

选项2:直接使用npm/npx运行

# Install globally
npm install -g my-network-mcp

# Run the server
my-network-mcp

或者在不安装的情况下运行:

npx my-network-mcp

选项3:从源代码安装

git clone https://github.com/danielrosehill/My-Network-MCP.git
cd My-Network-MCP
npm install
npm run build
npm start

配置

环境变量

变量默认值描述
MCP_PORT3000要侦听的HTTP端口
MCP_HOST0.0.0.0要绑定的主机
NETWORK_MAP_PATH~/.config/my-network-mcp/network-map.json网络映射文件的路径

自定义配置示例

MCP_PORT=8080 MCP_HOST=127.0.0.1 NETWORK_MAP_PATH=/data/network.json my-network-mcp

添加到MCP聚合器

MetaMCP/通用流式HTTP

使用以下配置将此服务器添加到MCP聚合器中:

{
  "name": "my-network",
  "transport": "streamable-http",
  "url": "http://your-server:3000/mcp"
}

示例:MetaMCP配置

{
  "servers": [
    {
      "name": "my-network",
      "transport": "streamable-http",
      "url": "http://10.0.0.6:3000/mcp",
      "description": "Local network resource map"
    }
  ]
}

API终点

方法端点描述
POST/mcpJSON-RPC请求(MCP协议)
GET/mcp服务器通知的SSE流
DELETE/mcp会话终止
GET/health健康检查端点

健康检查

curl http://localhost:3000/health
# {"status":"ok","service":"my-network-mcp","version":"2.0.0"}

可用工具

show_network_map

在网络图中显示所有网络资源。

示例提示:

克劳德,给我看看我的网络地图

query_resource

按主机名、IP、别名、操作系统或服务搜索资源。

示例提示:

查找运行Docker的所有资源 我的NAS的IP是什么? 显示所有Ubuntu机器

add_resource

在地图中添加新的网络资源。

必填字段:

  • hostname:主要标识符
  • ip:IP地址

可选字段:

  • description:人类可读的描述
  • aliases:备选名称
  • os:操作系统
  • services:已安装的服务
  • sshUser:SSH用户名
  • sshPort:SSH端口(默认值:22)
  • metadata:自定义数据的其他键值对

示例提示:

Claude,添加一个新资源: - 主机名:pi-hole - ip地址:10.0.0.10 - description:DNS广告拦截器 - 服务:DNS、Web UI

update_resource

更新现有资源。使用来自的资源ID show_network_map.

示例提示:

更新资源res_12345以添加SSH服务

delete_resource

按ID从映射中删除资源。

示例提示:

删除资源res_12345

set_network_info

设置网络级别信息(名称、CIDR、网关)。

示例提示:

将网络名称设置为“家庭实验室”,CIDR设置为10.0.0.0/24

list_services

列出网络中所有独特的服务、操作系统和SSH配置。

示例提示:

克劳德,给我看看我网络上运行的所有服务 正在使用哪些操作系统?

MCP资源

网络图也作为MCP资源在以下位置公开 network://map,允许AI代理以JSON格式读取整个地图。

初始设置

首次使用MCP时,您需要填充网络图:

  1. 以示例为起点:
   cp example-network-map.json ~/.config/my-network-mcp/network-map.json

然后编辑它以匹配您的网络。

  1. 让克劳德为你建造它 使用MCP工具。

示例工作流

初始网络发现

克劳德,我需要设置我的网络地图。我的网络是10.0.0.0/24,网关是10.0.0.1。添加以下资源: - 10.0.0.1的防火墙(OPNsense) - NAS为10.0.0.50 - 工作站10.0.0.6

查询网络

我的网络上有哪些SSH服务? 显示安装了Docker的所有资源 10.0.0.3是什么?

SSH操作

SSH到我的NAS并检查磁盘空间 连接到Ubuntu虚拟机并更新软件包

MCP提供上下文,这样Claude就知道在哪里连接,而无需重复指定IP。

网络地图格式

网络图以JSON格式存储:

{
  "networkName": "Home Lab",
  "networkCidr": "10.0.0.0/24",
  "gateway": "10.0.0.1",
  "resources": [
    {
      "id": "res_...",
      "hostname": "server1",
      "ip": "10.0.0.10",
      "description": "...",
      "aliases": ["alias1", "alias2"],
      "os": "Ubuntu 24.04",
      "services": ["SSH", "Docker"],
      "sshUser": "admin",
      "sshPort": 22,
      "metadata": {},
      "lastUpdated": "2025-12-15T..."
    }
  ],
  "metadata": {
    "created": "...",
    "lastModified": "...",
    "version": "2.0.0"
  }
}

文件结构

.
├── src/
│   ├── index.ts        # HTTP server & MCP handlers
│   ├── types.ts        # TypeScript type definitions
│   └── storage.ts      # Network map storage manager
├── dist/               # Compiled JavaScript (generated)
├── example-network-map.json
├── package.json
├── tsconfig.json
└── README.md

从v1.x迁移

如果从v1.x升级(stdio传输):

  1. 服务器现在作为HTTP服务运行,而不是stdio
  2. 更新MCP客户端配置以使用流式HTTP传输
  3. 网络图格式不变-无需数据迁移
  4. MCP_PORTMCP_HOST 根据需要设置环境变量

许可证

麻省理工学院

目录标签

目录标签

系统管理JavaScriptClaude网络拓扑本地部署AI代理SSH管理远程操作

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP