Skip to content

"MCP server for fetching and exploring NPM package source code. Built with TypeScript, supports package browsing, file extraction, and code analysis."

License

Notifications You must be signed in to change notification settings

Ligament/npm-package-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“¦ NPM Package MCP Server

npm version TypeScript License: MIT Node.js Version

A powerful Model Context Protocol (MCP) server that enables AI assistants to fetch, explore, and analyze source code from any NPM package in real-time.

πŸš€ Quick Start

# Install
npm install -g npm-package-mcp-server

# Run
npm-package-mcp-server

✨ Features

  • πŸ“¦ Fetch Any NPM Package: Download and explore source code from millions of packages
  • πŸ” Smart File Discovery: List and filter files with intelligent code detection
  • πŸ“„ Selective Code Reading: Get specific files or entire codebases
  • 🏷️ Version Control: Support for any published package version
  • 🧹 Auto Cleanup: Automatic temporary file management
  • πŸ”’ Type Safe: Full TypeScript support with comprehensive error handling
  • ⚑ ES Modules: Modern JavaScript with optimal performance
  • πŸ€– AI-Ready: Perfect integration with Claude, ChatGPT, and other AI assistants

🎯 Use Cases

  • Code Analysis: Analyze libraries before adopting them
  • Learning: Study well-written open source code
  • AI Development: Enable AI assistants to understand package internals
  • Documentation: Generate docs by analyzing source code
  • Security Auditing: Review dependencies for security issues
  • Migration Planning: Understand APIs when upgrading packages

πŸ“– API Reference

Tools Available

get_npm_package_code

## πŸ”§ Installation & Setup

### Option 1: Global Installation
```bash
npm install -g npm-package-mcp-server
npm-package-mcp-server

Option 2: Local Development

git clone https://github.com/Ligament/npm-package-mcp-server.git
cd npm-package-mcp-server
npm install
npm run build
npm start

Option 3: Docker

docker run -it npm-package-mcp-server

πŸ€– AI Assistant Integration

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "npm-packages": {
      "command": "npm-package-mcp-server"
    }
  }
}

Other MCP Clients

Works with any MCP-compatible client. Configure stdio transport with the server command.

πŸ—οΈ Architecture

graph TD
    A[AI Assistant] --> B[MCP Client]
    B --> C[NPM Package MCP Server]
    C --> D[NPM Registry]
    C --> E[Package Extraction]
    C --> F[File System]
    E --> G[Code Analysis]
    G --> A
Loading

πŸ“Š Supported Packages

  • βœ… All public NPM packages
  • βœ… Scoped packages (@org/package)
  • βœ… Any published version
  • βœ… TypeScript and JavaScript
  • βœ… React, Vue, Angular, Node.js packages
  • βœ… Monorepo packages

πŸ”₯ Popular Packages to Explore

Try these commands with your AI assistant:

"Analyze the lodash utility functions"
"Show me the React hooks implementation"
"Explore the Express.js middleware system"
"Review the TypeScript compiler source"

πŸ› οΈ Development

Scripts

npm run build      # Compile TypeScript
npm run dev        # Development with hot reload
npm run test       # Run tests
npm run clean      # Clean build artifacts

Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/amazing-feature
  3. Commit changes: git commit -m 'Add amazing feature'
  4. Push to branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ“ˆ Performance

  • Fast Downloads: Optimized npm registry API usage
  • Memory Efficient: Streams large packages
  • Smart Caching: Temporary file management
  • Error Recovery: Robust error handling

πŸ”’ Security

  • Read-Only: Never modifies packages
  • Sandboxed: Temporary extraction directories
  • No Execution: Only reads source code
  • Public Packages Only: No private registry access

πŸ› Troubleshooting

Issue Solution
Package not found Verify package name on npmjs.com
Network errors Check internet connectivity
Permission errors Ensure Node.js 18+ and proper permissions
Large packages timeout Try specific file paths instead of full package

πŸ“„ License

MIT Β© Ligament

🌟 Star History

Star History Chart

🀝 Related Projects


⭐ Star this repo β€’ πŸ› Report Bug β€’ πŸ’‘ Request Feature

Made with ❀️ for the AI development community

About

"MCP server for fetching and exploring NPM package source code. Built with TypeScript, supports package browsing, file extraction, and code analysis."

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published