Skip to main content
Glama
jaccoklouwer

AST-Indexer MCP Server

by jaccoklouwer

AST-Indexer MCP Server

AST-Indexer is a Model Context Protocol (MCP) server for indexing Git repositories with AST parsing. It extracts functions, classes, imports, variables, and SQL schema objects from JavaScript, TypeScript, C#, and SQL codebases so they can be queried through MCP tools.

Installation

Install the server globally:

npm install -g @klouwer94/ast-indexer

The published package now includes the required Tree-sitter runtime and grammars as regular runtime dependencies, so AST tools work in normal global and npx installs without extra manual setup on the supported Node.js majors above.

Node.js 25 is not currently supported for the published package because upstream tree-sitter does not ship a compatible native build there. The repository itself may still work in some local pnpm setups because it applies a development patch during install, but that patch is not present in a normal consumer npm install. AST-Indexer currently supports Node.js 20, 22, and 24 for published-package usage.

Add it to your MCP client configuration:

{
  "mcpServers": {
    "ast-indexer": {
      "command": "ast-indexer"
    }
  }
}

For npx usage and HTTP transport configuration, see docs/usage.md.

Related MCP server: ast-editor

Features

  • Index Git repositories with include and exclude glob patterns.

  • Parse JavaScript and TypeScript, including .js, .jsx, .mjs, .cjs, .ts, .tsx, .mts, and .cts.

  • Parse C# using regex-based extraction for definitions (classes, methods, properties, using directives, UTF-16 encoding support).

  • Parse SQL using regex-based extraction (tables, views, stored procedures, functions, triggers, and indexes).

  • Search indexed repositories for functions, classes, imports, SQL tables, SQL views, SQL triggers, and SQL indexes.

  • Inspect JavaScript, TypeScript, TSX, C#, and SQL syntax trees with Tree-sitter tools such as get_ast, get_ast_node_at_position, and structural_search.

  • Find syntactic call sites such as C# FluentAssertions chains like .Should() via structural_search instead of definition-only symbol indexes.

  • Return repository-level statistics for indexed files and extracted symbols.

  • Two-layer cache: per-file memory cache backed by a disk cache keyed on Git commit hash or file mtime.

  • Supports both stdio (default) and HTTP (--transport http) transport modes.

  • Built with TypeScript, Zod, and Vitest.

Using the MCP server

See docs/usage.md for the full tool reference, CLI flags, configuration examples, and glob pattern behavior.

If you want to understand how the codebase is structured, see docs/project-architecture.md.

Contributors

Contributors

Contributions are welcome. See CONTRIBUTING.md for local setup and contribution guidelines.

License

ISC

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
5dRelease cycle
16Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/jaccoklouwer/ast-indexer'

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