🎉 Initial Release
mcp-pkg-local is an MCP (Model Context Protocol) server that enables LLMs to read and understand locally installed package source code, helping reduce API hallucinations by providing direct access to actual installed packages.
✨ Features
🐍 Python Support
- Full virtual environment scanning (
.venv,venv) - Support for multiple package managers (pip, poetry, uv, pipenv, conda)
- Reads
.dist-infometadata for accurate version information - Handles editable installations and namespace packages
- Tested with 85+ packages in production environments
📦 Node.js/JavaScript Support
- Complete
node_modulesscanning - Support for npm, pnpm, yarn, and bun package managers
- Handles scoped packages (
@org/package) - TypeScript package support
- ESM and CommonJS module compatibility
🛠️ MCP Tools
scan-packages: Automatically indexes all installed packages with versionsread-package: Navigate and read source files from any installed package- Smart caching with 1-hour TTL for optimal performance
- Auto-detection of project type (Python or Node.js)
🏗️ Architecture
- Extensible scanner architecture with TypeScript interfaces
- Clean separation of concerns (tools, scanners, utilities)
- Full TypeScript with strict mode and Zod validation
- Modern ES modules with Node.js subpath imports
🚀 Performance
- Sub-second package scanning (~300ms for 85 packages)
- Intelligent index caching (
.pkg-local-index.json) - File size limits (10MB) with binary file protection
- Path sanitization preventing directory traversal
📋 Developer Experience
- Zero configuration for standard projects
- Works with Claude Desktop, Claude Code, Cursor, Windsurf, VS Code
- Comprehensive error messages with helpful suggestions
- Debug logging support via
DEBUG=mcp-pkg-local:*
🔐 Security
- Never reads files outside package directories
- Path sanitization prevents directory traversal
- No code execution, only reading
- Binary files are blocked
- Respects filesystem permissions
📊 Project Statistics
- Languages: TypeScript (100%)
- Test Coverage: 19 tests passing
- Dependencies: Minimal (only @modelcontextprotocol/sdk and zod)
- Node.js: Requires 20.x or higher
- Package Size: < 100KB (excluding dependencies)
📦 Package Details
- Name:
@descoped/mcp-pkg-local - Version:
0.1.0 - License: MIT
- Registry: https://www.npmjs.com/package/@descoped/mcp-pkg-local
- Repository: https://github.com/descoped/mcp-pkg-local