Skip to main content
Glama

codex-skills-mcp

🧠 Codex-Skills 技能库的 MCP (Model Context Protocol) Server — 让任意 AI 编程工具都能检索、阅读和使用 180+ 专业技能。

这是什么

一个独立的 MCP Server,为 codex-skills 技能库提供标准化的 AI 工具接入协议。

  • 无需先下载全部技能文件:启动只拉取轻量清单(约 108KB),技能全文按需加载;

  • 180+ 技能、14 个分类:技能库由专家在远端持续维护,用户端零操作;

  • 内置国内网络加速:自动回退链,国内网络免翻墙可用。

特性

说明

6 个 MCP Tools

search_skills, read_skill, load_skill_file, list_skill_files, list_categories, plan_workflow

三层渐进加载

检索(~500 tokens) → 阅读(~5K tokens) → 深入(按需)

中文搜索优化

CJK bigram 分词 + Leading Words 权重

零外部 AI 依赖

纯关键词搜索,不需要 embedding 模型

双传输模式

stdio(本地)+ HTTP(远程)

自动网络加速

GitHub 直连 → jsDelivr → gh-proxy.com → ghfast.top 四级回退

增量缓存

技能文件按大小比对断点续传,重复使用不重复下载

Related MCP server: studiox-skills-mcp

快速开始

1. 远程模式(默认,零配置,推荐)

npx -y codex-skills-mcp@latest

无需安装、无需指定任何路径。启动后自动完成:

  1. 从远端技能库拉取清单 skills_manifest.json(约 108KB,仅首次);

  2. 建立本地搜索索引(毫秒级);

  3. 技能文件按需下载,缓存在当前目录 .codex-skills-cache/

2. 本地模式(可选)

适用于离线开发或使用本地技能库副本:

cd codex-skills-mcp
npm install
npm run build
node dist/index.js --skills-dir /path/to/codex-skills

3. HTTP 模式(远程客户端)

# 远程模式:无需 --skills-dir,自动拉取远端技能库
node dist/index.js --http --port 3456

# 本地模式:加 --skills-dir 指定本地技能库
node dist/index.js --skills-dir /path/to/codex-skills --http --port 3456

启动后:

  • MCP 端点:http://localhost:3456/mcp(POST / GET / DELETE,支持 mcp-session-id 会话管理)

  • 健康检查:http://localhost:3456/health

curl http://localhost:3456/health
# 预期输出
{"status":"ok","name":"codex-skills-mcp","version":"1.2.1","skills":181}

客户端配置

Codex / ChatGPT 桌面端(stdio)

方式一:通过 CLI 快速添加(推荐)

codex mcp add codex-skills -- npx -y codex-skills-mcp@latest

方式二:编辑 ~/.codex/config.toml 添加

[mcp_servers.codex-skills]
command = "npx"
args = ["-y", "codex-skills-mcp@latest"]

若使用本地技能库副本,可改为:

[mcp_servers.codex-skills]
command = "node"
args = ["/path/to/codex-skills-mcp/dist/index.js", "--skills-dir", "/path/to/codex-skills"]

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "codex-skills": {
      "command": "npx",
      "args": ["-y", "codex-skills-mcp@latest"]
    }
  }
}

Cursor

编辑项目根目录 .cursor/mcp.json

{
  "mcpServers": {
    "codex-skills": {
      "command": "npx",
      "args": ["-y", "codex-skills-mcp@latest"]
    }
  }
}

Windsurf / VS Code + Copilot

在 MCP 配置中添加同样的 command + args(stdio 模式)。

远程 HTTP 客户端

如果你的客户端需要以远程 HTTP 地址接入 MCP(例如 ChatGPT 桌面端集成场景):

node dist/index.js --http --port 3456
ngrok http 3456

https://xxxx-xxxx.ngrok-free.app/mcp 填入客户端的 MCP Server URL。

💡 ngrok 免费版每次重启会更换地址;需要固定地址可使用付费版或其他隧道工具(如 Cloudflare Tunnel)。

工作原理

flowchart LR
    A["启动 MCP"] --> B["拉取清单 manifest + 建本地索引"]
    B --> C["search_skills 秒出结果"]
    C --> D["read_skill 按需拉取技能全文"]
    D --> E["load_skill_file 按需读脚本/配置"]
    E --> F["Agent 在本机执行"]

阶段

行为

耗时

启动

拉取/加载清单 + 建索引

秒级

搜索

本地索引关键词打分

毫秒级

取技能

2 次 GitHub API 列出文件 → 并发下载缺失文件

首次数秒,之后走缓存

网络加速回退链

所有远端文件请求按顺序自动回退,无需任何参数:

  1. GitHub 官方直连(3 秒超时);

  2. jsDelivr CDN(10 秒超时,国内有节点);

  3. gh-proxy.com(10 秒超时);

  4. ghfast.top(10 秒超时)。

前一个节点失败时自动降级到下一个;全部失败才会报错。

缓存与增量同步

  • 清单与技能文件缓存在当前目录 .codex-skills-cache/,二次启动秒级完成;

  • 每个技能带 .codex-skills.tree.json 标记(文件列表 + 完成状态);

  • 已完整下载的技能直接本地读取,不重复请求远端;

  • 中断的下载支持断点续传:按文件大小比对,只补拉缺失/不完整的文件;

  • 技能文件并发下载,默认 16(可用 --download-concurrency 调整);

  • 需要强制同步远端最新内容时,删除 .codex-skills-cache/ 后重启即可。

MCP Tools

🔍 search_skills

搜索技能库,Agent 的主入口。

input:  { query: "前端性能优化", category?: "01_代码工程与架构", limit?: 8 }
output: 按相关度排序的技能列表(名称、分类、分数、描述)

📋 list_categories

列出所有技能分类和数量。

input:  {}
output: 14 个分类 + 各自的技能数量

📖 read_skill

读取技能的完整指令(SKILL.md)+ 文件结构 + 环境依赖 + 子技能。

input:  { name: "MediaCrawler" }
output: { instructions, structure, dependencies, sub_skills }

📂 load_skill_file

按需读取技能内的任意文件。

input:  { skill_name: "KrillinAI", file_path: "README.md" }
output: { content, size_bytes }

单文件上限 500KB;二进制文件返回占位说明而非内容;路径穿越会自动拦截。

🗂️ list_skill_files

浏览技能的文件树(不读内容)。

input:  { skill_name: "remotion-skills", path?: "src", max_depth?: 2 }
output: 目录树

🔗 plan_workflow

给定任务描述,推荐可组合使用的技能。

input:  { task_description: "把技术博客做成小红书图文" }
output: 推荐技能列表 + 分类分组

使用流程

用户: "帮我把这个视频翻译成中文字幕"

Agent → search_skills("视频字幕翻译")
     → 命中: KrillinAI, videocut-skills, VideoClaw

Agent → read_skill("KrillinAI")
     → 获取 SKILL.md 指令,了解怎么用

Agent → load_skill_file("KrillinAI", "README.md")
     → 获取详细配置参数

Agent → 按 SKILL.md 指令执行任务

配置参考

参数

默认值

说明

--skills-dir <path>

-

本地技能库目录(指定后进入本地模式)

--local

-

强制本地模式(从 cwd 或 --skills-dir 查找清单)

--github-repo

Zhan-ZhangZ/codexprojec

远端技能库仓库

--github-branch

main

远端分支

--github-path

codex-skills

技能库在仓库内的目录

--github-token

自动从 git 凭据 / GITHUB_TOKEN 获取

GitHub API 鉴权

--http

-

启动 HTTP 模式

--port

3456

HTTP 端口

--download-concurrency

16

技能文件并发下载数

--manifest-ttl <秒>

86400

清单缓存有效期(0 = 永不刷新;设小值如 60 可让新技能更快出现)

--cn-mirror

-

⚠️ 已废弃(兼容保留):网络加速现为自动回退链,此参数不再生效

环境变量:CODEX_SKILLS_DIR(本地技能库路径)、GITHUB_TOKENCODEX_SKILLS_DOWNLOAD_CONCURRENCY

技能库清单(skills_manifest.json)为 JSON 数组,每项包含 name / description / category / folder / relative_path 五个字段。

常见问题

问题

处理

npx 首次运行较慢

首次需下载 npm 包 + 拉取清单,属正常;之后走缓存

日志出现 Network warning

当前加速节点失败,自动降级到下一个,可忽略

想强制更新技能内容

删除 .codex-skills-cache/ 后重启,或设 --manifest-ttl 60 让清单自动高频刷新

仓库新增了技能但搜不到

可能是 CDN 旧清单缓存所致:清单现在优先直连 GitHub 权威源;仍异常时删除 .codex-skills-cache/skills_manifest.json 再重启

load_skill_file 读大文件失败

单文件上限 500KB,属保护设计

GitHub API 限流

每个技能仅 2 次 API 调用,已缓存技能不再请求;未登录配额 60 次/小时

工具列表里看不到 MCP

客户端未重启,重启会话即可

技术栈

  • TypeScript + ESM

  • @modelcontextprotocol/sdk v1.12+

  • express v5(仅 HTTP 模式)

  • zod v3 运行时 schema 验证

  • Node.js 18+

License

MIT

Available Tools

6 tools
list_categoriesA

List all skill categories in the codex-skills library with their skill counts. Use this to get an overview of available domains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden. The verb 'List' implies a read-only operation, and the description transparently states what is returned (categories with counts). It adds useful context about the library. No hidden behaviors are indicated.

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 sentences, front-loaded with the main action, and includes a clear usage hint. Every word earns its place with no redundancy or wasted text.

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

Completeness5/5

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

This is a low-complexity, zero-parameter tool with no output schema. The description sufficiently explains what it does and when to use it, and it clearly separates itself from sibling tools. No additional context is needed for an agent to invoke it correctly.

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, which earns a baseline of 4. The description adds no parameter-specific information because none is needed; the schema is empty and fully covered.

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 uses a specific verb 'List' and identifies the resource 'skill categories in the codex-skills library' with additional detail about skill counts. It clearly distinguishes itself from sibling tools like list_skill_files and search_skills.

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 states when to use the tool: 'Use this to get an overview of available domains.' This provides clear context, though it does not mention when not to use it or name specific alternatives, which would warrant a 5.

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

list_skill_filesA

List the file tree of a skill or a subdirectory within it. Use this to understand a large skill's structure before deciding which files to load.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoSubdirectory path within the skill (default: root)
max_depthNoDirectory scan depth (default: 2)
skill_nameYesSkill name, e.g. 'KrillinAI'

TDQS

A4/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 behavioral disclosure burden. It clarifies that the tool returns a file tree (not file contents), supports subdirectories, and is intended for structural exploration. However, it does not mention output format, pagination, or any side effects. As a read-only listing tool, this is acceptable but not deeply transparent.

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 a single, well-structured sentence that front-loads the action and includes a usage hint. No unnecessary words or repetition of schema details.

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 listing tool with fully documented parameters and a clear purpose, the description is adequate. It does not explain the response format, but no output schema exists and the tool's behavior is straightforward. The usage guidance adds contextual value.

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 input schema fully documents all three parameters with descriptions and defaults (path, max_depth, skill_name). The description adds no extra parameter semantics beyond the schema, so the baseline of 3 applies.

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 ('List the file tree of a skill or a subdirectory within it') and identifies the specific resource (skill file tree). It also distinguishes this tool from siblings by positioning it as a pre-loading exploration step, contrasting with read/load tools.

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 gives explicit usage advice: 'Use this to understand a large skill's structure before deciding which files to load.' This implies when to use (before loading) and differentiates from load/read siblings. However, it does not name alternatives explicitly or state when not to use, so it stops short of a 5.

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

load_skill_fileA

Read a specific file from within a skill's directory. Use this after read_skill when you need to access scripts, configs, README, or other resources referenced in the skill instructions.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesRelative path within the skill directory, e.g. 'README.md' or 'scripts/run.py'
skill_nameYesSkill name, e.g. 'MediaCrawler'

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations present, the description carries the full transparency burden. It clarifies the read-only nature and the target within the skill directory, but it lacks details on return format, error handling for missing files, or path traversal limits.

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 exactly two sentences, front-loaded with the core purpose and followed by a single usage guideline. No word is wasted, and it maintains clarity.

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 two-parameter read operation, the description covers the what, when, and how to locate file paths via the skill instructions. It could mention discovering file paths with list_skill_files or error behavior, but the essentials are present.

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 covers both parameters with descriptions and examples, so the baseline is 3. The description adds meaningful context by specifying the types of files (scripts, configs, README) and that paths come from the skill instructions, enriching the file_path semantics beyond the 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 'Read a specific file from within a skill's directory', with a specific verb and resource. It distinguishes itself from sibling tools by referencing usage after read_skill and targeting scripts, configs, README, and other resources.

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?

The description explicitly instructs to use this tool after read_skill when accessing referenced files, providing a clear use case. It implicitly names read_skill as the alternative for reading the skill's main instructions.

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

plan_workflowA

Given a task description, suggest relevant skills that could be combined to accomplish it. Returns a list of recommended skills — the actual orchestration and execution order should be decided by you (the Agent).

ParametersJSON Schema
NameRequiredDescriptionDefault
task_descriptionYesFull description of the task to accomplish, e.g. '把技术博客文章转换成小红书图文并发布'

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, but the description carries the burden well. It explicitly states that the tool only suggests skills and returns a list, while the actual orchestration/execution order is left to the agent. This sets clear expectations about the tool's advisory nature and lack of side effects.

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 sentences, front-loaded with the purpose, and every word earns its place. It avoids redundancy and is easy to parse.

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

Completeness5/5

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

Given the tool's simplicity (one parameter, no output schema), the description is complete. It covers the input, output, and the agent's responsibility for orchestration, giving enough context for correct selection and invocation without extra fluff.

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% and the description's 'task_description' aligns with the schema's 'Full description of the task to accomplish'. The description adds no additional meaning beyond what the schema already captures, so the baseline 3 is appropriate.

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 uses a specific verb ('suggest') and resource ('relevant skills') to state its function clearly. It distinguishes from sibling tools (search_skills, read_skill) by focusing on combining skills for a task rather than searching or reading individual skills.

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 clearly implies when to use: given a task description, to get skill recommendations. It also clarifies the agent retains control over orchestration and execution order, which is important guidance. However, it does not explicitly mention when not to use it or alternative tools for specific skill lookup.

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

read_skillA

Read a skill's full instructions (SKILL.md), file structure, and dependency info. Call this after search_skills to load a skill you want to use. The instructions contain the role and execution rules you should follow.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesExact skill name from search results, e.g. 'MediaCrawler'

TDQS

A4.2/5.0
Behavior4/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 that the tool reads instructions, file structure, and dependency info, and notes that instructions contain role and execution rules. This is a read operation with no side effects implied, and the description gives meaningful context beyond a bare 'reads skill'.

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 sentences, front-loaded with the core action, and every sentence adds value. The first sentence specifies what the tool does, the second gives usage guidance and context about the content. No filler or 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?

Given the tool's low complexity (single parameter, no output schema, no annotations), the description is adequately complete. It explains what is read and when to use it. It does not describe the return format, but for a simple read operation this is a minor gap, not a major deficiency.

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 single parameter 'name' is fully described in the schema (100% coverage), including the requirement for an exact name from search results. The description adds no additional parameter semantics beyond reinforcing the workflow context, so the baseline of 3 is appropriate.

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 reads a skill's full instructions (SKILL.md), file structure, and dependency info. It uses a specific verb (read) and resource (skill), and distinguishes from siblings like list_skill_files and load_skill_file by explicitly mentioning the full instructions and broader scope.

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 after search_skills to load a skill, providing clear when-to-use guidance. It does not explicitly exclude alternatives like load_skill_file or list_skill_files, but the workflow context is helpful and sufficient for a simple read operation.

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

search_skillsA

Search the codex-skills library by natural language query. Returns matching skills ranked by relevance. Use this as the primary entry point to discover skills for a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of results to return (default: 8)
queryYesNatural language description of what you need, e.g. '前端性能优化' or 'video subtitle translation'
categoryNoOptional category filter, e.g. '05_多媒体与设计资产'

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 results are 'matching skills ranked by relevance' and implies a read-only search, but does not cover edge cases, result structure, or error behavior.

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?

Two sentences, front-loaded with the verb and resource, and no wasted words. Each sentence carries meaningful information.

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 low-complexity search tool with a complete input schema, the description provides adequate return semantics ('ranked by relevance') and usage context. It lacks output structure details since no output schema exists, but this is not critical for selection or invocation.

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?

All three parameters are fully described in the schema with defaults and examples, so the description adds no additional parameter-level detail. The baseline of 3 is appropriate given 100% schema coverage.

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 uses a specific verb ('Search') and resource ('codex-skills library') with clear scope ('by natural language query'). It differentiates from siblings like list_categories and read_skill by focusing on discovery.

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?

Explicitly states when to use it: 'Use this as the primary entry point to discover skills for a task.' It provides clear context but doesn't name alternatives or exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv1.0.6
    • First observedlist_categories
    • First observedlist_skill_files
    • First observedload_skill_file
    • First observedplan_workflow
    • First observedread_skill
    • First observedsearch_skills

TDQS

A4.3/5.0

Scored across 6 tools

Disambiguation4/5

search_skills and plan_workflow both return skill recommendations, which could cause slight confusion, but the descriptions clarify that search_skills is for finding a single skill while plan_workflow is for combining multiple skills. The other tools (list_categories, read_skill, load_skill_file, list_skill_files) have clearly distinct purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with lowercase and underscores (search_skills, list_categories, read_skill, load_skill_file, list_skill_files, plan_workflow). No mixing of styles or irregular naming.

Tool Count5/5

Six tools is well-scoped for a skill library server, covering discovery, browsing, reading, and planning without excess or deficiency.

Completeness5/5

The tool set fully covers the lifecycle of using a skill library: discovering skills (search_skills), exploring categories (list_categories), reading skill instructions (read_skill), accessing files (list_skill_files, load_skill_file), and planning multi-skill workflows (plan_workflow). No obvious gaps for a read-only skill consumption server.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers