0.1.0 • Published 5 months ago

@seanpoyner/claude-desktop-mcp-playground-node v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Claude MCP Node

A Node.js CLI tool for managing Claude Desktop's Model Context Protocol (MCP) servers. This is a sister project to the Python version, providing the same functionality with a Node.js implementation.

Features

  • Server Registry: Comprehensive database of 30+ MCP servers with installation details
  • CLI Interface: User-friendly command-line tool (pg) for server management
  • Interactive Setup: Guided wizard for easy server installation and configuration
  • Configuration Management: Direct integration with Claude Desktop configuration files
  • Cross-Platform: Full support for macOS, Windows, and Linux

Installation

Prerequisites

  • Node.js 18+ required

Install Dependencies

npm install

Make CLI Available Globally

npm link

Or install dependencies and run directly:

npm start

Usage

Interactive Setup Wizard

pg setup                    # Interactive setup wizard
pg setup --quick           # Quick setup with popular servers

Server Management

pg config search <query>    # Search MCP servers
pg config info <server_id>  # Get server details  
pg config install <server_id>  # Install a server
pg config list             # List installed servers
pg config show             # Show current configuration

Configuration Management

pg config add <name> <command> [--args] [--env]  # Add custom server
pg config remove <name>     # Remove a server
pg config import           # Import current Claude Desktop config

Available MCP Servers

Official Servers (15)

  • filesystem - Secure file operations with configurable access controls
  • memory - Knowledge graph-based persistent memory system
  • puppeteer - Browser automation and web scraping
  • github - Access GitHub repositories, issues, and PRs
  • sqlite - Query and manage SQLite databases
  • postgres - Connect to PostgreSQL databases
  • fetch - Web content fetching and conversion
  • brave-search - Web search with privacy focus
  • And more...

Community Servers (19)

  • linear - Manage Linear issues and projects
  • figma - Access Figma design files
  • aws-third-party - AWS services integration
  • azure - Microsoft Azure services
  • elasticsearch - Query Elasticsearch with natural language
  • And more...

Configuration File Locations

The tool manages Claude Desktop's MCP server configuration:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Development

Project Structure

claude-mcp-node/
├── src/
│   ├── cli.js              # Main CLI interface
│   ├── serverRegistry.js   # MCP server database
│   ├── configManager.js    # Configuration file management
│   ├── setupWizard.js      # Interactive setup
│   └── index.js           # Entry point
├── bin/
│   └── pg.js              # CLI executable
├── test/                  # Test files
└── package.json

Scripts

npm start          # Run the CLI
npm run dev        # Run with file watching
npm test           # Run tests
npm run lint       # Run ESLint
npm run format     # Format code with Prettier

Dependencies

  • commander - CLI framework
  • chalk - Terminal colors and styling
  • inquirer - Interactive prompts
  • ora - Loading spinners
  • boxen - Terminal boxes
  • fs-extra - Enhanced file system operations

Examples

Quick Setup

# Install essential servers quickly
pg setup --quick

Browse and Install Servers

# Search for GitHub-related servers
pg config search github

# Get detailed info about a server
pg config info github

# Install with custom configuration
pg config install github --env GITHUB_TOKEN=your_token_here

Manual Server Configuration

# Add a custom server
pg config add my-server npx --args my-package --env API_KEY=secret

# List all configured servers
pg config list

# Remove a server
pg config remove my-server

Comparison with Python Version

This Node.js implementation provides the same core functionality as the Python version:

FeaturePython VersionNode.js Version
CLI FrameworkClickCommander.js
Interactive PromptsClick promptsInquirer.js
Terminal StylingRich/ClickChalk + Boxen
File Operationspathlib/jsonfs-extra
Configuration Management
Server Registry
Setup Wizard
Cross-platform

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Run linting and formatting
  6. Submit a pull request

License

MIT License - see LICENSE file for details.

Related Projects