{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_vzh96mw89efd","handle":"deepin-mcp","url":"https://wellknown.network/agents/deepin-mcp","links":{"self":"https://wellknown.network/agents/deepin-mcp/record.json","html":"https://wellknown.network/agents/deepin-mcp","markdown":"https://wellknown.network/agents/deepin-mcp/record.md","api":"https://wellknown.network/api/v1/agents/deepin-mcp","status":"https://wellknown.network/api/v1/agents/deepin-mcp/status","claim":"https://wellknown.network/agents/deepin-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/deepin-mcp/claim.json","badge":"https://wellknown.network/agents/deepin-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/deepin-mcp/history","tools":"https://wellknown.network/api/v1/agents/deepin-mcp/tools"},"ard":{"identifier":"urn:air::server:deepin-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"deepin-mcp","summary":"MCP server for Deepin desktop application automated testing via AT-SPI","description":"# Deepin MCP\n\nMCP (Model Context Protocol) 服务器，用于通过 AT-SPI 对 Deepin 桌面应用进行自动化测试。\n\n## Features\n\n- **AT-SPI 应用检测** — 自动发现运行中的桌面应用及其控件树\n- **UI 控件操作** — 通过 AT-SPI 对按钮、输入框、菜单等控件执行点击、输入等操作\n- **菜单 Comb 操作** — 支持 DTK 主菜单和右键菜单的 hover-crawl 操作\n- **D-Bus 调用** — 直接通过 D-Bus 接口与应用交互\n- **编排式测试** — 支持 YAML/JSON 格式的测试用例定义和执行\n- **截图诊断** — 操作过程中自动截图辅助调试\n\n## Architecture\n\n三层隔离架构：\n\n| 层级 | 组件 | 职责 |\n|------|------|------|\n| 检测层 | TreeWalker, MenuScanner, Monitor, Snapshot | 只读的控件发现与状态监控 |\n| 执行层 | ElementActor, InputController, MenuOperator, DBusExecutor | 精准的控件操作执行 |\n| 编排层 | Parser, Runner, Assertions | 测试用例解析与执行编排 |\n\n## Prerequisites\n\n- Python >= 3.10\n- 桌面 Linux 环境（Deepin / UOS），依赖 AT-SPI 和 xdotool\n\n### 系统依赖（必须先安装）\n\nPyGObject 需要系统级头文件和 GIR 数据才能编译：\n\n```bash\nsudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-atspi-2.0\n```\n\n### 安装 uv（推荐）\n\n```bash\n# macOS / Linux\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# 或使用 pip\npip install uv\n```\n\n## Installation\n\n```bash\n# 使用 uv 安装（推荐）\nuv tool install deepin-mcp\n\n# 或使用 pip\npip install deepin-mcp\n```\n\n## Usage\n\n### 作为 MCP 服务器运行（stdio 模式，默认）\n\n```bash\ndeepin-mcp\n```\n\n### 作为 MCP 服务器运行（HTTP 模式）\n\n```bash\nDEEPIN_MCP_TRANSPORT=http deepin-mcp\n```\n\n远程访问时可指定监听地址和端口：\n\n```bash\nDEEPIN_MCP_TRANSPORT=http DEEPIN_MCP_HOST=0.0.0.0 DEEPIN_MCP_PORT=8000 deepin-mcp\n```\n\n| 环境变量 | 默认值 | 说明 |\n|----------|--------|------|\n| `DEEPIN_MCP_TRANSPORT` | `stdio` | 传输模式，可选 `stdio` 或 `http` |\n| `DEEPIN_MCP_HOST` | `127.0.0.1` | HTTP 模式监听地址，远程访问设为 `0.0.0.0` |\n| `DEEPIN_MCP_PORT` | `8000` | HTTP 模式监听端口 |\n\n### 运行测试用例\n\n```yaml\n# test_case.yaml\nname: \"Calculator addition\"\napp: \"deepin-calculator\"\nsteps:\n  - name: \"Click 5\"\n    action: element_action\n    selector: {name: \"5\"}\n  - name: \"Click +\"\n    action: element_action\n    selector: {name: \"+\"}\n  - name: \"Click 3\"\n    action: element_action\n    selector: {name: \"3\"}\n  - name: \"Click =\"\n    action: element_action\n    selector: {name: \"=\"}\n  - name: \"Verify result\"\n    assert:\n      - type: elem…","publisher":null,"homepage":"https://github.com/owncoral/deepin-mcp","repository":"https://github.com/owncoral/deepin-mcp","version":"0.3.0","license":"MIT","protocols":["mcp"],"tags":["at-spi","automation","deepin","mcp","testing"],"pricing":null,"endpoints":[{"url":"pypi:deepin-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"code.testing","name":"Testing","confidence":1,"provenance":"declared"}],"categories":["code"],"language":"fr"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"deepin-mcp","registry":"pypi","observedAt":"2026-10-27T23:25:27.997Z","publishedAt":"2026-05-26T08:08:21.994210Z","latestVersion":"0.3.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"deepin-mcp","url":"https://pypi.org/project/deepin-mcp/","firstSeenAt":"2026-09-09T14:31:10.043Z","fetchedAt":"2026-10-27T23:24:16.234Z","normalizedAt":"2026-10-27T23:24:16.234Z"}]},"firstSeenAt":"2026-09-09T14:31:10.043Z","updatedAt":"2026-10-27T23:25:27.997Z"}