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

tinysa MCP

MCP Server

一个通过串口操作TinySA设备的MCP服务器,提供命令执行、版本查询和屏幕截图功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
设备控制PythonAI代理

安装说明

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

作者 / 组织

manahiyo831

提供方

manahiyo831

最后核验

2026/5/17 20:41

运行时

Python

快速接入

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

命令预览

pip install -r requirements.txt\"

详细介绍

tinysa mcp

用于通过串行端口操作TinySA的MCP服务器

抱歉,我目前正在进行实验,无法保证它能正常工作。

概述

该项目是一个MCP服务器,旨在通过串行端口操作TinySA设备。它利用pyserial、httpx、numpy、Pillow和FastMCP等Python库提供基于工具的接口,用于连接设备、执行命令和检索设备版本信息。

体系结构和线程模型

该项目使用基于Tkinter的GUI和MCP服务器。由于Tkinter要求在主线程中运行,因此使用了以下设计:

flowchart TD
    subgraph MainThread
        A[main()] --> B[tk.Tk() & TinySALogMonitor]
        B --> C[root.mainloop()]
    end
    subgraph MCPThread
        D[run_mcp_server(mcp_server)]
        D --> E[mcp_server.run()]
    end
    E -- log_callback --> F[log_monitor.log_queue]
    F -- root.afterで定期ポーリング --> B
    D -- サーバー終了時 --> G[root.after(0, root.destroy)]
  • Tkinter GUI在主线程中运行:\

主线程初始化Tkinter根窗口并启动主事件循环。所有GUI操作都在此线程中执行。

  • MCP服务器在后台线程中运行:\

MCP服务器使用Python在单独的线程中启动 threading.Thread这允许服务器与GUI同时处理请求。

  • 通过队列进行线程安全通信:\

来自MCP服务器(或其他后台线程)的日志消息和其他数据使用 queue.QueueGUI使用以下命令定期轮询此队列 root.after 以安全地更新显示。

  • 平滑关闭:\

当MCP服务器停止时,它会使用以下命令安排GUI关闭 root.after(0, root.destroy),确保所有Tkinter操作都保留在主线程中。

示例(主要功能):

def main():
    root = tk.Tk()
    log_monitor = TinySALogMonitor(root)
    mcp_server = create_mcp_server(log_monitor.add_log)
    mcp_thread = threading.Thread(target=run_mcp_server, args=(mcp_server,), daemon=True)
    mcp_thread.start()
    root.mainloop()

备注

  • 不要从后台线程访问Tkinter对象。\

始终使用提供的队列 root.after 用于线程安全通信。

  • 这种设计确保了MCP服务器和GUI可以同时运行,而不会违反Tkinter的线程要求。

特性

  • 发送命令并从设备检索响应。
  • 检索固件和硬件版本信息。
  • 展示MCP工具,以便与其他系统集成。
  • 支持从设备屏幕捕获图像,以及可选的带时间戳的文件保存。

MCP工具

以下MCP工具可用:

  • 获取版本:从TinySA设备检索版本信息。
  • execute_命令:向TinySA设备发送命令并获取响应。
  • 连接:连接到指定端口上的TinySA设备。
  • 断开:断开TinySA设备。
  • get_device_info:检索有关连接设备的详细信息。
  • capture_image:捕获TinySA屏幕图像,并可选择将其保存到带有时间戳的文件中。

用法示例

使用MCP客户端调用MCP工具。例如,要获取设备版本:

mcp call get_version --args '{"port": "COM4"}'

故障排除

  • 连接问题: 确保指定的串行端口正确,并且您的用户具有适当的权限。
  • 命令失败: 检查MCP服务器日志(如果可用)中的错误消息。
  • 图像捕获: 验证设备在图像捕获期间是否返回了足够的数据(307200字节)。
  • 请参阅 模型上下文协议文档 有关MCP集成的更多信息。

材料

请参阅 material 目录中的附加文档,最好添加文件“USB interface.txt”作为AI知识。

许可证

该项目根据MIT许可证获得许可。

目录标签

目录标签

设备控制PythonAI代理串口通信本地部署MCP协议TkinterGUIPython工具

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP