Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add xberg-io/tree-sitter-language-pack --skill using-the-mcp-servergit clone --depth 1 https://github.com/xberg-io/tree-sitter-language-packWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/xberg-io/tree-sitter-language-pack/using-the-mcp-server)<a href="https://agentmods.dev/skills/xberg-io/tree-sitter-language-pack/using-the-mcp-server"><img src="https://agentmods.dev/badge/skills/xberg-io/tree-sitter-language-pack/using-the-mcp-server/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/xberg-io/tree-sitter-language-pack/using-the-mcp-server"><img src="https://agentmods.dev/badge/skills/xberg-io/tree-sitter-language-pack/using-the-mcp-server.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00062 | $0.00746 |
| Opus 5 | $0.00031 | $0.00373 |
| Sonnet 5 | $0.00012 | $0.00149 |
| Haiku 4.5 | $0.00006 | $0.00075 |
Grade A, and why
using-the-mcp-server scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 73 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Using the MCP Server
The tree-sitter-language-pack MCP server exposes ts-pack's parsing and
code-intelligence capabilities as MCP tools, so an MCP-compatible client (Claude
Code, Claude Desktop) can parse source, extract structure, and detect languages
directly, with no CLI invocation or glue code.
How it runs in this plugin
The plugin auto-registers the server. Its command is the bundled launcher
scripts/mcp-launch.sh, which execs ts-pack mcp. On first run the launcher
resolves a ts-pack binary: it reuses one already on PATH or cached in the
plugin's bin/, then tries npx/uvx, then Homebrew, then downloads a prebuilt
from the tool's latest GitHub release. Override the channel with
TS_PACK_LAUNCHER=auto|npx|uvx|brew|download.
The mcp subcommand ships in a recent release of the tool. If an older
ts-pack is already on PATH, it may not expose mcp yet — upgrade the binary
(brew upgrade, re-download, or rebuild) to pick it up.
To run it manually:
ts-pack mcp # for Claude Code / Claude Desktop (stdio)
The tools
Parsing and code intelligence:
- parse — syntax tree from
source; requires an explicitlanguage, with optionalformat(sexporjson). It does not detect language from a path — usedetect_languagefirst if you only have a path. - process — code intelligence: structure, imports, exports, symbols, docstrings, comments, diagnostics, chunks. Use
allflag to enable all features. - detect_language — identify language by
pathorcontent(those are the only two parameters; extension detection is implicit inpath).
Language and cache management:
- list_languages — available, downloaded, or manifest languages; optional filter by name.
- info — show language availability and cache status.
- download — prefetch parsers: specific languages, language groups, all, or fresh updates.
- cache_dir — return the cache directory path.
- clean_cache — remove all cached parsers.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 73 lines · 62 tokens per session scan A a98b8b71fbbc
using-the-mcp-server is a skill published in the GitHub repository xberg-io/tree-sitter-language-pack (464 stars, last pushed 3d ago), licensed MIT. It adds 62 tokens to every session and 746 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
crawlberg
Crawl, scrape, and convert websites to Markdown using the local crawlberg CLI and its MCP server. Use when the user wants to fetch a page, follow links across a domain, enumerate URLs, or drive a real browser. Covers installation, the subcommands (scrape, crawl, map, interact, batch-scrape, batch-crawl, download…
automating-the-browser
Use when extracting a page needs scripted interaction first — click, type, press a key, scroll, wait, screenshot, or run JS before capturing the DOM. Covers crawlberg interact URL --actions with the real action schema, result shape, limits, and external-CDP options.
crawling-a-site
Use when the user wants to follow links across a domain and capture every reachable page as Markdown. Covers crawlberg crawl with depth, page caps, concurrency, rate limiting, domain scoping, robots, and output selection.
headless-fallback
Use when a static fetch returns nothing useful and the page needs a real browser. Covers --browser-mode auto|always|never, external CDP via --browser-endpoint, symptoms of JS-only pages and WAF blocks, and the performance cost.
scraping-html-to-markdown
Use when the user wants a single page rendered as clean Markdown plus structured metadata. Covers crawlberg scrape URL, JSON vs Markdown output, what metadata is returned, and how to handle JS-heavy pages.
serving-the-api
Use when the user wants a long-running HTTP service for scrape/crawl/map instead of one-shot CLI calls or the MCP server — for example wiring crawlberg into other apps over REST. Covers crawlberg serve, the Firecrawl-v1-compatible endpoints, --host/--port, and when to prefer it.