Skip to main content
Glama
aferreiraguido

javascript-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
load_js_projectA

Loads a JavaScript/TypeScript project directory for deterministic analysis (ts-morph). Detects Vue, Nuxt, Angular, Express, Fastify or Node.

list_loaded_projectsA

Lists the currently loaded projects.

refresh_js_projectA

Rescans the file tree and incrementally syncs the ts-morph project: only re-reads files whose size or mtime changed.

unload_js_projectB

Unloads a project from memory.

program_summaryA

Executive summary of a loaded project: framework, files, functions, types, variables and capabilities.

detect_frameworkA

Detects the framework of the loaded project (Vue, Nuxt, Angular, Express, Fastify, Node, plain).

get_file_contentA

Returns the content of a project file. It is resolved by matching a path suffix.

search_sourceB

Searches for text in the code of all project files (case-insensitive).

list_filesA

Lists the TS/JS files of the project with their line count. Optionally filter by extension.

list_functionsA

Lists all functions and class methods, with signature, file and line.

list_ts_typesA

Lists interfaces, type aliases, enums and classes with their members.

list_variablesA

Lists module-level (top-level) variables with type and line.

function_call_graphC

Local call graph: shows which functions call which functions.

find_referencesC

Finds all references to a symbol in the project.

variable_xrefA

Data-flow cross-reference of a variable: where it is defined, read and written (semantic DEFINITION/WRITE/READ classification via ts-morph).

function_callersA

Finds the calls to a function (invocations with parentheses).

function_metricsB

Metrics per function/method: cyclomatic complexity, body lines and parameters. Optional threshold filters.

find_high_complexityA

Functions/methods with high cyclomatic complexity (technical-debt heuristic), grouped by file.

find_long_functionsC

Functions/methods with a long body (technical-debt heuristic).

typecheck_projectB

Real type errors of the project: TypeChecker diagnostics (getPreEmitDiagnostics via ts-morph), grouped by file.

find_unimplemented_interfacesB

Interfaces with methods that no class explicitly implements (heuristic: TS is structural).

find_any_usagesA

any usages in the project (type-debt heuristic): : any annotations, as any, <any>, parameters and returns typed as any. Grouped by file.

resolve_typeA

Resolves a symbol to its definition: function, type alias, interface, class or enum.

find_check_implementationsA

Checks which classes implement an interface or extend another (inheritance).

get_type_hierarchyB

Hierarchy of a type: what it extends/implements and who extends/implements it.

inspect_functionA

Inspects a function or method (class.method): signature, parameters, doc, body.

inspect_classA

Inspects a class: decorators, extends/implements, fields, methods, constructor.

find_unchecked_errorsA

Detects async calls (fetch, fs.*, exec, etc.) without await or .catch — possible unhandled error.

find_unused_variablesB

Module-level (top-level) variables that are not used in the rest of the file.

find_dead_codeB

Functions and private methods that are not referenced locally (dead code).

list_vue_componentsB

Lists the .vue files of a project.

analyze_vue_componentA

Analyzes a .vue component: props, emits, slots, composables, reactive state, provide/inject.

vue_template_binding_analysisA

Analyzes which script variables are used in the of a .vue component.

find_vue_provide_injectA

Cross-file provide/inject graph: which keys each file provides and which are injected, with exported-constant resolution and orphan keys (inject without provide).

find_vue_unused_reactiveA

Declared reactive state (ref/reactive/computed/shallowRef) not used in the template or the rest of the script (heuristic).

find_vue_template_undefinedA

Identifiers used in the that do not resolve to any Vue binding/local/builtin (heuristic: possible typo or undeclared variable).

list_nuxt_page_metaB

definePageMeta per page: layout, middleware, title, validate, pageTransition and name.

list_nuxt_pagesB

Routes generated from pages/ (with dynamic params and catch-all) and from server/api.

list_nuxt_composablesA

Lists the auto-imported composables in composables/ and utils/.

list_nuxt_server_apiB

Routes of the server/ API (server/api, server/routes) with HTTP method.

nuxt_auto_importsB

Shows the auto-imports available in Nuxt (Vue composables + Nuxt utilities).

nuxt_configB

Shows the content of nuxt.config.ts.

list_nuxt_plugins_middlewareA

Lists Nuxt plugins and middleware.

list_react_componentsB

React components: .tsx/.jsx files with JSX, their exports and used hooks.

list_next_routesB

Next.js routes: app router (app/**/page.tsx) and pages router (pages/*.tsx).

analyze_react_componentB

In-depth analysis of a React component: typed props, hooks with arguments, consumed contexts, custom hooks, early returns and memo/forwardRef. Deterministic (ts-morph).

list_react_hooks_depsA

Inventory of useEffect/useMemo/useCallback with their dependency array (heuristic: marks deps used in the callback but missing from the array).

list_next_api_routesA

API routes of the Next app router: route.ts with HTTP methods (GET/POST/...) and dynamic params, plus middleware.ts with its matcher.

list_react_contextC

React contexts cross-file: createContext, providers (<X.Provider>) and consumers (useContext).

analyze_react_stateB

State inventory per component: useState/useReducer/useRef/useSyncExternalStore with initial value and bindings (setters/dispatch).

find_react_effect_leaksA

useEffect that registers listeners/timers/subscriptions (addEventListener/setInterval/.subscribe) without cleanup (return) (heuristic).

list_next_data_fetchingB

Data fetching/ISR/cache in the Next app router: revalidate, generateStaticParams, generateMetadata, dynamicParams, fetch with next.revalidate/tags and use client/server directives.

find_react_memo_opportunitiesC

Components with non-primitive props (objects/arrays/functions) without memo() and JSX with new values per render (performance heuristic).

analyze_svelte_componentB

In-depth analysis of a Svelte component: props, reactivity ($:), stores (writable/readable/derived), context (setContext/getContext), lifecycle, bindings, snippets and dispatched events.

list_sveltekit_routesA

SvelteKit routes by directory convention (src/routes): +page.svelte, +page.server.ts (load/actions), +layout, +server.ts (API) and +error.

list_svelte_componentsD

Svelte components: .svelte files with props (export let), stores and dispatched events.

list_react_filesA

Lists the .tsx/.jsx/.svelte files of the project with their line count.

find_svelte_effect_leaksB

onMount that registers listeners/timers (addEventListener/setInterval/subscribe) without cleanup in onDestroy (heuristic).

find_svelte_unused_storesA

Stores (writable/readable/derived) declared/exported but not used in any template or script (heuristic).

list_sveltekit_server_hooksC

hooks.server.ts: handle (with sequence()), handleError and handleFetch with their structure.

list_sveltekit_load_actionsA

load and actions of +page.server.ts/+layout.server.ts per route, with details (throw error/fail/redirect/params).

list_angular_componentsA

Lists Angular components (@Component) with selector and standalone.

analyze_angular_componentA

Analyzes a component: @Input/@Output, providers, constructor DI, lifecycle hooks.

angular_template_analysisA

Template binding analysis with @angular/compiler: inputs, outputs, interpolations, pipes, structural directives, and references to identifiers without a class member.

angular_dependency_graphC

DI dependency graph: @Injectable services and who consumes them.

list_angular_routesB

Routes defined with Routes/RouterModule (path -> component/loadChildren).

list_angular_modulesC

Lists NgModules.

list_angular_servicesB

Lists @Injectable services.

angular_module_graphB

NgModules graph: declarations, imports and providers per module.

analyze_angular_route_guardsC

Route guards and resolvers: which guards/resolvers each route uses (canActivate/canActivateChild/canActivateFn/canDeactivate/canLoad/canMatch/resolve) and where they are defined (classes or functions).

list_angular_standalone_componentsA

Component inventory: standalone (with their composition imports) vs non-standalone (NgModule-dependent). Angular 19+: standalone by default.

find_angular_change_detectionB

Change detection strategies per component (heuristic): without ChangeDetectionStrategy.OnPush, manual CD (detectChanges/markForCheck/detach/reattach) and components with OnPush.

find_angular_subscription_leaksA

Uncleaned subscriptions (heuristic): subscribe() in components/directives/services without ngOnDestroy/unsubscribe/takeUntil/async pipe in the class (comments are ignored).

list_api_endpointsB

Detects HTTP endpoints: Express (app/router.get/post/...), Fastify, Koa.

analyze_api_endpointA

Call chain of an endpoint: handler → service → repo, validation (zod/joi/validate*), auth middleware and next(err). Resolves mounted routers (app.use("/prefix", router)).

list_express_routersC

Express sub-routers (express.Router()) and their mounting (app.use), global middleware order and error-handlers (4 args).

node_native_modulesD

Usage of native Node modules (node:fs, path, etc.) with imports/require.

node_entry_pointsC

Project entry points: package.json scripts, main, listen(), shebang.

node_async_flowC

Async patterns: await/Promise, .catch, EventEmitter, timers.

node_process_envC

Environment variables read with process.env in the project (environment dependencies).

find_event_emitter_leaksC

EventEmitter listeners registered without their cleanup pair in the same scope (heuristic).

find_sync_io_blockingA

fs.*Sync inside Express handlers or async functions: blocks the event loop (heuristic).

find_unclosed_resourcesA

Streams/connections/http.request without close/end/destroy in the same scope (heuristic).

find_deprecated_apisB

Deprecated Node APIs: new Buffer, url.parse, util.is*, createCipher, require.extensions (heuristic).

module_dependency_graphB

Dependency graph between project modules: relative imports/requires resolved to files, with cycle detection and modules without importers.

find_test_mappingA

Maps production modules (src/) to their tests (.test./.spec.) by imports; also lists src/ modules without tests.

find_xss_vectorsA

XSS vectors (heuristic): v-html (Vue), {@html} (Svelte), dangerouslySetInnerHTML (React), innerHTML/insertAdjacentHTML/document.write (DOM).

find_sql_injectionB

Possible SQL injection (heuristic): query/execute calls with interpolated template literal or string concatenation.

find_eval_sitesC

Usage of eval / new Function / Function() (heuristic): dynamic code execution.

find_command_injectionA

Possible command injection (heuristic): exec/execSync/spawn with variable interpolation.

find_hardcoded_secretsB

Hardcoded secrets (heuristic): keys/passwords/tokens with literal values, URLs with credentials, private keys and AWS keys.

find_insecure_httpB

Insecure HTTP (heuristic): http:// (not https), WebSocket ws:// and cookies without explicit Secure/HttpOnly.

find_silent_catchesA

Silent catches (heuristic): empty catch blocks, console-only, or those that discard the error without binding or re-throw.

find_event_listener_leaksA

Listeners and timers without cleanup (heuristic): addEventListener/setInterval without removeEventListener/clearInterval in the same scope.

find_code_duplicationA

Duplicated code blocks (heuristic): sequences of identical lines in ≥2 functions (copy-paste).

find_todo_fixmeC

TODO / FIXME / HACK / XXX markers in comments (pending debt).

find_unused_dependenciesB

package.json dependencies that are not imported in any file (heuristic).

find_ts_ignoresA

Type suppressors: @ts-ignore / @ts-nocheck / @ts-expect-error (type debt).

find_magic_numbersC

Magic numbers (heuristic): numeric literals that are not 0/1 outside named constants (config).

find_non_null_assertionsA

Non-null assertions expr! (type-debt heuristic): assume the value is not null/undefined without checking it.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aferreiraguido/javascript-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server