javascript-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
|
| 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 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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