MCP Tree-sitter Server Roadmap banner
wrale wrale

MCP Tree-sitter Server Roadmap

Productivity community intermediate

Description

This document outlines the planned improvements and future features for the MCP Tree-sitter Server project. CRITICAL: When a task is done, update this document to mark it done. However, you must ensur

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for wrale/mcp-server-tree-sitter, shared by 4 entries in this directory. It describes the repository, not this entry specifically.

MCP Tree-sitter Server Roadmap

This document outlines the planned improvements and future features for the MCP Tree-sitter Server project.

CRITICAL: When a task is done, update this document to mark it done. However, you must ensure it is done for all files/subjects present in the repo. DO NOT mark a task done simply because a subset of the targeted files/subjects have been handled. Mark it [WIP] in that case.

Short-term Goals

Code Quality

  • ✅ Fix linting issues identified by ruff
  • ✅ Improve exception handling using proper from clause
  • ✅ Remove unused variables and improve code organization
  • ✅ Implement TreeCursor API support with proper type handling
  • ✅ Add incremental parsing support
  • ✅ Add MCP Progress Reporting
  • ✅ Add Server Capabilities Declaration
  • Add mcp server start flag(s) for enabling (allow list approach) and disabling (block list approach) a list of features. Only one approach may be applied at a time. The default should be minimal allowed, for now. Add meta features such as stable, wip, advanced, basic
  • ✅ Add mcp server start flag(s) for ensuring language packs are installed - Resolved by tree-sitter-language-pack integration
  • Add mcp server start flag(s) for ensuring project is configured beforehand.
  • Achieve 100% type hinting coverage (and ensure this is enforced by our linting)
  • Improve docstring coverage and quality (Don't thrash on updating docs that are already good) (HOLD pending other work)
  • Split files until the longest .py file is less than 500 lines (unless that breaks functionality, in which case do not)

Testing

  • ✅ Create and maintain tests for AST functionality, query execution, and symbol extraction
  • 🔄 [WIP] Create additional tests for context utilities, incremental parsing, and cursor traversal
  • Increase unit test coverage to 100% and begin enforcing that in pre-commit and CI
  • Add integration tests for MCP server functionality (HOLD pending other work)
  • Create automated testing workflow with GitHub Actions (unit, integration, static, etc) (HOLD pending other work)

Documentation (HOLD)

  • ✅ Create CONTRIBUTING.md with developer guidelines
  • 🔄 [WIP] Create a docs/user-guide.md with more examples and clearer installation instructions. Link to it from README.md
  • Add detailed API documentation in docs/api-guide.md
  • 🔄 [WIP] Create usage tutorials and examples -- focus only on Claude Desktop for now.

Medium-term Goals (HOLD)

Feature Improvements

  • ✅ Add support for more tree-sitter languages by implementing https://github.com/Goldziher/tree-sitter-language-pack/
  • ✅ Add support for query execution with proper result handling
  • Improve query building tools with more sophisticated matching options (HOLD because we could cripple the codebase with complexity)
  • Implement more advanced code analysis metrics (HOLD because we could cripple the codebase with complexity)
  • Enhance caching system with better invalidation strategy (HO