Token导航 LogoToken导航TokenDH.com
Tcp Socket MCP logo
运维云端stdio官方级别未说明来源级核验

Tcp Socket MCP

MCP Server

一个提供原始TCP套接字访问的模型上下文协议(MCP)服务器,使AI模型能够直接与网络服务交互,支持多并发连接、响应数据缓冲和自动触发响应。

工具数

11

提示词数

0

GitHub Stars

10

资源数

0
安全PythonClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

SpaceyKasey

提供方

SpaceyKasey

最后核验

2026/5/17 20:19

快速接入

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

命令预览

pip install TcpSocketMCP

详细介绍

TCP套接字MCP服务器

![CI Status](https://github.com/SpaceyKasey/TcpSocketMCP/actions/workflows/ci.yml) ![Test Coverage](https://github.com/SpaceyKasey/TcpSocketMCP/actions/workflows/ci.yml) ![Quality Gates](https://github.com/SpaceyKasey/TcpSocketMCP/actions/workflows/quality-gates.yml) ](https://badge.fury.io/py/TcpSocketMCP) ](https://pepy.tech/projects/tcpsocketmcp) ![Python Support](https://pypi.org/project/TcpSocketMCP/)

一种模型上下文协议(MCP)服务器,提供原始TCP套接字访问,使AI模型能够使用原始TCP套接字直接与网络服务交互。 支持多个并发连接,缓冲响应数据并触发自动响应。

动机和背景

许多网络服务和物联网设备通过现有基于HTTP的MCP服务器未涵盖的原始TCP协议进行通信。TcpSocketMCP启用:

  • 与嵌入式设备和物联网系统的直接交互
  • 网络协议调试与测试
  • 没有HTTP包装器的遗留系统集成
  • 协议逆向工程与分析
  • 通过触发模式自动响应(适用于IRC、telnet、自定义协议)

这解决了几个社区成员所表达的对低级网络访问的需求,特别是对于工业自动化、物联网开发和网络安全测试场景。

演示

Demo 1 *询问设备以弄清楚它是什么*

Demo 2 *向设备发送数据*

Output Example *TCP交互的示例输出*

安装和设置

从PyPI安装

# Install with pip
pip install TcpSocketMCP

# Install with uv (recommended)
uv add TcpSocketMCP

# Add to Claude Code (recommended)
claude mcp add rawtcp -- uvx TcpSocketMCP

适用于克劳德桌面

将服务器添加到Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

选项1:使用已安装的软件包(推荐)

{
  "mcpServers": {
    "tcp-socket": {
      "command": "TcpSocketMCP",
      "env": {}
    }
  }
}

选项2:来源

{
  "mcpServers": {
    "tcp-socket": {
      "command": "python",
      "args": ["/path/to/tcp-socket-mcp/run.py"],
      "env": {}
    }
  }
}

开发设置

# Clone the repository
git clone https://github.com/kaseyk/tcp-socket-mcp.git
cd tcp-socket-mcp

# Install with uv (recommended)
uv pip install -e .

# Or install with pip
pip install -e .

# Run the server directly
python run.py

# Or use the command
TcpSocketMCP

可用工具

通过MCP配置后,AI模型可以使用以下工具:

核心连接工具

tcp_connect

打开与任何主机的TCP连接:端口

  • 返回a connection_id 用于后续操作
  • 支持预注册触发器的自定义connection_id
  • 例子: tcp_connect("example.com", 80)

tcp_send

通过已建立的连接发送数据

  • 编码选项: utf-8, hex (推荐二进制), base64
  • 十六进制格式:素色双,如 "48656C6C6F" 为“你好”
  • 终结者:可选十六进制后缀,如 "0D0A" 对于CRLF

tcp_read_buffer

从连接缓冲区读取接收到的数据

  • 发送后可能无法立即获得数据
  • 缓冲区存储所有接收到的数据,直到清除
  • 支持 index/count 部分阅读
  • 格式选项: utf-8, hex, base64

tcp断开连接

关闭连接并释放资源

  • 完成后始终关闭连接
  • 所有触发器自动删除

高级功能

tcp_set_trigger

设置模式匹配的自动响应

  • 预注册:在连接之前设置触发器以立即激活
  • 支持带有捕获组的正则表达式模式($1, $2)
  • 当模式匹配时,响应会自动触发
  • 非常适合协议握手(IRC PING/PONG等)

tcp_connect_and_send

在一个原子操作中组合连接和发送

  • 对时间敏感的协议至关重要
  • 可用于即时握手或抓取横幅
  • 返回connection_id以进行进一步操作

实用工具

  • tcp_list_connections:查看所有具有统计信息的活动连接
  • tcp_connection_info:获取有关特定连接的详细信息
  • tcp_baffer_info:在不读取数据的情况下检查缓冲区统计信息
  • tcp_clear_buffer:清除缓冲区中的接收数据
  • tcp_remove_trigger:删除特定的自动响应触发器

使用示例

基本TCP通信

# Connect to a service
conn_id = tcp_connect("example.com", 80)

# Send data (hex encoding recommended for protocols)
tcp_send(conn_id, "474554202F20485454502F312E310D0A", encoding="hex")  # GET / HTTP/1.1\r\n

# Read response (may need to wait for data)
response = tcp_read_buffer(conn_id)

# Clean up
tcp_disconnect(conn_id)

自动化协议处理

# Pre-register trigger for IRC PING/PONG
tcp_set_trigger("irc-conn", "ping-handler", "^PING :(.+)", "PONG :$1\r\n")

# Connect with pre-registered triggers
tcp_connect("irc.server.com", 6667, connection_id="irc-conn")
# PING responses now happen automatically!

使用二进制协议

# Use hex encoding for precise byte control
tcp_send(conn_id, "0001000400000001", encoding="hex")  # Binary protocol header

# Read response in hex for analysis
response = tcp_read_buffer(conn_id, format="hex")

重要提示

行结尾的十六进制编码

许多文本协议(HTTP、SMTP、IRC)都需要特定的行尾。使用十六进制编码来避免JSON转义问题:

# Common hex sequences:
# 0D0A     = \r\n (CRLF) - HTTP, SMTP, IRC
# 0A       = \n (LF) - Unix line ending
# 0D0A0D0A = \r\n\r\n - HTTP header terminator
# 00       = Null byte - Binary protocols

时间研究

  • 网络响应不是即时使用的 tcp_buffer_info 检查数据
  • 考虑实现延迟较小的重试逻辑
  • 缓冲区累积所有接收到的数据-需要时清除

🧪 测试与质量

TcpSocketMCP通过全面测试保持企业级质量:

测试覆盖率

  • 85%覆盖率 (超过80%的目标)
  • 80+综合测试 所有组件
  • 跨平台测试 (Ubuntu、Windows、macOS)
  • Python 3.10-3.12支持

质量门

  • 自动化CI/CD GitHub操作
  • 安全扫描 土匪与安全
  • 代码质量分析 Ruff和MyPy
  • 性能监控 复杂性分析

在本地运行测试

# Install with test dependencies
uv pip install -e .
uv pip install pytest pytest-asyncio pytest-cov

# Run full test suite with coverage
uv run pytest tests/ --cov=src/TcpSocketMCP --cov-report=term-missing

# Quick test run
uv run pytest

测试.md 获取全面的测试文档。

许可证

麻省理工学院

目录标签

目录标签

安全PythonClaudeTCP套接字本地部署网络协议物联网工业自动化网络安全

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP