Skip to main content
Glama
diogo-rp-menezes

MCP Tree-sitter Server

MCP Tree-sitter Server / Studio

Servidor Model Context Protocol para análise de código com Tree-sitter (WASM), com uma UI web (editor Monaco, explorador de AST, consultas, complexidade, similaridade, Git e console SQLite).

  • Backend: Node.js (>= 22.5) + Express, web-tree-sitter + tree-sitter-wasms, SQLite (node:sqlite).

  • Frontend: React 18 + Vite + Tailwind.

  • MCP: JSON-RPC 2.0 em POST /api/mcp; stream SSE em GET /mcp/sse.

Instalação e execução

npm ci
cp .env.example .env      # ajuste os valores
npm run dev               # modo desenvolvimento (auth opcional, Vite embutido) em http://127.0.0.1:3000

Produção:

npm run build
MCP_API_KEYS=troque-esta-chave npm start

Com Docker (auth ligada, usuário não-root, sistema de arquivos somente leitura, volume para o SQLite):

MCP_API_KEYS=troque-esta-chave docker compose up --build

Métricas Prometheus em GET /api/metrics (exige o mesmo Bearer). Logs JSON em stderr; X-Request-Id em todas as respostas.

Fora do modo dev (--dev / NODE_ENV=development) a autenticação é obrigatória e o servidor não sobe sem MCP_API_KEYS ou MCP_JWT_SECRET.

Related MCP server: XRAY MCP

Segurança

Controle

Variável

Padrão

Autenticação Bearer (API key / JWT HS256) em /api/* e /mcp/sse

MCP_AUTH_ENABLED, MCP_API_KEYS, MCP_JWT_SECRET

ligada fora do modo dev

Origens CORS permitidas

MCP_CORS_ORIGINS, MCP_CORS_ALLOW_WILDCARD

http://localhost:3000

Raízes permitidas para /api/scan-directory (com checagem de symlink)

MCP_ALLOWED_WORKSPACE_ROOTS

/workspace

Console SQL com escrita

MCP_DB_CONSOLE_WRITE

false (somente leitura)

Interface de rede

HOST

127.0.0.1

/api/health é público. A UI pede o token quando o servidor responde 401 e o guarda apenas em sessionStorage. Detalhes dos contratos em docs/04-governance/api-specification.md.

Usando com um cliente MCP

Aponte o cliente para http://127.0.0.1:3000/api/mcp enviando Authorization: Bearer <chave>. Ferramentas principais: register_project_tool, list_files, get_ast, get_symbols, run_query, find_references, analyze_complexity, find_similar_code, search_text, find_dependencies, audit_project_isolation. A lista completa vem de tools/list.

Desenvolvimento

npm run lint     # tsc --noEmit
npm test         # vitest
npm run build

Veja AGENTS.md (arquitetura e regras) e CONTRIBUTING.md. A documentação da implementação Python original está em docs/legacy-python/ apenas como histórico.

Licença

Veja LICENSE e NOTICE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides code context and analysis for AI assistants by extracting directory structures and code symbols using WebAssembly Tree-sitter parsers with zero native dependencies.
    1
    31 npm
    20
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to understand and navigate codebases through structural analysis. Provides code mapping, symbol search, and impact analysis using ast-grep for accurate parsing of Python, JavaScript, TypeScript, and Go projects.
    4
    53
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables code analysis of JavaScript, TypeScript, TSX, Python, and Rust files using Tree-sitter, providing symbol listing, definition/reference lookup, AST queries, LSP-style features, and SQLite indexing for efficient cross-file searches.
    21
    8 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a semantic understanding of your codebase by parsing with tree-sitter and building a graph of symbols and dependencies. Enables AI assistants to navigate code, analyze changes, and discover architecture using 18 tools with minimal context overhead.
    14 npm
    1
    MIT