Skip to main content
Glama

devecocli-mcp

统一鸿蒙(HarmonyOS)开发 MCP 服务:精选、封装、编排 deveco-cli 的技能与能力,让 AI 像搜索 RAG 知识库一样检索能力 → 一键调用 CLI → 快捷查询官方文档

底层引擎:deveco-cli(openharmony-sig,封装 hvigor/ohpm/hdc/hilog 工具链 + 本地官方文档库 + 技能市场)

🚀 快速安装(一句话)

把下面这句话原样复制给任意 AI 编码客户端(Claude Code / opencode / Cursor / DevEco Code 等),它会按本仓库引导完成 skill + MCP 的安装:

按照仓库引导配置 https://github.com/kelai141/devecocli-mcp 中的内容,注意基于本地环境调整,注意询问用户配置于工作区或全局

AI 执行时须遵守:

  • 不假设平台:Windows / macOS / Linux 的命令与路径不同,以本地实际环境为准

  • 先询问用户:MCP 配置到工作区(项目级)还是全局(用户级);SKILL 装到哪个 agent

  • 验证收尾:调用 MCP status 工具确认 devecocli / 文档库 / 工程三项就绪

Related MCP server: CodeArts MCP

为什么需要它

痛点

本服务的解法

deveco-cli 能力多而杂,AI 不知道用哪个

capability_search:22 项精选能力注册表,BM25 + 同义词 RAG 式检索,能力卡自带教学

每个 AI 工具的 MCP 配置格式不一

标准 MCP 服务,任何客户端一行配置接入

LLM 缺乏鸿蒙知识

docs_search/docs_read/docs_tree:2000+ 万字官方文档离线全文检索 + 目录导航

技能市场找包难

skills_find:直连技能市场(matrix.openharmony.cn)结构化检索

快速开始(手动安装)

前置要求

# 1. 安装 devecocli(执行引擎)
npm install -g @deveco/deveco-cli
# 2. 确保已安装 DevEco Studio(工具链定位)并初始化文档库(首次 docs 命令会自动初始化)

安装本服务

npm install -g devecocli-mcp     # 或本地构建: npm run build

接入任意 MCP 客户端(一行配置)

Claude Code / Cursor / opencode / DevEco Code 等(标准格式,工作区级 <project>/.mcp.json):

{
  "mcpServers": {
    "devecocli-mcp": {
      "command": "devecocli-mcp",
      "env": {
        "PROJECT_PATH": "${workspaceFolder}"
      }
    }
  }
}
  • 全局级:Claude Code ~/.claude.json、Cursor ~/.cursor/mcp.json、opencode ~/.config/opencode/opencode.json(Windows %APPDATA%\opencode\)、codex ~/.codex/config.toml(TOML 格式)

  • PROJECT_PATH 可选:缺省自动从客户端 workspace root / 当前目录探测鸿蒙工程

  • opencode 使用 "type": "local" 格式(参见 deveco-cli 配置规范

安装教学 Skill(推荐)

# 复制 SKILL.md 到你的 agent skills 目录,例如 Claude Code:
cp SKILL.md ~/.claude/skills/deveco-unified-mcp/SKILL.md

SKILL 是操作手册(安装后注入 AI 上下文:工作流/工具速查/高频规范/Recipes/Troubleshooting),MCP 是执行层——两者配套使用,安装引导以本 README 为准。

工具一览(8 个)

工具

说明

capability_search

RAG 式检索精选能力(自然语言 → 能力卡:参数/示例/避坑)

capability_run

按能力 ID 执行(参数校验 → devecocli 子进程 / 市场 API)

capability_list

浏览全部能力(按分类)

docs_search

官方文档全文检索(6 类目录,离线)

docs_read

按文档 ID 读取全文

docs_catalog

文档分类列表

skills_find

技能市场搜索

status

环境健康检查(devecocli/文档库/工程)

另有 MCP Prompt harmonyos-dev(工作流教学)与 Resource capability://registry(完整注册表)、guide://harmonyos-dev(操作指南)。

精选能力注册表(v1,22 项)

  • 工程:project.create

  • 构建:build.project、build.clean

  • 运行:app.run、app.preview(多设备预览器)

  • 设备:device.list、device.view

  • 模拟器:emulator.list、emulator.start、emulator.stop

  • 日志:log.get、log.crash

  • 文档:docs.search、docs.read、docs.catalog

  • 技能市场:skills.find、skills.list、skills.add、skills.remove

  • 初始化:init.skill、init.mcp

  • 维护:cli.update

架构

src/
├── registry/     # 精选能力注册表(22 项,含教学字段)
├── retrieval/    # CJK 分词 + BM25 + 同义词组(离线零配置)
├── executor/     # devecocli 子进程封装(跨平台/超时/截断)+ 能力调度
├── skills/       # 技能市场直连客户端(matrix.openharmony.cn)
├── tools/        # 工具实现与能力卡格式化
├── server.ts     # MCP Server(8 工具 + prompt + resource)
├── prompts.ts    # harmonyos-dev 工作流教学(注入层核心)
└── index.ts      # stdio 入口

开发

npm install
npm run build      # tsup → dist/index.js
npm test           # vitest(含 top-1 命中率验收)
npm run typecheck

工作原理

  • 执行引擎:子进程调用 devecocliDEVECO_CLI_SKIP_VERSION_CHECK=1 跳过每次调用的版本检查,加速响应);参数数组传递防注入;非 TTY 下输出无 ANSI 干扰

  • 文档通道devecocli docs search --format json 结构化解析;文档库由 devecocli 自动初始化(SQLite FTS5 + jieba,离线可用)

  • 检索层:中文 bigram 分词 + BM25 + 同义词组(每组至多一次加成),纯本地毫秒级

  • 技能市场:直连 matrix.openharmony.cn API(HMOS 标签,过滤 DevEco 标签),结构化返回

License

MIT

Available Tools

9 tools
capability_list浏览全部能力A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。列出能力注册表中的全部精选能力(可按分类筛选),供发现与总览。

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo按分类筛选

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It discloses a prerequisite (must load the SKILL) and that it reads from a capability registry. However, it does not explicitly state that the operation is read-only or describe the return format or behavior when the skill is not loaded. The verb 'list' implies a safe read, but robust behavioral detail is lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences and no filler. However, the main purpose appears in the second sentence, following the prerequisite, so it is not ideally front-loaded. Nevertheless, each sentence provides necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one optional parameter and no output schema. The description explains the core functionality and a prerequisite, but it does not specify return values or behavior when no category is provided. With no annotations, these gaps leave some ambiguity for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has a single 'category' parameter with enum values and a description, achieving 100% schema description coverage. The description only reiterates the ability to filter by category, which adds no new semantic information beyond the schema. The baseline of 3 applies since the schema is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states '列出能力注册表中的全部精选能力(可按分类筛选)' with a specific verb (list) and resource (all curated capabilities in the capability registry). This distinguishes it from sibling tools like capability_search by focusing on broad listing and overview rather than targeted searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear prerequisite (load the deveco-unified-mcp SKILL before use) and states its purpose is '供发现与总览' (for discovery and overview), which gives context for when to use it. However, it does not explicitly contrast with alternatives like capability_search or specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

capability_run执行鸿蒙开发能力A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。按能力 ID 执行(参数校验 → 调 devecocli 或技能市场 API)。能力 ID 通过 capability_search 或 capability_list 获取。构建/运行等操作耗时长,请耐心等待;失败信息通常已含解决提示。

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNo能力参数(键名见能力卡的"参数"字段,如 { product: "oversea", buildMode: "release" })
capability_idYes能力 ID,如 build.project、docs.search、skills.find

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that operations may be long-running, failure messages usually contain solution hints, and internally it performs parameter validation before calling devecocli or the skill marketplace API. However, it does not address side effects, permissions, or whether operations are reversible/ cancellable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: prerequisite, execution mechanism, and operational caveats. Information is front-loaded and there is no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic executor with only 2 parameters and no output schema, the description covers the essential context: prerequisite, ID sourcing, internal flow, time expectations, and failure behavior. It lacks explicit output/return format, but that is reasonable given the absence of an output schema and the tool's generic nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides complete descriptions for both parameters (capability_id with examples, args with key-name guidance). The description adds minor context about sourcing capability IDs from list/search tools and the existence of parameter validation, but these are incremental over the rich schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an executor of HarmonyOS development capabilities by ID, with a specific mechanism (parameter validation → devecocli or skill marketplace API). It distinguishes itself from sibling tools by explaining that capability IDs come from capability_search or capability_list, positioning itself as the execution counterpart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit workflow guidance: load the SKILL first, obtain capability IDs via capability_search or capability_list, and warns about long-running build/run operations. However, it does not explicitly state when not to use this tool or name specific alternative tools beyond the ID-acquisition ones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_catalog查看文档分类A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。列出官方文档库的分类(开发指南/API参考/最佳实践/FAQ/版本说明/变更预告)。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full transparency burden. It discloses the tool lists documentation categories and implies a read-only action, but it does not describe the output structure, potential side effects, or why the SKILL must be loaded first. The prerequisite is a useful behavioral note, yet overall behavioral detail is minimal for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences: the first is a necessary prerequisite instruction, the second states the core action with examples. No filler or redundancy. Every word earns its place, and the structure front-loads the operational requirement before the main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple catalog-listing tool with no parameters and no output schema, the description is largely complete: it states what the tool does, gives example output content, and notes a prerequisite. It does not describe the exact return format, but given the simplicity and clear scope, this is a minor gap rather than a significant deficiency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is nothing to explain beyond the schema. The description does not need to add parameter meaning, and the empty schema already communicates the absence of inputs. Per calibration rules, zero parameters warrants a baseline score of 4, and the description does not undercut this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '列出官方文档库的分类' (list categories of the official documentation library), with concrete examples of categories. This distinguishes it from sibling tools like docs_search and docs_read, which handle searching/reading content rather than catalog navigation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear prerequisite: users must load the 'deveco-unified-mcp' SKILL before use. However, it gives no explicit guidance on when to choose this tool over alternatives (e.g., docs_tree) or when not to use it. The usage context is implied but not contrasted with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_read读取文档全文A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。按文档 ID 读取 HarmonyOS 官方文档完整内容(markdown)。文档 ID 来自 docs_search 结果的 documentId 字段。

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes文档 ID,如 harmonyos-guides/application-models/arkts-page-start-overview

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool retrieves full markdown content and that SKILL loading is required, which are useful behavioral details. It doesn't address error handling or side effects, but for a read-only docs tool, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the prerequisite and then the core purpose. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one ID parameter). The description covers the return format (full markdown), required prerequisite (SKILL), and ID source (docs_search). It references SKILL.md for more detail. Minor gaps like error behavior don't significantly impair completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the single parameter with an example. The description adds crucial semantic context: the document ID must come from the documentId field of docs_search results, preventing arbitrary or guessed IDs. This goes beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (read by document ID), the resource (HarmonyOS official documentation), and the output format (markdown). It distinguishes itself from sibling tools like docs_search (which searches) and docs_catalog/docs_tree (which browse).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs to load the deveco-unified-mcp SKILL before use and states that the document ID must come from docs_search results, effectively giving the workflow: search first, then read. This is clear guidance on prerequisites and data source, distinguishing when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_tree浏览文档目录树A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。浏览官方文档库目录树(分类→章节→页面,页面附标题),先目录定位再全文检索再读全文。页面路径即文档 ID,可直接用于 docs_read。

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo目录锚点,如 "开发指南/ArkUI_方舟UI框架",从该目录展开
depthNo展开深度
catalogNo只看某一分类时指定;缺省全部

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses an important prerequisite (loading the deveco-unified-mcp SKILL) and explains behavioral context: the tree structure, page titles, and the fact that page paths serve as document IDs for docs_read. This goes beyond basic function naming, though it omits details like output format or pagination, which are not critical for a simple browsing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long and every sentence earns its place: the first states a prerequisite, the second defines the core function, and the third explains output usage and connection to docs_read. It is front-loaded with the most important operational requirement and contains no redundant fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description adequately communicates the return concept (directory tree with categories, chapters, pages, and titles) and how to use the results (path as document ID). It covers the workflow and relationships with sibling tools. Some details like depth behavior are already in the schema, so the description is complete enough for a straightforward browsing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter (path, depth, catalog) already having clear descriptions in the input schema. The tool's description adds no extra parameter-level meaning; it only mentions that page paths can be used as document IDs, which is output-related rather than parameter-specific. Baseline 3 is appropriate since the schema handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '浏览官方文档库目录树(分类→章节→页面,页面附标题)' (browse official documentation library directory tree: category→chapter→page, pages have titles). It uses a specific verb plus resource and identifies the hierarchical structure, distinguishing it from sibling tools like docs_search and docs_read by positioning it as the initial navigation step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit workflow guidance: '先目录定位再全文检索再读全文' (locate via catalog first, then full-text search, then read full text), and notes that page paths from this tool can be used directly with docs_read. It clearly indicates when this tool should be used relative to search and read tools, though it does not explicitly mention when not to use it or compare with docs_catalog.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skills_find搜索技能市场A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。在 HarmonyOS 技能市场(matrix.openharmony.cn)搜索社区/官方专家技能包(多设备适配、崩溃定位、元服务开发等场景)。找到后可用 capability_run 的 skills.add 安装到智能体。

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes搜索关键词,如 "crash"、"元服务"、"multi-device"

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses the prerequisite of loading the SKILL and clarifies that installation happens separately via capability_run, implying the search itself is read-only. It does not detail pagination or auth, but the core behavioral context is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: two sentences covering prerequisite, search location, and installation next step. It is front-loaded and every sentence contributes value, though the dense phrasing slightly reduces readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one simple parameter and no output schema, this is a straightforward search tool. The description covers the prerequisite, the search scope, and the downstream install action, making it reasonably complete for an agent to invoke correctly. It could mention return format, but that is not critical here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already has 100% coverage with a description and examples for the single keyword parameter. The description only echoes the same example categories without adding new param-specific meaning, so it stays at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the HarmonyOS skills marketplace (matrix.openharmony.cn) for expert skill packs, using specific verbs and resource. It differentiates from sibling tools like docs_search and capability_search by targeting the skills marketplace specifically, and mentions the follow-up install via capability_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear workflow context by requiring the deveco-unified-mcp SKILL to be loaded first, and tells the agent to use capability_run's skills.add to install after finding. It does not explicitly list when not to use it, but the practical guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

status环境健康检查A

使用前请先加载 deveco-unified-mcp SKILL(仓库 SKILL.md 为操作手册:工作流与使用规范)。检查本服务运行环境:devecocli 是否安装、官方文档库是否就绪、当前鸿蒙工程检测、以及(可选)连接设备。首次接入时先调用它确认环境。

ParametersJSON Schema
NameRequiredDescriptionDefault
check_devicesNo是否同时检查连接设备(较慢,默认关闭)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses what is checked and notes that the optional device check is slow, which is useful. However, it does not explicitly state whether the tool is read-only, what happens on failure (e.g., missing devecocli), or any side effects. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences and to the point. The first sentence is a prerequisite instruction rather than the core purpose, but it is still relevant. It is front-loaded with the SKILL loading requirement, which might be better placed elsewhere, but overall it is efficiently written with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one optional parameter, no output schema, no annotations), and the description lists all the checks it performs. However, it does not explain the return format or what happens if the environment is not ready. While the context of first-use is given, the lack of output description is a gap given there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers the single boolean parameter check_devices with a description, so schema coverage is 100%. The tool description adds a slight context by mentioning '(可选)连接设备' but does not go beyond the schema's own description. Since the schema does the heavy lifting, a baseline of 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks the runtime environment (devecocli installation, docs library, HarmonyOS project, optional device connection). The verb '检查' (check) with the listed resources is specific and distinguishes it from sibling tools like docs_* and capability_* which focus on documentation and capabilities. The title also reinforces the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to call this tool first on initial access to confirm the environment, and it also notes the prerequisite of loading the deveco-unified-mcp SKILL. This gives a clear usage context. However, it does not explicitly mention when not to use it or provide direct alternative tools, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation4/5

Tools are largely distinct by domain: capability_run/list/search, docs_search/read/catalog/tree, skills_find, and status. There is minor overlap between capability_list and capability_search (both discover capabilities) and between docs_catalog and docs_tree (both browse structure), but descriptions clarify their differing intents.

Naming Consistency4/5

Most tools follow a consistent pattern of <domain>_<action> (e.g., capability_run, docs_search). The 'status' tool lacks the pattern (could be environment_status), and skills_find uses a different verb than the capability group, but overall the naming is predictable and readable.

Tool Count5/5

Nine tools is well within the ideal 3-15 range and each serves a distinct purpose in the HarmonyOS development workflow—capability execution, documentation lookup, skill discovery, and environment status. No tool feels redundant or unnecessary.

Completeness5/5

The surface covers the full intended scope: discovering and running capabilities, searching and reading documentation, browsing the doc tree, finding skills, and checking environment readiness. The ability to install skills via capability_run (skills.add) closes the loop, leaving no obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Unified MCP server that wraps 8 Huawei Cloud CodeArts modules (Req, Repo, Pipeline, Check, TestPlan, Deploy, Build, Artifact) into a standardized toolset, supporting local stdio and shared HTTP modes with session isolation and encrypted credential storage.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kelai141/devecocli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server