js-ts-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JS_TS_MCP_CACHE_DIR | No | Overrides the cache directory used for the SQLite cache and search index. | ~/.cache/js-ts-mcp |
| JS_TS_MCP_POLITENESS_DISABLED | No | Set to 1 to turn off robots.txt, the throttle, retries, conditional GET and the host allowlist at once. Use at your own risk. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Check that the server is up and report its version. |
| js_docsA | Fetch an MDN Web Docs or TypeScript handbook page as markdown.
On failure returns {"ok": False, "error", "suggestion"} — try js_search() to find the exact page, or use the mdn:/ts: prefix. |
| js_searchA | Search MDN Web Docs and the TypeScript handbook by name/path. Ranks entries of the cached search index (every query token must match; exact name > startswith > substring in name > substring in path). Returns {"ok": True, "query", "results": [{source, name, path, score}], "index_count", "stale"}. When the index is unavailable returns {"ok": False, "error", "suggestion"} — retry later. |
| npm_packageA | Look up a package on the npm registry (metadata + readme). Returns name, resolved version, description, license, homepage, repository
URL, keywords, engines, dependencies and the readme as markdown. When
npm no longer puts the README in the packument — for modern packages the
On failure returns {"ok": False, "error", "suggestion"}. |
| js_statusA | Real health check: search index, local cache and upstream endpoints. The Probes developer.mozilla.org, typescriptlang.org and registry.npmjs.org with a light GET (8s timeout each, through the politeness layer — no curl subprocess). Never raises; returns {"server", "version", "checks": {...}, "politeness": {...}, "overall": "ok"|"degraded"|"error"} where overall is "error" when the search index is unavailable, "degraded" when any check fails, and "ok" otherwise. The "politeness" block holds the layer's counters (robots cache state, throttle delays, budget use, conditional-GET hits) and is not a check: it never changes "overall". |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
js_docs/js_search and npm_package have clearly distinct purposes, but health_check and js_status overlap in concept; the description of js_status as the 'Real health check' helps, though an agent could still hesitate over which to call first.
Mostly consistent snake_case with domain prefixes (js_*, npm_*), but health_check lacks a prefix and breaks the js_ family pattern, a minor deviation.
Five tools is well-scoped for a focused docs/registry server: search, fetch, package lookup, and health probes are each justified without bloat.
The surface covers docs search/fetch and exact npm package lookup, but there is no npm package search by keyword or broader registry discovery, a notable gap for a js/ts knowledge server with no general web fallback.