NEAT
NPM · @NEAT.IS/MCP
A live graph of your running system, code fused with OTel runtime, that your agent queries over MCP.
Available components
Last scanned (6 hours ago)
Scores higher than 45% of npm servers
Category Code Search and Documentation
Recent critical change
CVE-2026-41242 affects this package (11 Oct 2026). See the changelog before you install this server.
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 Security81
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 316 of 320 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 13 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3852 tokens (~154/item across 25 items; 25 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 Management63
- Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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 Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 25 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
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.
- 5 Nov 26 +73
- CVE-2026-114113 affects this package: high ▼ security
- CVE-2026-44294 affects this package: high ▼ security
- CVE-2026-44289 affects this package: high ▼ security
- CVE-2026-44292 affects this package: high ▼ security
- CVE-2026-44288 affects this package: high ▼ security
- CVE-2026-114111 affects this package: high ▼ security
- CVE-2026-45740 affects this package: high ▼ security
- CVE-2026-118764 affects this package: high ▼ security
- CVE-2026-44291 affects this package: high ▼ security
- CVE-2026-54269 affects this package: high ▼ security
- CVE-2026-44293 affects this package: high ▼ security
- CVE-2023-54404 affects this package: high ▼ security
- CVE-2026-48712 affects this package: high ▼ security
- CVE-2026-44290 affects this package: high ▼ security
- CVE-2026-114112 affects this package: high ▼ security
- CVE-2026-41242 no longer affects this package ▲ security
- Known CVEs: CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. security
- Score status: failed → scored ▲ functional
- Stability: pass → 0.63 functional
- 20 Oct 26 0
- Package version: 0.10.6 → 0.10.9 functional
- 18 Oct 26 −73
- Known CVEs: unverified → fail ▼ critical
- Score status: scored → failed ▼ critical
- Dependency health: unverified → partial ▲ functional
- 17 Oct 26 +73
- Known CVEs: fail → unverified ▼ security
- Injection markers: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- Tool safety: Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Schema quality: 3388 → 3852 ▼ functional
- Dependency health: partial → unverified ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Score status: failed → scored ▲ functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 0.10.6 → 0.10.9 functional
- Package version: 0.10.4 → 0.10.9 functional
- 16 Oct 26 0
- Package version: 0.10.4 → 0.10.6 functional
- 14 Oct 26 0
- Stability: Stability not yet verified: this package could not be installed in a clean environment, so we have no schema to compare. security
- Tool safety: Tool safety not yet verified: this package could not be installed in a clean environment, so we have no tool text to scan. security
- Schema quality: Schema quality not yet verified: this package could not be installed in a clean environment, so we have no schema to assess. functional
- Capabilities: Protocol version not yet verified: this package could not be installed in a clean environment, so we never saw its MCP handshake. functional
- Tool coverage: Tool coverage not yet verified: this package could not be installed in a clean environment, so we have no tool definitions to assess. functional
- 13 Oct 26 0
- Security disclosure: unverified → pass ▲ functional
- Package version: 0.10.4 → 0.10.6 functional
- 11 Oct 26 −82
- CVE-2026-41242 affects this package: high ▼ critical
- Known CVEs: pass → fail ▼ critical
- Score status: scored → failed ▼ critical
- Stability: 0.83 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Security disclosure: pass → unverified ▼ functional
- Dependency health: 0.85 → partial functional
- Package version: 0.10.4 → 0.10.6 functional
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 5 Nov 2026 · Analysed npm/@neat.is/mcp@0.10.9
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Background: How many MCP packages publish verified provenance →
Vulnerabilities 15 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-g3hv-75wg-m249 | CVE-2026-118764 | medium | yes | |
| GHSA-2pr8-phx7-x9h3 | CVE-2026-44294 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
| GHSA-66ff-xgx4-vchm | CVE-2026-44293 | high | yes | |
| GHSA-685m-2w69-288q | CVE-2026-44289 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-75px-5xx7-5xc7 | CVE-2026-44291 | high | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H | yes |
| GHSA-f38q-mgvj-vph7 | CVE-2026-54269 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
| GHSA-fx83-v9x8-x52w | CVE-2026-44292 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-jggg-4jg4-v7c6 | CVE-2026-45740 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L | yes |
| GHSA-jvwf-75h9-cwgg | CVE-2026-44290 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-q6x5-8v7m-xcrf | CVE-2026-44288 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N | yes |
| GHSA-wcpc-wj8m-hjx6 | CVE-2026-48712 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-f88m-g3jw-g9cj | CVE-2026-114113 | high | yes | |
| GHSA-rgj7-g3m4-5g8c | CVE-2026-114112 | high | yes | |
| GHSA-wq5f-xc86-pv6w | CVE-2026-114111 | high | yes | |
| GHSA-mrhx-c7xc-m3w5 | CVE-2023-54404 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
Background: What a vulnerability scan can and cannot prove →
Dependencies 316 packages
| Packages resolved | 316 |
|---|---|
| Deprecated | 1 |
| Stale | 102 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
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 →
ask ~324
Ask the graph a question in plain language — the front door to NEAT. Reach for this FIRST, before Read/Grep/Bash, for any question about this system's behaviour, dependencies, failures, root cause, or blast radius. You do NOT need to know which tool or the exact node id: `ask` resolves the entities in your question to graph nodes and routes it to the right traversal (root cause, dependencies, observed runtime calls, incidents, divergences, blast radius), returning one compact answer with every fact provenance-tagged (EXTRACTED/OBSERVED/INFERRED/STALE) and confidence-scored. Ask what a node talks to, connects to, uses, hits, calls, reads from, or writes to for dependencies; add actually, in production, or at runtime for observed calls. Ask who calls or depends on a node, or for its consumers or callers, for blast radius. Ask about slow, latency, p95, or timing for runtime evidence; a why/failure question leads with root cause. Use the structured tools (get_root_cause, get_dependencies, …) when you already have a node id and want just that one traversal. When something is failing, investigate returns the whole incident in one call.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| question | string | yes | A natural-language question, e.g. "why is checkout failing?" or "what breaks if I change the orders table?" |
No output schema declared.
No examples provided.
check_policies ~183
Before an edit, ask which architectural policies apply to its node; before a proposed action, dry-run its policy effect. Returns advisory rules or violations across structure, compatibility, provenance, ownership, and blast radius. Policies inform the agent; this tool does not block changes.
| Name | Type | Req | Description |
|---|---|---|---|
| applicableTo | string | – | Soft guardrail (ADR-108): pass the node id you are about to edit and check_policies returns the policies that govern it, as a context block — so you stay inside the lines. Advisory only; never blocks. |
| hypotheticalAction | – | – | Dry-run mode: simulate the action and return resulting violations. Omit for current state. |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| scope | – | – | Narrow to a subset. Default "all". |
No output schema declared.
No examples provided.
expand ~136
Walk one evidence-bearing hop from a node after investigate or an incident card points to a locus. "up" finds callers/dependents and "down" finds callees/dependencies; each neighbor is classified primary-failure, symptom-only, or unrelated so you can separate cause from downstream symptoms.
| Name | Type | Req | Description |
|---|---|---|---|
| direction | string | yes | up = callers/dependents (toward the cause), down = callees/dependencies |
| nodeId | string | yes | Graph node id to step from |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_blast_radius ~124
What depends on this node — what breaks if I change it? Before changing or redeploying a node, see its downstream dependents and evidence-bearing paths. Returns the bounded blast radius so an edit plan includes the affected services, routes, data, and callers.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | Max BFS depth (default 10) |
| nodeId | string | yes | Graph node id to compute blast radius from |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_dependencies ~131
What does this node depend on? Map a node's outgoing dependencies across code, data, and infrastructure. Returns a bounded traversal (default depth 3, max 10) with distance, edge type, provenance, and confidence; depth=1 shows direct dependencies only.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | – | BFS depth (default 3, max 10). depth=1 returns direct dependencies only. |
| nodeId | string | yes | Graph node id to inspect |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_divergences ~199
Where do the code and what's actually running disagree? Return ranked divergences between declared code/config and observed behavior: missing edges, version or host mismatches, compatibility violations, symbol/field mismatches, and observed failures. Each carries confidence and severity; use it for a broad audit before choosing a specific failing node.
| Name | Type | Req | Description |
|---|---|---|---|
| minConfidence | number | – | Drop divergences below this confidence threshold (0.0 - 1.0). |
| node | string | – | Scope to divergences involving this node id (as source or target). |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| type | array | – | Filter by divergence type. One or more of: missing-observed, missing-extracted, version-mismatch, host-mismatch, compat-violation, observed-symbol-mismatch, observed-failing. Omit for all. |
No output schema declared.
No examples provided.
get_graph_diff ~118
What changed since a known-good point? Compare a saved snapshot with the live graph. Returns added, removed, and changed nodes and edges plus both timestamps, so architecture drift and regressions are visible beyond a file diff.
| Name | Type | Req | Description |
|---|---|---|---|
| againstSnapshot | string | yes | Path or http(s) URL of the snapshot to diff against (the "before" state). The current graph is the "after". |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_incident_card ~189
Compose the incident work order for an exact node id (a service, file, or symbol): the recorded incident, likely cause chain, blast radius, governing policies, and divergences, each claim provenance-tagged — the same card NEAT pushes when it detects a failure. Have a symptom or a bare service name instead of a node id? Call investigate; it resolves the name and composes this card. Omit errorId for the latest incident or pin a specific one, then use expand/relate to verify the path.
| Name | Type | Req | Description |
|---|---|---|---|
| errorId | string | – | Pin a specific incident by its id; omit for the most recent |
| nodeId | string | yes | Graph node id the incident is on (service/file/symbol) |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_incident_history ~114
What failed here, and when? Read a node's recorded error events — incidents, crashes, exceptions — most recent first, with their deploy/env context. The incident ledger preserves failure evidence and timestamps a source search cannot reveal.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max events to return (default 20) |
| nodeId | string | yes | Graph node id to query |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_observed_dependencies ~95
What did this node actually call at runtime? Return only its OBSERVED outgoing dependencies, from spans or supported provider signals. Compare with get_dependencies or get_divergences to tell declared intent from seen behavior.
| Name | Type | Req | Description |
|---|---|---|---|
| nodeId | string | yes | Graph node id to inspect |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_recent_stale_edges ~125
What traffic or integration went quiet? List recent OBSERVED → STALE edge transitions — the edges that stopped being seen, and when. Quiet is a signal to investigate, not proof the dependency is healthy or removed.
| Name | Type | Req | Description |
|---|---|---|---|
| edgeType | string | – | Filter by edge type — e.g. "CALLS" or "CONNECTS_TO" |
| limit | integer | – | Max events to return (default 50) |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
get_root_cause ~165
Why is a node failing? Trace the failing node up its dependency graph toward likely root-cause candidates, ranked with per-candidate classification (primary-failure vs downstream symptom). Returns a provenance-scored cause chain and recorded error context that file search cannot establish from runtime evidence. For the whole work order on a failure, call investigate or get_incident_card first.
| Name | Type | Req | Description |
|---|---|---|---|
| errorId | string | – | Specific error event id from incident history; if set, the result is coloured with that error message |
| errorNode | string | yes | Graph node id where the error surfaced, e.g. "database:payments-db" |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
investigate ~229
First call for a failing, slow, or crashing system. Give it a service name, a symptom ("why are reservations failing"), or a node id, and it returns the composed incident for the node it resolves: the recorded failure with its deploy/env context, the likely root cause and its provenance, the blast radius, the governing policies, and where declared and observed behavior diverge — one work order instead of several queries. Resolves a bare name to its service node, or the best graph match for a symptom; then use expand/relate to verify the chain. Same card get_incident_card composes from an exact node id, and the card NEAT pushes when it detects a failure.
| Name | Type | Req | Description |
|---|---|---|---|
| errorId | string | – | Pin a specific incident by its id; omit for the most recent |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| target | string | yes | A service name ("payments"), a symptom ("why is checkout failing"), or a node id ("service:payments") |
No output schema declared.
No examples provided.
neat_apply_extension ~183
After reviewing an instrumentation gap and preferably previewing it, apply the chosen library extension. Installs the package and updates the OTel hook, package.json, and lockfile; repeating the same extension is a no-op.
| Name | Type | Req | Description |
|---|---|---|---|
| instrumentation_package | string | yes | The instrumentation npm package, e.g. "@prisma/instrumentation" |
| library | string | yes | The library being instrumented, e.g. "@prisma/client" |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| registration_snippet | string | yes | The JS/TS snippet to splice into the instrumentations array, e.g. "instrumentations.push(new PrismaInstrumentation())" |
| version | string | yes | Semver range for the instrumentation package, e.g. "^6.0.0" |
No output schema declared.
No examples provided.
neat_connect ~124
When authorized to add hosted provider evidence, connect a listed provider with its API credential. The control plane verifies and seals the credential; the daemon then polls or receives the supported telemetry into OBSERVED. Hosted only.
| Name | Type | Req | Description |
|---|---|---|---|
| credential | string | yes | The provider's own API token — e.g. a Supabase Management token (sbp_...) or a Railway account/team token. Sealed at rest; never stored in the graph or returned. |
| provider | string | yes | Provider id, e.g. "supabase" or "railway" (see neat_list_connectable) |
No output schema declared.
No examples provided.
neat_connection_status ~48
When provider evidence is absent or stale in a hosted graph, inspect connections and their connecting, healthy, error, or needs-reconnect status. Returns control-plane state, not a live graph traversal.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
neat_describe_project_instrumentation ~78
When OBSERVED evidence is missing, inspect this project's instrumentation wiring. Returns hook-file presence, .env.neat presence, and installed OTel dependencies before you change code.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
neat_disconnect ~59
When authorized to remove a hosted provider integration, disconnect it and drop its stored connection. Returns the control-plane result; this changes future provider evidence, not source code.
| Name | Type | Req | Description |
|---|---|---|---|
| provider | string | yes | Provider id to disconnect, e.g. "supabase" |
No output schema declared.
No examples provided.
neat_dry_run_extension ~155
Before filling an instrumentation gap, preview the extension. Returns the exact file diff, dependencies, and install command without changing the project.
| Name | Type | Req | Description |
|---|---|---|---|
| instrumentation_package | string | yes | The instrumentation npm package, e.g. "@prisma/instrumentation" |
| library | string | yes | The library being instrumented, e.g. "@prisma/client" |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| registration_snippet | string | yes | The JS/TS snippet to splice into the instrumentations array |
| version | string | yes | Semver range for the instrumentation package, e.g. "^6.0.0" |
No output schema declared.
No examples provided.
neat_list_connectable ~53
When a hosted graph lacks provider-side evidence, list the providers this project can connect. Returns control-plane options, or a configuration note when NEAT_CP_URL and a neat_pat_ NEAT_API_KEY are unavailable.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
neat_list_uninstrumented ~76
When the graph lacks expected runtime evidence, list project libraries outside automatic instrumentation coverage. Returns first-party, third-party, and gap libraries that may need an explicit instrumentation package.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
neat_lookup_instrumentation ~104
When a library is an instrumentation gap, look up its supported registry recipe. Returns the instrumentation package, matching version range, and registration snippet when one exists.
| Name | Type | Req | Description |
|---|---|---|---|
| installedVersion | string | – | Installed version for range matching |
| library | string | yes | npm package name, e.g. "@prisma/client" |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
neat_rollback_extension ~92
If a library extension needs reversing, remove its package.json dependency and hook registration. Returns the rollback result; run the package manager afterward because this tool does not refresh the lockfile.
| Name | Type | Req | Description |
|---|---|---|---|
| library | string | yes | The library whose instrumentation should be rolled back |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
relate ~147
Are these two nodes cause and symptom? Test a suspected cause-and-symptom pair. Returns a bounded connecting path, direction, per-hop provenance, and whether error/latency signal carries end to end. No path within the bound is reported as such, not as proof the nodes are unrelated.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | First node id (the hypothesised cause) |
| b | string | yes | Second node id (the hypothesised symptom) |
| maxDepth | integer | – | Max path length to search (default 5) |
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
No output schema declared.
No examples provided.
semantic_search ~139
When you cannot name a graph node, find candidate nodes by a natural-language description. Searches node labels through Ollama nomic-embed-text when reachable, then in-process MiniLM, then substring fallback; it does not search arbitrary source contents. MiniLM downloads a ~23 MB quantized model on a cold cache; set NEAT_SEARCH_PROVIDER=substring before daemon startup to avoid model initialization and download.
| Name | Type | Req | Description |
|---|---|---|---|
| project | string | – | Project name when the core hosts more than one (set NEAT_PROJECTS=...). Omit to use the default project. |
| query | string | yes | Free-text query, e.g. "service handling checkout payments" |
No output schema declared.
No examples provided.
How do I install the NEAT MCP server?
NEAT runs locally as an npm package, launched with npx -y @neat.is/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 · @neat.is/mcp
claude mcp add neat-technologies-neat -- npx -y @neat.is/mcp
What is the NEAT MCP server?
NEAT is an MCP server listed in the public MCP registry as io.github.neat-technologies/neat. A live graph of your running system, code fused with OTel runtime, that your agent queries over MCP. This page covers its npm package (@neat.is/mcp).
Is the NEAT MCP server safe to use?
NEAT scores 73 out of 100 on VerifyMCP. We recorded 15 known advisories against it as of 5 November 2026. It declares no install or post-install scripts. 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 NEAT MCP server expose?
NEAT exposes 25 tools: ask, get_root_cause, get_blast_radius, get_dependencies, get_observed_dependencies, and 20 more. Their descriptions and schemas cost roughly 3,390 tokens of context every time the server is loaded.
Is the NEAT MCP server still maintained?
NEAT is still listed as active in the MCP registry. We last reached this channel on 5 November 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 NEAT MCP server under?
NEAT 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.