Skip to main content
Glama

TypeScript MCP

by mizchi
CHANGELOG.md22.4 kB
# [0.10.0-rc.3](https://github.com/mizchi/lsmcp/compare/v0.10.0-rc.2...v0.10.0-rc.3) (2025-08-15) ### Bug Fixes * add OCaml support to MCP test helpers ([6675d52](https://github.com/mizchi/lsmcp/commit/6675d5287bf2caa5178fe79e1fccafc93e91fbe9)) * add OCaml test fixture config to resolve index.ts error ([24bf273](https://github.com/mizchi/lsmcp/commit/24bf273fd031aa6c291383c21d3995dc9111265e)) * add proper timeouts to Python language tests for CI ([59d0065](https://github.com/mizchi/lsmcp/commit/59d0065981d0324aa52909a9abd709a378d90f60)) * add protocol version compatibility for numeric values ([825d0ad](https://github.com/mizchi/lsmcp/commit/825d0ad1e219364d5c06aa11daf48b457021930d)) * correct PATH environment variable in Haskell CI workflow ([dbbd135](https://github.com/mizchi/lsmcp/commit/dbbd135517b4e77fe7ad5abe4b2fa68ffb175f0d)) * correct test fixture paths in CI workflows ([9929c63](https://github.com/mizchi/lsmcp/commit/9929c6393852f6a14146c9121f5e61cbc3dfaa06)) * enable auto-indexing for preset file patterns in search_symbol_from_index ([a3f433a](https://github.com/mizchi/lsmcp/commit/a3f433af6e2ee4b83ff5bd8f2f1619ffcf74a984)) * ensure OCaml LSP is always available after cache restore ([c9f7c7c](https://github.com/mizchi/lsmcp/commit/c9f7c7c75c3018f1c1c965f96f63ec7a66d5b23c)) * improve UV strategy to use 'uv run' for projects with uv.lock ([9cb3d2e](https://github.com/mizchi/lsmcp/commit/9cb3d2e5b2cb6aa67da325a727228fd4c0d705ff)) * resolve OCaml CI setup issues ([b89d361](https://github.com/mizchi/lsmcp/commit/b89d3612b55e9f241c093fc6bca0a10344d3a39f)) * resolve type errors for binFindStrategy and config system ([3013900](https://github.com/mizchi/lsmcp/commit/3013900eeb3deadfc4b8bf79aa37d4885f29ea78)) * update OCaml test to check record field definition instead of type ([d501517](https://github.com/mizchi/lsmcp/commit/d5015174b5a73d6761adb039c74c412cf21b4e6f)) * update OCaml test to use correct line number for type definition ([880f8a1](https://github.com/mizchi/lsmcp/commit/880f8a103b9c444268bcd29fcc5bb42200b9d6bb)) * use correct vitest project for Haskell tests ([585f19b](https://github.com/mizchi/lsmcp/commit/585f19bfe995f0a7e1e89b13b9130fe4b8a89eca)) * use Node.js 22 in Haskell CI workflow ([6ff99db](https://github.com/mizchi/lsmcp/commit/6ff99db8f2a864e802c582011984950611014e3b)) ### Features * add binFindStrategy for flexible LSP server binary discovery ([6a5c9e2](https://github.com/mizchi/lsmcp/commit/6a5c9e2e55a6b629eaba0a9547a3c96e519bd458)) * add brace expansion support for CLI --files option and enhance language tests ([db48333](https://github.com/mizchi/lsmcp/commit/db48333eaf0074a713e24d010ca267af4f329f9c)) * add doctor command and improve configuration system ([953c133](https://github.com/mizchi/lsmcp/commit/953c1330aa253a67204b56eac7d76efe6781f421)) * add Haskell Language Server support with ghcup setup ([8405be3](https://github.com/mizchi/lsmcp/commit/8405be328d151b8d56df7f9847cf781fd1342b21)) * add Haskell language tests to CI ([135e089](https://github.com/mizchi/lsmcp/commit/135e0895dc18c3be30330ebc365577fe245c6282)) * complete TODO list implementation and improvements ([67af086](https://github.com/mizchi/lsmcp/commit/67af08675ff70a25e64428bb37b852186620c8ad)) * support binFindStrategy without explicit bin/args ([363f846](https://github.com/mizchi/lsmcp/commit/363f8463892d0e4f8d745a1c0c513119f548af2b)) ### Performance Improvements * add opam caching to speed up OCaml CI ([0745e93](https://github.com/mizchi/lsmcp/commit/0745e93ed60c121a05b209abd9dea27968bffae3)) # [0.10.0-rc.2](https://github.com/mizchi/lsmcp/compare/v0.10.0-rc.1...v0.10.0-rc.2) (2025-08-14) ### Bug Fixes * correct F# symbol positions when fsautocomplete returns comment lines ([cf88b87](https://github.com/mizchi/lsmcp/commit/cf88b87292367c3cfe6b3cd6d81c9104398aa7c8)), closes [#33](https://github.com/mizchi/lsmcp/issues/33) * improve F# symbol position fix to handle record fields ([60a6a28](https://github.com/mizchi/lsmcp/commit/60a6a281b92683df98365fbedf1cbc7f62a3c9d6)) ### Features * generate lsmcp.schema.json from zod schema and implement environment auto-detection ([774e615](https://github.com/mizchi/lsmcp/commit/774e615fd63839011efbd051d2ef2b6fb91408d4)) ## [0.10.0-rc.2] - 2025-08-13 ### Added - Memory monitoring and automatic garbage collection - Performance optimization constants - Ruby language support in test fixtures - Comprehensive error handling with LSMCPError ### Changed - Unified error handling system - replaced MCPToolError with LSMCPError - Improved project detection with better error handling - Enhanced TypeScript comment position handling - Optimized symbol indexing with batch processing ### Fixed - Lint warnings in test fixtures and source files - Regex escape sequences in node_modules path matching - Unused variable warnings with underscore prefix convention - Memory leaks in symbol indexing ### Removed - Deprecated mcpErrors.ts file - Unused processedCount variable in indexing - Moonbit database file from test fixtures ## [0.10.0-rc.1] - 2025-08-12 ### Added - Initial release candidate improvements - Enhanced error handling system - Better performance monitoring ## [0.10.0-rc.0](https://github.com/mizchi/lsmcp/compare/v0.9.4...v0.10.0-rc.0) (2025-01-10) ### 🚀 Features * **Advanced Memory Report System**: Comprehensive project analysis and reporting system - Store project snapshots with mechanical metrics and AI analysis - SQLite-based storage in `.lsmcp/cache/memory.db` - Title and summary fields for better report identification - Duplicate prevention using unique commit hash constraints - Deprecated flag system for marking outdated reports - Reports are excluded from git repository (temporary investigation artifacts) * **Report Management Tools** - `generate_report`: Create comprehensive project reports with optional AI analysis - `get_latest_report`: Retrieve the most recent report for current branch - `get_report_history`: View historical reports with pagination - `get_all_reports`: List all reports with filtering and sorting options - `get_report_details`: Get complete details of a specific report - `search_reports_by_keyword`: Full-text search across reports - `search_reports_by_date`: Find reports within date ranges - `get_report_by_commit`: Retrieve report for specific commit - `update_ai_analysis`: Add or update AI analysis for existing reports - `get_memory_stats`: View database statistics * **Deprecated Report Management** - `deprecate_report`: Mark reports as deprecated with reason - `undeprecate_report`: Remove deprecated status from reports - `get_deprecated_reports`: List all deprecated reports - `withDeprecated` parameter: Control inclusion of deprecated reports in searches ### 📚 Documentation * **Report System Documentation**: Comprehensive documentation in English and Japanese - Clear definition of reports as temporary investigation artifacts - Usage examples and best practices - Comparison with other documentation types ### ⚙️ Configuration * **Advanced Memory Features**: Enable with `memoryAdvanced: true` in `.lsmcp/config.json` - Automatic `.gitignore` configuration for cache directory - SQLite database for persistent storage ## [0.9.4](https://github.com/mizchi/lsmcp/compare/v0.9.3...v0.9.4) (2025-01-10) ### Features * External library indexing and symbol resolution for TypeScript * Multi-language external library support preparation ## [0.9.3](https://github.com/mizchi/lsmcp/compare/v0.9.0...v0.9.3) (2025-08-07) ### Features * add include_body option to get_definitions tool ([e7cc311](https://github.com/mizchi/lsmcp/commit/e7cc3112ef1f3b749089af3a14c22be277e888d0)) * add project overview tool and improve search_symbol_from_index ([9437b74](https://github.com/mizchi/lsmcp/commit/9437b74f9ec415d20213f855d97373675460f82f)) * improve search_symbol_from_index kind parameter to accept case-insensitive strings only ([63e0d26](https://github.com/mizchi/lsmcp/commit/63e0d268dfaab0cc66c8740a8d25a327d61f9943)) ### BREAKING CHANGES * Numeric values for kind parameter are no longer supported. Use string values instead (e.g., 'Class' instead of 5). 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com> ## [0.9.2](https://github.com/mizchi/lsmcp/compare/v0.9.0...v0.9.2) (2025-08-07) ### Features * add project overview tool and improve search_symbol_from_index ([9437b74](https://github.com/mizchi/lsmcp/commit/9437b74f9ec415d20213f855d97373675460f82f)) * improve search_symbol_from_index kind parameter to accept case-insensitive strings only ([63e0d26](https://github.com/mizchi/lsmcp/commit/63e0d268dfaab0cc66c8740a8d25a327d61f9943)) ### BREAKING CHANGES * Numeric values for kind parameter are no longer supported. Use string values instead (e.g., 'Class' instead of 5). 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com> # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.9.0](https://github.com/mizchi/lsmcp/compare/v0.8.1...v0.9.0) (2025-08-07) ### 🚀 Features * **Symbol Indexing**: Unified `index_symbols` tool with smart incremental updates - Automatic git-based change detection for efficient re-indexing - Support for parallel indexing with configurable concurrency - SQLite-backed cache for persistence across sessions - Memory-efficient batch processing for large codebases * **Go Support**: Add gopls adapter for Go language support - Official Go language server (gopls) integration - Full LSP tool support for Go development - Comprehensive initialization options for enhanced functionality - Doctor command to verify Go and gopls installation * **JSON Schema Configuration**: Add comprehensive configuration schema - Full validation and auto-completion support in editors - Centralized configuration in `.lsmcp/config.json` - Support for preset, LSP settings, and symbol filtering options ### 🐛 Bug Fixes * **Test Stability**: Fix timing-related test failures in symbol index tests * **MCP Tools**: Remove internal tools from public MCP API - Removed cache management tools (internal use only) - Removed workflow tools (internal use only) - Cleaner public API surface ### ♻️ Code Refactoring * **Directory Structure**: Reorganize codebase for better separation of concerns - Move adapters to dedicated directory - Centralize configuration loading - Improve module organization ### 📚 Documentation * **CLAUDE.md**: Update with current tool names and best practices * **README.md**: Reorganize tools documentation by category - Symbol Indexing & Search - LSP Tools - Code Editing Tools - Memory System - File System Tools ### ⚡ Performance * **Build Size**: Reduce bundle size from 505KB to 494KB * **Symbol Indexing**: Improve indexing performance with batch processing ## [0.8.1](https://github.com/mizchi/lsmcp/compare/v0.8.0...v0.8.1) (2025-07-03) ### ♻️ Code Refactoring * **Presets**: Rename moonbit-language-server preset to moonbit for consistency - Simplified preset naming convention - Better alignment with other language presets ## [0.8.0](https://github.com/mizchi/lsmcp/compare/v0.7.0...v0.8.0) (2025-07-03) ### 🚀 Features * **Python Support**: Add Pyright and Ruff adapters for comprehensive Python language support - Pyright adapter for type checking and language features - Ruff adapter for fast Python linting - Full LSP tool support for Python development ### 📚 Documentation * **Preset Usage**: Update all documentation to use `-p`/`--preset` pattern instead of deprecated `--language` * **Manual Setup**: Add comprehensive manual setup documentation - Minimal rust-analyzer configuration example - Configuration file usage with `--config` option - Custom LSP server setup instructions * **Available Presets**: Document all 8 built-in language presets - TypeScript (typescript, tsgo) - Python (pyright, ruff) - Rust (rust-analyzer) - F# (fsharp) - Deno - MoonBit ### 🐛 Bug Fixes * **Type Errors**: Fix MCP SDK type mismatches using type casting approach - Resolve TypeScript compilation errors in mcpHelpers.ts - Ensure compatibility with both typescript-language-server and tsgo ### ♻️ Code Refactoring * **Build Configuration**: Exclude Python virtual environments (.venv) from formatting ### 🔧 Chores * Switch code formatter from Deno to Biome * Drop MoonBit target support ## [0.7.0](https://github.com/mizchi/lsmcp/compare/v0.6.0...v0.7.0) (2025-07-02) ### 🎉 Highlights - **LocationLink Support for Modern LSP Servers**: Fixes "Go to Definition" for typescript-language-server and rust-analyzer - **Simplified Tool Names**: Removed `lsmcp_` prefix for better developer experience - **Enhanced Documentation**: Language-specific installation guides for TypeScript, Rust, F#, and Python ### 🚀 Features * **LocationLink Support**: Add support for LocationLink format used by modern LSP servers ([8ce97e7](https://github.com/mizchi/lsmcp/commit/8ce97e75e3240c6103495117bfb22cda0258922b)) - Fixes Go to Definition for typescript-language-server - Maintains backward compatibility with Location format - Supports rust-analyzer and other modern LSP servers ### 🐛 Bug Fixes * **Diagnostics**: Update diagnostic message format for consistency ([05a3752](https://github.com/mizchi/lsmcp/commit/05a3752782f04f5c8ee7d203178cee98a3e8fc9f)) - Show "0 errors and 0 warnings" format when no diagnostics found * **Tests**: Add retry mechanism for flaky integration tests ([6d00064](https://github.com/mizchi/lsmcp/commit/6d00064)) - Vitest configured to retry failed tests up to 2 times - Handles timing-sensitive LSP operations in CI * **Build**: Remove build step from list-tools test to prevent race conditions ([aa9525c](https://github.com/mizchi/lsmcp/commit/aa9525cb08729cd22c1e657c9cef265bc32959c0)) ### 📚 Documentation * **README**: Add language-specific installation guides ([5d108cc](https://github.com/mizchi/lsmcp/commit/5d108cc)) - Separate sections for TypeScript, Rust, F#, Python - Include both `claude mcp add` and `.mcp.json` configuration examples - Reference examples directory for each language * **English Guidelines**: Update documentation to use English consistently ([d9b6fd8](https://github.com/mizchi/lsmcp/commit/d9b6fd8)) ### ♻️ Code Refactoring * **Tool Names**: Remove `lsmcp_` prefix from all tool names ([f529203](https://github.com/mizchi/lsmcp/commit/f529203d442d83c10aa9f0a897cf653be76a9d57)) - Simplified naming convention for better usability - All tools now use shorter names (e.g., `get_hover` instead of `lsmcp_get_hover`) ### 💥 BREAKING CHANGES * **Tool Names**: All MCP tool names have changed. Users need to update their tool references: - `lsmcp_get_hover` → `get_hover` - `lsmcp_find_references` → `find_references` - `lsmcp_get_definitions` → `get_definitions` - `lsmcp_rename_symbol` → `rename_symbol` - `lsmcp_delete_symbol` → `delete_symbol` - `lsmcp_get_diagnostics` → `get_diagnostics` - `lsmcp_get_all_diagnostics` → `get_all_diagnostics` - `lsmcp_get_document_symbols` → `get_document_symbols` - `lsmcp_get_workspace_symbols` → `get_workspace_symbols` - `lsmcp_get_completion` → `get_completion` - `lsmcp_get_signature_help` → `get_signature_help` - `lsmcp_get_code_actions` → `get_code_actions` - `lsmcp_format_document` → `format_document` ### 🔄 Upgrading from v0.6.x 1. Update to v0.7.0: ```bash npm update @mizchi/lsmcp ``` 2. Update your tool references to use the new names (remove `lsmcp_` prefix) 3. If you're using typescript-language-server, "Go to Definition" should now work correctly without any additional configuration ## [0.6.0](https://github.com/mizchi/typescript-mcp/compare/v0.5.0...v0.6.0) (2025-01-30) ### Bug Fixes * use direct node_modules path to avoid npx overhead in tests ([ffacc6c](https://github.com/mizchi/typescript-mcp/commit/ffacc6c71470a48b61cea7881488ce75650c1040)) * correct CI workflow step names and restore checks ([954575e](https://github.com/mizchi/typescript-mcp/commit/954575e6e8d8f125a8dedb5e8517182eb11b0dde)) * make integration tests more robust ([7a6e0de](https://github.com/mizchi/typescript-mcp/commit/7a6e0ded5d074d739aa829604289ec3fe79cb25d)) * repair integration tests and fix tool names ([10b21a5](https://github.com/mizchi/typescript-mcp/commit/10b21a5782aa02de067d34ef74e4dea7a2350f1f)) * update integration test paths and fix test expectations ([605b360](https://github.com/mizchi/typescript-mcp/commit/605b360505015e6457403fd79505fe9310b7eca4)) ### Continuous Integration * update workflow files for improved test execution ([246f5db](https://github.com/mizchi/typescript-mcp/commit/246f5db4fbac088c24cbec5c96cef8e387c26c8f)) ### Tests * improve test performance with proper categorization ([5d2c136](https://github.com/mizchi/typescript-mcp/commit/5d2c1368ad1e8c22e50b016f6e6e0f80b8c5b19d)) * categorize tests into unit/integration for faster CI ([f5e6596](https://github.com/mizchi/typescript-mcp/commit/f5e6596af8ba13c95af69737174b0b37fd5e95ef)) * temporarily skip failing integration tests ([0746300](https://github.com/mizchi/typescript-mcp/commit/0746300bb2c9ad616b056fde013f4cf088a37b81)) ### Chores * temporarily disable tests in pre-push hook ([c660e6c](https://github.com/mizchi/typescript-mcp/commit/c660e6c9bb9baf93e67a3c93c37dd890c3b0e17d)) * add git hooks for code quality ([2c02720](https://github.com/mizchi/typescript-mcp/commit/2c027206df9cea36e98b91eed01c47b54c16f3c5)) * format code with deno fmt ([8f8fbbc](https://github.com/mizchi/typescript-mcp/commit/8f8fbbcdafc45f825e686d72c52da96ed08cc16f)) * apply deno formatting to test fixture ([e6e92eb](https://github.com/mizchi/typescript-mcp/commit/e6e92eb936bb019c3e456ee90c1a88e0a04cfadd)) ## [0.5.0] - 2025-01-28 ### Added #### 🎯 Debug Adapter Protocol (DAP) MCP v2 - Enhanced Debugging Tools - **Complete DAP MCP Implementation**: Production-ready debug adapter protocol support - Session state management with proper lifecycle tracking - Breakpoint management with hit counts and conditional breakpoints - Debug event logging to JSONL files for analysis - Value tracking and history across debug sessions - Performance metrics tracking - Automatic cleanup of stale sessions - **Enhanced Features**: - Export debug logs in multiple formats (JSON, JSONL, text) - Breakpoint statistics and hit count tracking - Session info and management tools - Comprehensive error handling and recovery - **Examples and Documentation**: - Algorithm debugging examples (LCS, performance analysis) - Detailed usage documentation in `docs/dap-mcp-usage.md` - Test coverage for all debugging scenarios ### Changed - Consolidated debug tools into single `dap-mcp` server - Removed redundant `dap-demo` and `simple-debug` implementations ### Fixed - Type errors in TypeScript tool handlers - Flaky tests in DAP algorithm debugging suite - MCP server startup issues ## [Unreleased] ### Added #### 🐛 Debug Adapter Protocol (DAP) Support (2025-01-28) - **DAP MCP Server**: New MCP server for debugging capabilities - Launch and attach to debug sessions - Set breakpoints with conditions - Step through code (step over/into/out) - Inspect variables and evaluate expressions - Stack trace inspection - Multiple concurrent debug sessions - Works with any DAP-compatible debugger (Node.js, Python, etc.) - **Debug Session Management**: - Persistent session tracking - Automatic cleanup of stale sessions - Session metadata and statistics - **Integration Examples**: - Algorithm debugging (LCS, performance analysis) - Test suite debugging - Multi-file debugging scenarios #### 🌐 Multi-Language Support (2025-01-26) - **Unified `lsmcp` CLI**: Single entry point for all languages - Use `--language` flag for specific languages - Use `--bin` flag for custom LSP servers - Automatic language detection based on project files - **Enhanced Language Support**: - F# support with FSAutoComplete integration - Python improvements with better diagnostics - Configurable language mappings with glob patterns - **Language-Specific Initialization**: - Modular initialization system - Per-language configuration options - Custom language server parameters #### 🔧 Tool Improvements (2025-01-25) - **Migration to LSP**: Gradual migration from TypeScript-specific to LSP tools - `ts_rename_symbol` → `lsp_rename_symbol` - `ts_delete_symbol` → `lsp_delete_symbol` - `ts_find_references` → `lsp_find_references` - `ts_get_definitions` → `lsp_get_definitions` - `ts_get_diagnostics` → `lsp_get_diagnostics` - See [MIGRATION_GUIDE.md](./MIGRATION_GUIDE.md) for details - **TypeScript Tool Prefixes**: Added `ts_` prefix to avoid conflicts - **New Tools**: - `lsp_get_workspace_symbols` - Search symbols across workspace - Event-driven diagnostics with automatic fallback ### Changed - **Project Structure**: - Moved to modular architecture - Separated LSP and TypeScript-specific implementations - Improved test organization (unit vs integration) - **Performance**: - Optimized LSP diagnostics with caching - Fixed stale file contents issue (#8) - Improved test performance with categorization - **Error Handling**: - Enhanced error messages with context - Better recovery from LSP failures - Improved timeout handling ### Fixed - LSP diagnostics stale file contents issue (#8) - Multi-language support for non-TypeScript projects (#15) - Test reliability in CI environments - Import/export order variations in tests - Git hooks preventing commits - TypeScript tool name conflicts ### Developer Experience - Added comprehensive test suite for all tools - Improved documentation with examples - Better error messages and debugging info - Consistent tool naming conventions ## [0.4.0] - 2025-01-12 ### Added - Initial release of TypeScript MCP tools - Core TypeScript refactoring tools - LSP-based tools for multi-language support - Basic MCP server implementation

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/mizchi/typescript-mcp'

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