Skip to content

Release v0.1.0

Latest

Choose a tag to compare

@oranheim oranheim released this 15 Aug 14:12
· 51 commits to master since this release

🎉 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-info metadata for accurate version information
  • Handles editable installations and namespace packages
  • Tested with 85+ packages in production environments

📦 Node.js/JavaScript Support

  • Complete node_modules scanning
  • 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 versions
  • read-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