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

huskylens2 MCP filter

MCP Server

一个透明的代理服务器,通过过滤响应中不支持的图像数据,使Claude Desktop(和其他MCP客户端)能够与Huskylens AI相机的嵌入式MCP服务器协同工作。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

dstrout

提供方

dstrout

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

python3 huskylens_bridge.py --target http://192.168.1.161:3000

详细介绍

Huskylens MCP网桥服务器

一个透明的代理服务器,通过从响应中过滤出不受支持的图像数据,使Claude Desktop(和其他MCP客户端)能够与Huskylens AI相机的嵌入式MCP服务器协同工作。

问题

Huskylens相机有一个嵌入式模型上下文协议(MCP)服务器,该服务器在其 get_recognition_result 工具响应。但是,Claude Desktop的MCP接口无法处理相机返回的图像数据格式,导致“该工具以不受支持的格式返回内容”错误。

Huskylens MCP服务器在相机固件中进行了硬编码,始终返回图像和文本数据,没有请求纯文本响应的选项。

解决方案

这个桥接服务器位于Claude Desktop和Huskylens相机之间,充当透明的过滤代理。 这座桥是并排的 npx mcp-remote -你仍然使用 mcp-remote 将Claude Desktop连接到网桥,然后网桥连接到相机。

连接链:

Claude Desktop → mcp-remote → Bridge Server (this program) → Huskylens Camera

桥:

  1. 双向转发所有MCP协议消息
  2. 过滤掉 resource_link 项目与 mimeType: "image/png" 来自工具响应
  3. 保留所有文本/JSON内容,以便Claude可以访问识别数据
  4. 保持正确的MCP协议消息顺序

特性

  • 透明代理:除图像过滤外,所有MCP消息均无需修改即可转发
  • 消息排序:确保 notifications/initialized 在其他请求之前发送(MCP协议要求)
  • 多会话支持:处理多个并发的Claude Desktop会话
  • SSE流媒体:正确处理服务器发送事件(SSE)以进行实时通信
  • 可配置的:目标URL、主机和端口的命令行参数
  • 日志记录:清除连接、会话和筛选内容的日志记录

需求

  • Python 3.7+
  • 烧瓶
  • 请求:
  • npx(用于mcp远程)

安装

  1. 克隆此存储库:
git clone https://github.com/dstrout/huskylens2_MCP_filter.git
cd huskylens2_MCP_filter
  1. 安装Python依赖项:
pip3 install flask requests

用法

步骤1:启动网桥服务器

python3 huskylens_bridge.py --target http://192.168.1.161:3000

替换 192.168.1.161:3000 使用Huskylens相机的IP地址和端口。

这将:

  • 在目标URL连接到Huskylens MCP服务器
  • 启动网桥服务器 http://0.0.0.0:8080

步骤2:配置Claude桌面

将网桥添加到Claude Desktop配置文件中(claude_desktop_config.json):

配置文件的位置:

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

添加此条目:

{
  "mcpServers": {
    "Huskylens2": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://localhost:8080/sse",
        "--allow-http"
      ]
    }
  }
}

重要提示:mcp-remote 工具连接到桥 localhost:8080,而不是直接对着相机。然后,桥会代理相机。

步骤3:重新启动克劳德桌面

重新启动Claude Desktop,Huskylens工具应出现在设置中并正常工作。

命令行选项

--target URL    Required. Target Huskylens MCP server URL
                Example: http://192.168.1.161:3000

--host HOST     Host to bind the bridge server to (default: 0.0.0.0)
                Use 127.0.0.1 to bind to localhost only

--port PORT     Port to bind the bridge server to (default: 8080)

--verbose       Enable verbose debug logging

--no-validation Skip connection validation at startup

例子

自定义网桥端口:

python3 huskylens_bridge.py --target http://192.168.1.161:3000 --port 9000

然后更新Claude配置以使用 http://localhost:9000/sse

仅限本地主机:

python3 huskylens_bridge.py --target http://192.168.1.161:3000 --host 127.0.0.1

使用详细日志记录:

python3 huskylens_bridge.py --target http://192.168.1.161:3000 --verbose

跳过启动验证(如果相机脱机):

python3 huskylens_bridge.py --target http://192.168.1.161:3000 --no-validation

运作原理

建筑

┌─────────────────┐    npx mcp-remote    ┌──────────────────┐    HTTP/SSE    ┌─────────────────┐
│ Claude Desktop  │ ◄─────────────────► │  Bridge Server   │ ◄────────────► │ Huskylens Camera│
│  (MCP Client)   │                      │  (This Program)  │                │  (MCP Server)   │
└─────────────────┘                      └──────────────────┘                └─────────────────┘
                                                  │
                                         Filters out images
                                         Preserves text data

消息流

  1. 连接:克劳德桌面使用 mcp-remote 通过SSE连接到网桥
  2. 会话设置:网桥与Huskylens摄像机建立上游连接
  3. 消息排序:网桥缓冲工具请求,直到会话初始化
  4. 过滤:图像资源已从中删除 get_recognition_result 响应
  5. 转发:所有其他内容均保持不变

什么被过滤

网桥只过滤 resource_link 工具响应中具有图像MIME类型的项目:

在过滤之前(来自Huskylens):

{
  "result": {
    "content": [
      {
        "type": "resource_link",
        "uri": "data:image/png;base64,iVBORw0KG...",
        "mimeType": "image/png"
      },
      {
        "type": "text",
        "text": "[{\"id\":1,\"x\":120,\"y\":80,...}]"
      }
    ]
  }
}

过滤后(对克劳德):

{
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[{\"id\":1,\"x\":120,\"y\":80,...}]"
      }
    ]
  }
}

故障排除

大桥无法启动

错误: Failed to connect to http://192.168.1.161:3000

解决方案:

  • 验证Huskylens摄像头是否已打开并连接到您的网络
  • 检查IP地址是否正确(如果使用DHCP,可能会更改)
  • 确保Huskylens MCP服务器正在运行(通常在端口3000上)
  • 使用 --no-validation 跳过启动检查

工具未出现在Claude Desktop中

解决方案:

  1. 检查网桥服务器是否正在运行
  2. 验证Claude Desktop配置指向 http://localhost:8080/sse (不是直接用相机)
  3. 完全重新启动克劳德桌面
  4. 检查网桥服务器日志中的连接尝试

端口已在使用中

错误: Address already in use

解决方案:

  • 使用 --port 指定其他端口
  • 或者使用端口8080停止进程: lsof -ti:8080 | xargs kill

连接中断或超时

解决方案:

  • 确保与Huskylens的稳定网络连接
  • 检查防火墙是否阻止连接
  • 启用详细日志记录以查看发生了什么

用于调试的详细日志记录

与一起跑步 --verbose 查看详细的消息流:

python3 huskylens_bridge.py --target http://192.168.1.161:3000 --verbose

技术细节

MCP协议支持

  • 协议版本:2024-11-05(及更高版本)
  • 传输:通过HTTP的SSE(服务器发送事件)
  • 消息排序:强制MCP初始化顺序
  • 会话:断开连接时自动清理

依赖项

  • 烧瓶:HTTP/SSE端点的Web框架
  • 请求::用于上游连接的HTTP客户端
  • mcp遥控器:将Claude Desktop连接到HTTP MCP服务器的npm包

端点

  • GET /sse -MCP客户端连接的SSE端点(此处为MCP远程连接)
  • POST /message?session_id= -消息转发端点
  • GET /health -健康检查端点

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎改进和bug修复!关键领域:

  • 更好的错误处理和恢复
  • 配置文件支持
  • 支持多个上游服务器
  • 性能优化

致谢

  • Huskylens团队创建AI摄像头和MCP服务器
  • Claude Desktop和MCP协议的拟人化
  • MCP社区 mcp-remote 工具

版本历史记录

  • 1.0.0 (2025-11-12)

- 初始版本 - 从工具响应中过滤图像 - MCP协议消息排序 - 命令行配置 - 多会话支持

目录标签

目录标签

PythonClaudeAI代理代理服务器本地部署MCP协议图像过滤AI相机ClaudeDesktop

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP