Skip to content

Priority — TypeScript Compiler Intelligence

by semanticreader.dev · remote · no sign-in to list tools · v0.3.0 · published by dev.semanticreader

Stateless TS/JS compiler facts for agents: references, imports, impact. No repo index or OAuth.

Changes · 1

12 tools: 1 change things and 11 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http semantic-reader https://semanticreader.dev/mcp/registry

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "open_snapshot" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "open_snapshot" says "open": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

12 tools

Changes things 1Claude Code: ask
  • open_snapshotStore supplied source files ephemerally and return an opaque snapshot handle for reuse.1 finding

    Why it is in this group

    • The name "open_snapshot" says "open": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "open_snapshot" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "open_snapshot" says "open": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Store supplied source files ephemerally and return an opaque snapshot handle for reuse.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Only reads 11Claude Code: allow
  • analyze_impactReturn bounded reverse-caller impact for one exact compiler symbol.No findings

    Why it is in this group

    • The name "analyze_impact" says "analyze": a word for reading.
    Description, as the server wrote it
    Return bounded reverse-caller impact for one exact compiler symbol.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_referencesReturn semantic static references to one exact compiler symbol.No findings

    Why it is in this group

    • The name "find_references" says "find": a word for reading.
    Description, as the server wrote it
    Return semantic static references to one exact compiler symbol.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • find_symbolResolve a symbol name to deterministic ranked compiler symbol candidates; safely reports ambiguity.No findings

    Why it is in this group

    • The name "find_symbol" says "find": a word for reading.
    Description, as the server wrote it
    Resolve a symbol name to deterministic ranked compiler symbol candidates; safely reports ambiguity.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_capabilitiesReturn Semantic Reader capabilities, limits, billing and discovery facts.No findings

    Why it is in this group

    • The name "get_capabilities" says "get": a word for reading.
    Description, as the server wrote it
    Return Semantic Reader capabilities, limits, billing and discovery facts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_definitionReturn the compiler-resolved declaration for one supplied-file symbol.No findings

    Why it is in this group

    • The name "get_definition" says "get": a word for reading.
    Description, as the server wrote it
    Return the compiler-resolved declaration for one supplied-file symbol.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_diagnosticsReturn bounded TypeScript syntactic and semantic diagnostics for supplied files.No findings

    Why it is in this group

    • The name "get_diagnostics" says "get": a word for reading.
    Description, as the server wrote it
    Return bounded TypeScript syntactic and semantic diagnostics for supplied files.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_importersReturn supplied files that statically import one target file.No findings

    Why it is in this group

    • The name "get_importers" says "get": a word for reading.
    Description, as the server wrote it
    Return supplied files that statically import one target file.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_importsReturn static imports made by one supplied file.No findings

    Why it is in this group

    • The name "get_imports" says "get": a word for reading.
    Description, as the server wrote it
    Return static imports made by one supplied file.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_symbol_contextReturn bounded definition/callers/callees context; references or impact request paid depth.No findings

    Why it is in this group

    • The name "get_symbol_context" says "get": a word for reading.
    Description, as the server wrote it
    Return bounded definition/callers/callees context; references or impact request paid depth.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_typeReturn TypeScript type facts and call/construct signatures for one declaration.No findings

    Why it is in this group

    • The name "get_type" says "get": a word for reading.
    Description, as the server wrote it
    Return TypeScript type facts and call/construct signatures for one declaration.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • query_codeFree navigation for symbols, callers, callees or function facts.No findings

    Why it is in this group

    • The name "query_code" says "query": a word for reading.
    Description, as the server wrote it
    Free navigation for symbols, callers, callees or function facts.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http semantic-reader https://semanticreader.dev/mcp/registry

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__semantic-reader__get_capabilities",
      "mcp__semantic-reader__find_symbol",
      "mcp__semantic-reader__get_definition",
      "mcp__semantic-reader__get_type",
      "mcp__semantic-reader__get_diagnostics",
      "mcp__semantic-reader__get_symbol_context",
      "mcp__semantic-reader__query_code",
      "mcp__semantic-reader__find_references",
      "mcp__semantic-reader__get_imports",
      "mcp__semantic-reader__get_importers",
      "mcp__semantic-reader__analyze_impact"
    ],
    "ask": [
      "mcp__semantic-reader__open_snapshot"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as semantic-reader. Review it before you use it.