Type Atlas
NPM · @TYPE-ATLAS/MCP · SCANNED SEP 21
Editor-grade TypeScript, Markdown, and JSON intelligence for coding agents.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security99
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 32 of 128 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to tyler-mitchell/type-atlas). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 23 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability67
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 9008 tokens (~225/item across 40 items; 40 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management94
- Stability check failed: the tool surface changed between 0.5.1 and 1.0.0: 2 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_unused_code" implies "remove" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 41 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the Type Atlas MCP server?
Type Atlas runs locally as an npm package, launched with npx -y @type-atlas/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @type-atlas/mcp
claude mcp add tyler-mitchell-type-atlas -- npx -y @type-atlas/mcp
{
"mcpServers": {
"tyler-mitchell-type-atlas": {
"command": "npx",
"args": [
"-y",
"@type-atlas/mcp"
]
}
}
} {
"servers": {
"tyler-mitchell-type-atlas": {
"command": "npx",
"args": [
"-y",
"@type-atlas/mcp"
]
}
}
} codex mcp add tyler-mitchell-type-atlas -- npx -y @type-atlas/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"tyler-mitchell-type-atlas": {
"type": "local",
"command": [
"npx",
"-y",
"@type-atlas/mcp"
],
"enabled": true
}
}
} openclaw mcp add tyler-mitchell-type-atlas --command npx --arg -y --arg @type-atlas/mcp
mcp_servers:
tyler-mitchell-type-atlas:
command: "npx"
args: ["-y", "@type-atlas/mcp"] {
"McpServers": {
"tyler-mitchell-type-atlas": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@type-atlas/mcp"
]
}
}
} assistant mcp add tyler-mitchell-type-atlas -t stdio -c npx -a -y @type-atlas/mcp
{
"mcpServers": {
"tyler-mitchell-type-atlas": {
"command": "npx",
"args": [
"-y",
"@type-atlas/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 91 to 94.
- 19 Sept 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 97 to 87.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 94.
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 84 to 87.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 77 to 80.
- 12 Sept 26 −3
No change was recorded against any check on this day. Stability & Change Management went from 97 to 77.
- 10 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 94.
- 8 Sept 26 −1
No change was recorded against any check on this day. Stability & Change Management went from 96 to 87.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@type-atlas/mcp@1.0.0
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | tyler-mitchell/type-atlas |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/tyler-mitchell/type-atlas/.github/workflows/release.yml@refs/heads/release |
| Rekor log index | 2634493981 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:85d4656258c4d1cf363b57f5526855a144b123f590c1a5b19bbb3b2535c8017dec7f1c6e02a0d6731a50f3589ad81941f442086936f89b1984ed8a992 |
Background: How many MCP packages publish verified provenance →
Dependencies 128 packages
| Packages resolved | 128 |
|---|---|
| Stale | 30 |
| No linked repository | 2 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_missing_imports Add missing imports ~148
Return TypeScript's source-wide missing-import fixes as a Codex patch. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| insertSpaces | boolean | – | Use spaces rather than tabs in TypeScript code-action edits. |
| tabSize | integer | – | Indentation width used by TypeScript code actions. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
callees Callees ~159
Show which callable symbols are invoked directly by the function at a position, grouped with exact call sites. Use this instead of references when tracing outgoing execution flow.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
callers Callers ~164
Show which functions call the callable symbol at a position, across every project loaded this session, grouped by caller with exact call sites. Use this instead of references when tracing incoming execution flow.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
code_actions Code actions ~236
Discover quick fixes and refactors for a range, or resolve a displayed action to a Codex patch. Stable source-wide actions have dedicated tools. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| action | integer | – | Resolve the corresponding action number from discovery. |
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| includeUnavailable | boolean | – | Include actions that the language service marks unavailable. |
| insertSpaces | boolean | – | Use spaces rather than tabs in TypeScript code-action edits. |
| only | – | – | Restrict discovery to quick fixes or refactors. |
| range | object | yes | Source range for action discovery. For refactors, prefer a zero-length cursor at the target expression unless the action requires a selection. |
| tabSize | integer | – | Indentation width used by TypeScript code actions. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
completions Completions ~234
Return a bounded completion page at a source position. Set resolve to include upstream details for that page or raw to return every unresolved candidate.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| limit | integer | – | Maximum results returned in this page. |
| offset | integer | – | Number of leading results to skip before this page. |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| raw | boolean | – | Return every result instead of one page. Potentially very large in a monorepo; prefer paging. |
| resolve | boolean | – | Resolve documentation and insert details for the returned page. Costs an extra request per candidate. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
compose Compose ~1,094
Answer several questions about code in one call, laid out how you want. `{% ask %}` declares data and renders nothing; the body you write is the answer. Every ask binds `.text`, already rendered exactly as that tool renders it. {% ask "references" as="uses" file="src/x.ts" symbol="foo" /%} {% $uses.text %} Every ask takes `as`. Positional asks take `file` and either `symbol` or one-based `line`+`character`. File and workspace asks take only the attributes shown below. Add `each=<an earlier bind, or a literal list>` to run it once per item, max 10 → { items, total, of, failureCount, text }, each item also carrying `title`. ASKS — further attributes → what it binds besides `text` inspect_symbol(includeSource?, includeTypeDefinitions?, limit?=20) → { symbol, documentation, mentions, callers, callees, implementations, typeDefinitions } hover() → { } subject() → { name, kind, file, at } references(tests?: "only" | "exclude", limit?=50) → { total, shown, beyond, any, files, paths, projects, groups } definitions(limit?=50) → { total, shown, beyond, any, files, paths, hits } type_definitions(limit?=50) → as definitions implementations(limit?=50) → as definitions // a zero can mean unsearched; text says which file_references(limit?=50) → as references // who imports this module callers() → { name, total, any, groups, standardLibrary, projects } // loaded projects callees() → { name, total, any, groups, standardLibrary } // owning project document_symbols(depth?, raw?) → { total, tree } diagnostics(files?: (path | place)[] <= 5) → { total, any, checked, of, groups } read_file(from?, to?) → { lines, startLine } list_files(directory?, glob?: string[], depth?, limit?=500, changed?) → { files, total, any } search_code(query, directory?, limit?=5, snippetLines?=10) → { hits, of, tot…
| Name | Type | Req | Description |
|---|---|---|---|
| document | string | yes | Markdoc source: ask declarations followed by a body composing what they bind. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
definitions Definitions ~134
Return definition locations at a position.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
diagnostics Diagnostics ~157
Report diagnostics for the TypeScript projects you have touched — the compiler's own whole-program check, run once per project.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum diagnostics returned. |
| offset | integer | – | First diagnostic returned. |
| project | string | – | Which TypeScript project to check, named by its directory or by any path inside it. Only needed when nothing has changed yet; the changed files choose the project otherwise. |
| scope | – | – | changed (files written since this workspace opened, the default) or project (every file in the projects owning them). |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
document_highlights Document highlights ~138
Return same-document semantic usages at a position.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
document_links Document links ~104
Return resolved links discovered by the active language service in a Markdown or JSON document.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
document_symbols Document symbols ~168
Return the top-level document outline and source ranges. Set depth to include nested symbols or raw to return the complete hierarchy.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Levels of nested symbols to include. Defaults to top-level declarations only, which is usually what an agent wants. |
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| raw | boolean | – | Return the complete symbol hierarchy, including object properties and anonymous callbacks. Potentially far larger than the source file. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
explore_symbol Explore symbol ~289
Combine exact definitions, types, implementations, callers, calls, and references for one symbol with structurally similar code. Verified relationships and similarity are separate.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | – | Workspace-relative directory to search, not a file. Narrows results to that subtree; the workspace is indexed either way, so scoping costs nothing. |
| file | string | yes | Workspace-relative or absolute file path. |
| includeSource | boolean | – | Include the complete selected symbol body. |
| includeTypeDefinitions | boolean | – | Include callable type-definition targets. |
| limit | integer | – | Maximum verified relationships shown per section (1-100). |
| position | object | – | Source position of the symbol, as a one-based { line, character }. Pass either this or symbol, not both. |
| relatedLimit | integer | – | Maximum retrieval matches returned (1-20). |
| snippetLines | integer | – | Source lines under each similar-code match (0-30). Defaults to pointer rows — location and symbol only — since similarity is a lead to follow, not a preview; raise it to read the matches inline. |
| symbol | string | – | Exact document-symbol name in the file. Pass either this or position, not both. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
file_references File references ~171
Return a bounded page of module references from the TypeScript project selected by file. Set raw to return every project-scoped reference.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| limit | integer | – | Maximum results returned in this page. |
| offset | integer | – | Number of leading results to skip before this page. |
| raw | boolean | – | Return every result instead of one page. Potentially very large in a monorepo; prefer paging. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
find_successor Find successor ~175
Establish what happened to a symbol that no longer resolves: whether it still exists somewhere, or was withdrawn, and what currently occupies its role. Use this before concluding a capability is gone — a name that returns nothing from search is the case this answers, not evidence of removal.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| limit | integer | – | Maximum retrieval matches returned (1-20). |
| module | string | – | The module it was imported from, when it had one. Its current surface is the strongest evidence of what replaced it. |
| name | string | yes | The symbol name that no longer resolves. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
fix_all Fix all ~148
Return TypeScript's source-wide fix-all action as a Codex patch when applicable. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| insertSpaces | boolean | – | Use spaces rather than tabs in TypeScript code-action edits. |
| tabSize | integer | – | Indentation width used by TypeScript code actions. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
format_document Format document ~158
Return a Codex patch containing document-formatting edits. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| insertFinalNewline | boolean | – | Ensure the file ends with a newline. |
| insertSpaces | boolean | – | Indent with spaces rather than tabs. |
| tabSize | integer | – | Columns per indentation level. |
| trimFinalNewlines | boolean | – | Collapse repeated trailing newlines at the end of the file. |
| trimTrailingWhitespace | boolean | – | Remove trailing whitespace from every line. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
hover Hover ~136
Return type and documentation hover at a position.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
impact Impact ~143
Experimental: weigh a change to the symbol at a position — uses in loaded projects, grouped by package, with how many sit in tests. Composed for the decision, not the enumeration; references lists the sites themselves.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
implementations Implementations ~134
Return implementation locations at a position.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
inlay_hints Inlay hints ~141
Return inline type and parameter hints for a source range.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| range | object | yes | Source range as { start, end }, each a one-based { line, character }. Use a zero-length range (start equal to end) to act at a cursor. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
inspect_symbol Inspect symbol ~318
Return a bounded working view of a symbol: type and documentation, exact definition/body ranges, distinct implementations and types, callers, direct calls, remaining references, project scope, and optional source. Select by exact file-local symbol name or source position.
| Name | Type | Req | Description |
|---|---|---|---|
| compactExternalCalls | boolean | – | Summarize dependency and JavaScript runtime call targets while workspace calls retain exact ranges. Pass false for complete external call details. |
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| includeSource | boolean | – | Include the complete symbol body. |
| includeTypeDefinitions | boolean | – | Include callable type-definition targets. |
| limit | integer | – | Maximum callers, callees, references, and ambiguity candidates shown per section. |
| position | object | – | Source position of the symbol, as a one-based { line, character }. Pass either this or symbol, not both. |
| scope | – | – | Projects searched: workspace (every project loaded this session, default) or project (only the file's owning project). The result states which it used. |
| symbol | string | – | Exact document-symbol name in the file, such as createServer. Pass either this or position, not both. Ambiguous matches are returned as candidates. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
investigate_code Investigate code ~257
Retrieve ranked code for an implementation question and attach verified relationships to the exact identifier match or a bounded set of distinct candidates. Structural similarity is optional and remains separate.
| Name | Type | Req | Description |
|---|---|---|---|
| candidateLimit | integer | – | Maximum retrieval matches returned (1-20). |
| directory | string | – | Workspace-relative directory to search, not a file. Narrows results to that subtree; the workspace is indexed either way, so scoping costs nothing. |
| includeSource | boolean | – | Include complete source for the inspected symbol or symbols. |
| inspectionLimit | integer | – | Maximum distinct retrieved candidates given verified relationships (1-5). Exact identifier matches inspect only that symbol. |
| question | string | yes | Implementation question or behavior to investigate. |
| relatedLimit | integer | – | Optional structurally similar results derived from the first inspected candidate (0-20). |
| relationshipLimit | integer | – | Maximum verified relationships shown per section (1-100). |
| snippetLines | integer | – | Source lines included for each retrieval match (0-30). Read the file at a match for more. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
list_files List files ~530
Show one bounded workspace-relative file tree rooted at the selected directory, with directories before files. Rows carry `git status` inline with editor-standard letters — `· M +2 -1`, `· R old.ts →`, `· U`, `· 2 changed` on directories — so one call answers structure, reading cost, and working-tree state together; no separate git call is needed to see what changed. Results honor .gitignore, omit dependency and VCS internals, and treat Git submodules as separate workspaces by default.
| Name | Type | Req | Description |
|---|---|---|---|
| changed | boolean | – | List only paths git reports changed — the whole working-tree delta as one tree, at any depth, without the clean rows around it. depth, glob, and expand do not apply. |
| depth | integer | – | Directory levels to include. Defaults to 10 with glob and 1 otherwise. |
| directory | string | – | Workspace-relative directory to list. |
| expand | object | – | Subtrees to open deeper than the shared depth, in place, within the one tree — like expanding folders in a file explorer. Keys are paths relative to `directory`; values are a depth or an options obje… |
| git | boolean | – | Mark git changes with the editor-standard badge letters: `· M +2 -1` modified, `· A +8` added (staged), `· U` untracked, `· R old.ts →` renamed, `· C` conflicted, `· D -12` deleted (ghost rows for de… |
| glob | array | – | One or more OR-combined Picomatch patterns relative to the selected directory. |
| includeHidden | boolean | – | Include paths whose names begin with a dot. |
| includeIgnored | boolean | – | Include files matched by applicable .gitignore files. |
| includeSubmodules | boolean | – | Descend into Git submodules instead of treating them as separate workspaces. |
| limit | integer | – | Maximum files or directories returned. |
| loc | boolean | – | Suffix each file with its line count (`· 244 loc`). |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
list_module_exports Inspect module ~326
Inspect the usable module surface visible from an importing TypeScript file. Returns runtime signatures by default, declared package subpaths at package roots, nested runtime paths on request, and exported types or their members as opt-ins.
| Name | Type | Req | Description |
|---|---|---|---|
| fromFile | string | yes | Workspace-relative or absolute importing file that determines the exact TypeScript project and package versions. |
| includeDetails | boolean | – | Resolve the displayed exports to include signatures and declared shapes. |
| includeDocs | boolean | – | Include upstream documentation for the displayed exports. |
| includeSubpaths | boolean | – | Include declared importable subpaths when inspecting a package root. |
| limit | integer | – | Maximum exports returned. |
| module | string | yes | Module specifier to inspect, such as react, @scope/package, or ./local-module.js. |
| offset | integer | – | Zero-based offset into the completion results. |
| path | array | – | Nested member path to inspect, such as ["d"], ["default"], or ["device"] with an exported type. |
| query | string | – | Optional case-insensitive text filter over Volar's completion labels. |
| surface | – | – | Runtime exports by default; use all to include top-level type exports. Nested paths are runtime surfaces. |
| type | string | – | Module-scoped exported type expression whose instance members to inspect, such as TgpuRoot or TgpuBuffer<any>. Type-only surfaces are opt-in. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
occurrences Occurrences ~213
Find exact identifiers or expressions without knowing their files. Identifier queries resolve semantic references; expression queries match AST structure and receive Volar annotations. Use search_code for meaning-based retrieval.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Maximum semantic references returned across every resolved symbol. |
| offset | integer | – | Number of leading semantic references to skip across every resolved symbol. |
| path | string | – | Workspace-relative file or directory that bounds candidates and returned uses. |
| paths | array | – | Several files or directories to search together. Pass path or paths. |
| queries | array | – | Several exact identifiers or expressions to resolve in one investigation. |
| query | string | – | One exact identifier or expression. Identifiers resolve semantic references; expressions match syntax structurally and receive semantic annotations. |
| symbolLimit | integer | – | Maximum distinct canonical symbols inspected across every requested name. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
organize_imports Organize imports ~146
Return the TypeScript organize-imports action as a Codex patch. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| insertSpaces | boolean | – | Use spaces rather than tabs in TypeScript code-action edits. |
| tabSize | integer | – | Indentation width used by TypeScript code actions. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
project_config Project configuration ~71
Return the TypeScript configuration selected for a source file.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
quorl Quorl ~186
Expand the transitive reference closure of a symbol, breadth-first, reporting every site with its source line and the declaration enclosing it, plus the frontier that was not expanded. Use before removing or replacing something, when you need the whole blast radius rather than one hop.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | How many hops of enclosing declarations to follow. |
| file | string | yes | Workspace-relative or absolute file path. |
| limit | integer | – | Maximum declarations expanded before the rest are reported as a frontier. |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
read_file Read files ~272
Read one or more UTF-8 text files, including source, Markdown, and JSON, with stable line numbers. Pass every path in one call rather than calling repeatedly. Function bodies fold to their signatures by default; startLine, endLine, and fold apply to every path in the call.
| Name | Type | Req | Description |
|---|---|---|---|
| endLine | integer | – | Last inclusive 1-based source line, for entries that do not set their own. |
| file | array | yes | One or more files to read together: a path, or { path, startLine, endLine, fold } to bound a single file. Mixing both is allowed, as in ["a.ts", { "path": "b.ts", "startLine": 1, "endLine": 40 }]. |
| fold | boolean | – | Fold function bodies to their signatures, for entries that do not set their own. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| startLine | integer | – | First 1-based source line, for entries that do not set their own. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
references References ~249
Return a bounded page of reference locations, across every project loaded this session unless scope narrows it. Set raw to return the complete scope instead of one page.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| limit | integer | – | Maximum results returned in this page. |
| offset | integer | – | Number of leading results to skip before this page. |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| raw | boolean | – | Return every result instead of one page. Potentially very large in a monorepo; prefer paging. |
| scope | – | – | Projects searched: workspace (every project loaded this session, default) or project (only the file's owning project). The result states which it used. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
related_code Related code ~206
Find structurally similar code for a source line and anchor each match to an exact language-server symbol. Similarity is not a call, reference, or runtime relationship.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | – | Workspace-relative directory to search, not a file. Narrows results to that subtree; the workspace is indexed either way, so scoping costs nothing. |
| file | string | yes | Workspace-relative or absolute file path. |
| includeTypes | boolean | – | Include hover types and documentation for every match. |
| limit | integer | – | Maximum retrieval matches returned (1-20). |
| line | integer | yes | One-based source line from a search result or known location. |
| snippetLines | integer | – | Source lines included for each retrieval match (0-30). Read the file at a match for more. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
remove_unused_code Remove unused code ~147
Return TypeScript's source-wide unused-code removal as a Codex patch. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| insertSpaces | boolean | – | Use spaces rather than tabs in TypeScript code-action edits. |
| tabSize | integer | – | Indentation width used by TypeScript code actions. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
rename_files Rename files ~95
Return a Codex patch that moves files and updates affected references. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | One or more { from, to } file moves applied together, so references are updated across the whole set. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
rename_symbol Rename symbol ~140
Return a Codex patch for a TypeScript-project symbol rename at a source position. The MCP does not modify files.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| newName | string | yes | New identifier for the symbol at that position. |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
search_code Search code ~195
Find code by behavior or concept and anchor each match to an exact language-server symbol. The first search of a repository builds its index and takes seconds; later searches answer in milliseconds.
| Name | Type | Req | Description |
|---|---|---|---|
| directory | string | – | Workspace-relative directory to search, not a file. Narrows results to that subtree; the workspace is indexed either way, so scoping costs nothing. |
| includeTypes | boolean | – | Include hover types and documentation for every match. |
| limit | integer | – | Maximum retrieval matches returned (1-20). |
| query | string | yes | Natural-language behavior, concept, or code to find. |
| snippetLines | integer | – | Source lines included for each retrieval match (0-30). Read the file at a match for more. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
search_dependency_code Search dependency code ~250
Search installed package code and its matching public runtime API without indexing all of node_modules. Use path for a known namespace or type for instance and chained methods. The importing file selects the exact package versions visible to that project.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| limit | integer | – | Maximum retrieval matches returned (1-20). |
| package | array | yes | One to ten installed package names, resolved from the importing file. |
| path | array | – | Nested runtime export path to search, such as ["Effect"] or ["default"]. Defaults to the top-level exports. |
| query | string | yes | Behavior, concept, or identifier to find in package code. |
| snippetLines | integer | – | Source lines included for each retrieval match (0-30). Read the file at a match for more. |
| surface | – | – | Runtime exports by default; use all when type-only exports are relevant. |
| type | string | – | Exported type whose instance or chained methods should be searched. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
selection_ranges Selection ranges ~166
Return the nested structural ranges an editor expands through from one or more source positions.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | – | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| positions | array | – | Source positions to inspect together, each a one-based { line, character }. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
signature_help Signature help ~138
Return overload and parameter information at a call site.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
type_definitions Type definitions ~137
Return type-definition locations at a position.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| includeDiagnostics | – | – | One of: summary (one complete diagnostic plus file totals), verbose (the full report), off (omit diagnostics). |
| position | object | yes | Source position to inspect, as { line, character }. Both are one-based, matching what an editor displays. Point at the symbol name itself, not the line start. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
workspace_symbols Workspace symbols ~187
Search symbols across TypeScript projects activated in this workspace session. Potentially expensive in large monorepos: each call may search many project files, and limit only bounds returned output. Use document_symbols when the file is known; avoid parallel or repeated speculative searches.
| Name | Type | Req | Description |
|---|---|---|---|
| file | string | yes | Workspace-relative or absolute file path. |
| limit | integer | – | Maximum results returned; this does not reduce the underlying workspace search. |
| offset | integer | – | Number of leading results to skip before this page. |
| query | string | yes | Use a specific symbol name; avoid broad speculative queries in large workspaces. |
| raw | boolean | – | Return every matching symbol; potentially very large in monorepos. |
| workspace | string | yes | Repository root. This selects the language-server session, so use one stable root per repository rather than a subdirectory. Relative paths resolve from the MCP process working directory. |
No output schema declared.
No examples provided.
What is the Type Atlas MCP server?
Type Atlas is an MCP server listed in the public MCP registry as io.github.tyler-mitchell/type-atlas. Editor-grade TypeScript, Markdown, and JSON intelligence for coding agents. This page covers its npm package (@type-atlas/mcp).
Is the Type Atlas MCP server safe to use?
Type Atlas scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Type Atlas MCP server expose?
Type Atlas exposes 40 tools: read_file, list_files, diagnostics, document_links, document_symbols, and 35 more. Their descriptions and schemas cost roughly 8,460 tokens of context every time the server is loaded.
Is the Type Atlas MCP server still maintained?
Type Atlas is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Type Atlas MCP server under?
Type Atlas declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.