Adding LLM MCP Tools
TriliumNext/Trilium
A skill your agent uses when adding, changing, or reviewing an LLM/MCP tool in Trilium (the defineTools definitions under packages/trilium-core/src/services/llm/tools/ —…
How to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .claude/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .claude/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunitType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .agents/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .agents/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .cursor/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .cursor/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/DitriXNew/EDT-MCP.git --path .claude/skills/edt-mcp-yaxunit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .gemini/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .gemini/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunitInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .github/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .github/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install DitriXNew/EDT-MCP edt-mcp-yaxunit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/DitriXNew/EDT-MCP.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/edt-mcp-yaxunit .opencode/skills/edt-mcp-yaxunit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "edt-mcp-yaxunit" agent skill from https://github.com/DitriXNew/EDT-MCP/tree/master/.claude/skills/edt-mcp-yaxunit into .opencode/skills/edt-mcp-yaxunit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "edt-mcp-yaxunit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
edt-mcp-yaxunitHow to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools.
Edt MCP Yaxunit is an agent skill from DitriXNew/EDT-MCP. How to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools. Covers the three-piece setup (EDT plugin = IDE runner, YAxUnit.cfe engine in the infobase, a test extension that holds the tests), the test-module structure (ИсполняемыеСценарии + ЮТест asserts), and the run gotchas for this repo. Use when writing/running YAXUnit tests or setting YAXUnit up.
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Testing & QA, covering Unit testing and MCP servers. It works with Model Context Protocol. The licence is AGPL-3.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6d18531. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bsl).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.combia-technologies.github.ioFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Edt MCP Yaxunit loads about 2.5k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 906 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from DitriXNew/EDT-MCP at commit 6d18531, republished under its AGPL-3.0 licence (© DitriXNew). 906 words, ~2,532 tokens.
.claude/skills/edt-mcp-yaxunit/SKILL.md (or your agent's skills folder).YAXUnit is a unit-testing framework for 1C:Enterprise (Apache-2.0, bia-technologies). Tests are written in BSL, run by the platform via the RunUnitTests launch parameter, and produce a JUnit report. In this repo they run headless through the MCP tools run_yaxunit_tests / debug_yaxunit_tests.
| Piece | What it is | Where it lives |
|---|---|---|
| EDT plugin (edt-test-runner) | the IDE runner: "Run As… YAXUnit", the test tree, the green/red bar. It does not execute tests itself. | the EDT install (Help → Install New Software) |
Engine YAxUnit.cfe | the test executor + the assertion library (ЮТест/ЮТТесты) + the RunUnitTests handler | loaded as an extension into the infobase |
| Test extension | your modules with the tests | an EDT configuration-extension project in the workspace, deployed into the same infobase |
Common mistake: install only the EDT plugin and expect
run_yaxunit_teststo work. WithoutYAxUnit.cfein the infobase theЮТестengine doesn't resolve at runtime — the run gives an empty/error result.
YAxUnit.cfe (releases) as an extension: Designer/EDT → Extensions → Add → pick the .cfe; in the extension properties clear "Safe mode" and "Protection from dangerous actions" (otherwise the ЮТест export methods are blocked). The configuration does NOT need to be taken off support. The MCP server has NO "attach extension" tool — a human does this (or DESIGNER /LoadCfg -Extension).tests — then run_yaxunit_tests with no filter finds it via the default filter.extensions=["tests"]. Any other name means always passing extensions=["name"].namePrefix, e.g. tests_) — every native object of the extension must start with it.A test module is a native CommonModule in the test extension:
Сервер=Истина (for server tests); NOT Глобальный, NOT ВызовСервера, no re-use. At least one context flag (Сервер or КлиентУправляемоеПриложение).tests_SampleTests).Configuration.mdo with <commonModules>CommonModule.tests_SampleTests</commonModules>.Minimal module:
#Region Public
// YAXUnit finds the test module by the exported ИсполняемыеСценарии() and calls it
// to collect the test set. Each .ДобавитьТест("Method") = an exported procedure below.
Процедура ИсполняемыеСценарии() Экспорт
ЮТТесты.ДобавитьТестовыйНабор("Arithmetic")
.ДобавитьТест("TwoPlusTwoIsFour");
// Parameterization: one method, several input sets.
ЮТТесты.ДобавитьТестовыйНабор("Parameterized")
.ДобавитьТест("SumByParameters")
.СПараметрами(2, 3, 5)
.СПараметрами(0, 0, 0);
КонецПроцедуры
// Hook — runs before each test of the module. Per-test scratch state lives in
// ЮТест.КонтекстТеста() (also КонтекстТестовогоНабора / КонтекстМодуля).
Процедура ПередКаждымТестом() Экспорт
ЮТест.КонтекстТеста().Вставить("Started", Истина);
КонецПроцедуры
Процедура TwoPlusTwoIsFour() Экспорт
ЮТест.ОжидаетЧто(2 + 2).Равно(4);
КонецПроцедуры
Процедура SumByParameters(First, Second, Expected) Экспорт
ЮТест.ОжидаетЧто(First + Second).Равно(Expected);
КонецПроцедуры
#EndRegionOther hooks (by name, all exported, optional): ПередВсемиТестамиМодуля / ПослеВсехТестовМодуля, ПередТестовымНабором / ПослеТестовогоНабора, ПередКаждымТестом / ПослеКаждогоТеста. Registration: .ДобавитьСерверныйТест / .ДобавитьКлиентскийТест for a specific context; .Тег("..."), .ВТранзакции() on a suite/test.
ЮТест.ОжидаетЧто(value [, message])Chain (each method takes an optional final parameter — the check description):
.Равно / .НеРавно / .Больше / .БольшеИлиРавно / .Меньше / .МеньшеИлиРавно;.ЭтоИстина / .ЭтоЛожь / .Заполнено / .НеЗаполнено / .ЭтоНеопределено / .Существует;.ИмеетТип("Число") / .ИмеетТип(Тип("Строка"));.Содержит / .НеСодержит / .НачинаетсяС / .ЗаканчиваетсяНа / .ИмеетДлину(N) / .СодержитСтрокуПоШаблону("regex");.ИмеетДлину(N) / .Содержит(Элемент) / .КаждыйЭлементСодержитСвойство("X");.Свойство("Реквизит") / .Свойство("Товары[0].Номенклатура") / .Объект();ЮТест.ОжидаетЧто(Модуль).Метод("Имя").Параметр(X).ВыбрасываетИсключение("fragment") (or .НеВыбрасываетИсключение()).Unconditional: ЮТест.Упал("why"), ЮТест.Пропустить("reason"). The API is Russian-only (no English aliases).
run_yaxunit_tests — starts a run, polls up to timeout seconds, returns a JUnit-Markdown report (plus report.md/junit.xml on disk). Filters (arrays; families AND-combined, values within a family OR-ed): extensions, modules, tests (format Module.Method), tags. With no filter — default filter.extensions=["tests"]. tags selects by the YAXUnit tags declared with ЮТТесты.Тег(...) — module-, suite- or test-level, case-insensitive, no exclusion syntax.debug_yaxunit_tests — deprecated alias for run_yaxunit_tests(debug=true). It uses the same named-job path: a short start returns the launch handle; otherwise Pending returns jobId for get_job_status. When the handle arrives, call wait_for_break → get_variables / evaluate_expression / step / resume. Pin to one test (tests=["Module.Method"]) for predictability.applicationId attribute — both run_yaxunit_tests and update_database now derive the target from the project instead of failing (Pre-launch preparation failed: Application not found): the launch tools fall back to the project's default application, update_database only to its SINGLE application, refusing when the project has several. If it is refused: run update_database(projectName="TestConfiguration", applicationId=<from get_applications>, confirm=true) explicitly, then run_yaxunit_tests(launchConfigurationName="TestConfiguration Thin Client", updateBeforeLaunch=false).update_database is confirm-preview → the first call returns a preview, then confirm=true is required (this is a destructive infobase operation, IRREVERSIBLE — only on explicit request).update_database) before a run; after changing a test module on disk → clean_project(projectName="TestConfiguration.tests") (refresh from disk) → update_database (deploy) → run_yaxunit_tests.<base>.<extName> (e.g. TestConfiguration.tests) — use this name in clean_project/get_project_errors/get_module_structure. But filter.extensions takes the extension configuration name (tests).Variable 'ЮТест'/'ЮТТесты' is not defined — the engine isn't in the EDT workspace, it resolves at runtime from the loaded .cfe; common-module-type — a BSP-style opinion about a server module's context flags, inapplicable to test modules.timeout (≈30). On Pending, keep the returned jobId and poll get_job_status; do not reconstruct the start arguments to address a known run. A repeated start is only a live duplicate guard, not the polling interface.cancel_job(jobId=...) first. Confirmed YAXUnit cancellation kills the client but does not roll back the infobase; the report is partial or absent. A committed non-YAXUnit job without an owner-declared cancellation capability remains alreadyCommitted.tests/tests — the tests extension (prefix tests_), module tests_SampleTests: 8 cases (equality; a cross-config call Calc.Add from the extension; a call to a sibling extension module tests_MathHelper; subtraction; a string-assert chain; parameterized ×3). Green run: run_yaxunit_tests(launchConfigurationName="TestConfiguration Thin Client", modules="tests_SampleTests") → 8/8 PASSED.
A separate module tests_FailureDemo (1 passing + 1 intentionally failing) verifies that failures are reflected correctly in the report counters. So a run with no filter (the whole extensions=["tests"]) includes that 1 expected fail (Total 10 → 9 passed, 1 failed) — that is by design, not a bug; for a green run filter modules="tests_SampleTests". The full live round-trip e2e validation (pass/fail counters + debug suspend/resume + launch id + profiling) is tests/e2e/tools/test_live_roundtrip.py, gated behind EDT_MCP_LIVE_INFOBASE=1.
© DitriXNew, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/edt-mcp-yaxunit of DitriXNew/EDT-MCP.
Open the folder on GitHubat commit 6d18531
Edt MCP Yaxunit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Edt MCP Yaxunit this skillDitriXNew/EDT-MCP | 296 | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Adding LLM MCP ToolsTriliumNext/Trilium | 38k | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Zizkadb TestZIZKA-AI-SL/ZizkaDB | 130 | — | ~358 | Automated safety check: Pass | Custom licence | |
| MCP Testingadeze/raindrop-mcp | 188 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Live Linear Smoketacticlaunch/mcp-linear | 147 | — | ~251 | Automated safety check: Pass | MIT | |
| Gaia Testingamd/gaia | 1.6k | — | ~8k | Automated safety check: Notes | MIT |
TriliumNext/Trilium
A skill your agent uses when adding, changing, or reviewing an LLM/MCP tool in Trilium (the defineTools definitions under packages/trilium-core/src/services/llm/tools/ —…
ZIZKA-AI-SL/ZizkaDB
Run the full ZizkaDB test suite across all layers — lint, Python unit tests, SDK tests, MCP tests, TypeScript tests, and dashboard build verification.
adeze/raindrop-mcp
MCP Testing Strategies with Vitest, Inspector, and Integration Tests
tacticlaunch/mcp-linear
Run safe live smoke tests for mcp-linear against a real Linear workspace.
amd/gaia
GAIA's multi-tier regression harness — runs unit, integration, and real-world (on-machine) tiers and brings back screenshots, logs, traces, planted-fact retrieval proof, and per-operation timing…
secondsky/sap-skills
This skill should be used when developing SAP UI5 applications, including creating freestyle apps, Fiori Elements apps, custom controls, testing, data binding, OData integration, routing, and…
DitriXNew/EDT-MCP
Autonomous, spec-driven, multi-agent pipeline that takes an EDT-MCP task or issue end-to-end — research → critics → architect → parallel development → review loop → tests → live-stand check →…
DitriXNew/EDT-MCP
How to build the EDT-MCP Eclipse plugin (Tycho/Maven) and run its unit and e2e tests, plus the test conventions for this repo.
DitriXNew/EDT-MCP
How to write/run the AUTOMATED black-box e2e suite (tests/e2e/) that covers every EDT-MCP tool (62 today) against a live server with git-fixture isolation, happy + negative + error-quality coverage…
DitriXNew/EDT-MCP
How to size, write and A/B-test the text of a tool — its description and its inputSchema parameter prose — so that cutting it does not cost call quality, and so that a tool that IS getting called…
DitriXNew/EDT-MCP
How to manually e2e-test each EDT-MCP server tool against a live EDT workbench + TestConfiguration.
DitriXNew/EDT-MCP
Map of the EDT-MCP plugin's target architecture — where the shared helpers live, the layering rules, and the canonical way to do project/metadata/code resolution.
Works with
Categories
How to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools. Edt MCP Yaxunit is an agent skill from DitriXNew/EDT-MCP. How to write and run YAXUnit unit tests for a 1C configuration through 1C:EDT + the EDT-MCP runyaxunittests / debugyaxunittests tools.
Edt MCP Yaxunit fits situations like: writing/running YAXUnit tests; setting YAXUnit up.
Run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a claude-code`. Or copy the skill folder (.claude/skills/edt-mcp-yaxunit in DitriXNew/EDT-MCP) into .claude/skills/edt-mcp-yaxunit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a codex`. Or copy the skill folder (.claude/skills/edt-mcp-yaxunit in DitriXNew/EDT-MCP) into .agents/skills/edt-mcp-yaxunit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add DitriXNew/EDT-MCP --skill edt-mcp-yaxunit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/edt-mcp-yaxunit, .gemini/skills/edt-mcp-yaxunit, .github/skills/edt-mcp-yaxunit and .opencode/skills/edt-mcp-yaxunit in your project.
SKILL.md names no scripts, command-line tools or credentials: Edt MCP Yaxunit is instructions for the agent only.
SKILL.md names 2 domains. As links in the text: github.com and bia-technologies.github.io. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Edt MCP Yaxunit is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Edt MCP Yaxunit: Adding LLM MCP Tools (TriliumNext/Trilium, 38k stars), Zizkadb Test (ZIZKA-AI-SL/ZizkaDB, 130 stars), MCP Testing (adeze/raindrop-mcp, 188 stars) and Live Linear Smoke (tacticlaunch/mcp-linear, 147 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
DitriXNew (a GitHub user) maintains it in DitriXNew/EDT-MCP, which has 296 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 7, 2026.
Source: DitriXNew/EDT-MCP on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.