
MCP Server (Language Server Protocol)
A TypeScript-based Language Server Protocol implementation for code reference searching with support for multiple search strategies.
Features
- 🔍 Fast code reference search using ripgrep
- 🌐 Web interface for easy searching
- 💻 Terminal interface for command-line usage
- 📊 Grouped results by file type
- 🔄 Fallback search mechanisms
- 🔥 Hot reload support for development
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- npm (comes with Node.js)
- Homebrew (for macOS users)
- ripgrep (recommended for faster searches)
Installation
1. Clone the Repository
git clone <your-repository-url>
cd <repository-name>/src/mcp-server/v1
2. Install Homebrew (macOS only)
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Add Homebrew to PATH (follow the instructions shown after installation)
# Usually these commands:
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# Restart your terminal or run
source ~/.zprofile
3. Install ripgrep
# macOS (using Homebrew)
brew install ripgrep
# Ubuntu/Debian
sudo apt-get update && sudo apt-get install ripgrep
# Fedora
sudo dnf install ripgrep
# Windows (using Chocolatey)
choco install ripgrep
4. Install Dependencies
npm install
Usage
Building the Project
npm run build
Starting the Server
Production Mode
npm run start
Development Mode (with hot reload)
npm run dev
Accessing the Interfaces
-
Web Interface
- Open your browser and navigate to:
http://localhost:3000
- Enter your search term and directory
- View results grouped by file type
- Open your browser and navigate to:
-
Terminal Interface
- The terminal interface starts automatically with the server
- Follow the prompts to enter search terms
- Results will be displayed in the terminal
Search Strategies
The server uses multiple search strategies in the following order:
-
ripgrep (fastest)
- Uses regular expressions for exact and partial matches
- Excludes common directories (node_modules, .git, etc.)
- Provides line numbers and context
-
grep (fallback)
- Used if ripgrep is not available
- Similar functionality but slower
-
Node.js (final fallback)
- Pure JavaScript implementation
- Used if neither ripgrep nor grep is available
Configuration
Environment Requirements
- The server automatically checks for required software
- Provides installation instructions if anything is missing
- Verifies correct working directory
TypeScript Configuration
- Target: ES2020
- Module: CommonJS
- Strict type checking enabled
- Source maps generated for debugging
Troubleshooting
Common Issues
-
Wrong Directory
- Ensure you're in the
src/mcp-server/v1
directory - Check the path shown in the environment check
- Ensure you're in the
-
Homebrew Installation
- If Homebrew commands fail, ensure PATH is configured
- Check
~/.zprofile
for Homebrew configuration
-
ripgrep Not Found
- Verify Homebrew is installed and in PATH
- Try reinstalling:
brew reinstall ripgrep
-
Port Already in Use
- The server will automatically find an available port
- Default port is 3000
Error Messages
If you see these errors, try the following:
-
command not found: brew
- Reinstall Homebrew
- Reconfigure PATH
-
command not found: rg
- Install ripgrep:
brew install ripgrep
- Verify PATH configuration
- Install ripgrep:
-
EADDRINUSE
- Port is in use
- Server will automatically try another port
Development
Available Scripts
-
npm run build
: Build the project -
npm run start
: Start in production mode -
npm run dev
: Start with hot reload -
npm run clean
: Clean build output
Adding New Features
- Modify
server.ts
for core functionality - Update
index.html
for web interface changes - Run in dev mode to test changes
- Build and restart to apply
相关推荐
I find academic articles and books for research and literature reviews.
Confidential guide on numerology and astrology, based of GG33 Public information
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Découvrez la collection la plus complète et la plus à jour de serveurs MCP sur le marché. Ce référentiel sert de centre centralisé, offrant un vaste catalogue de serveurs MCP open-source et propriétaires, avec des fonctionnalités, des liens de documentation et des contributeurs.
Manipulation basée sur Micropython I2C de l'exposition GPIO de la série MCP, dérivée d'Adafruit_MCP230XX
L'application tout-en-un desktop et Docker AI avec chiffon intégré, agents AI, constructeur d'agent sans code, compatibilité MCP, etc.
Un puissant plugin Neovim pour gérer les serveurs MCP (Protocole de contexte modèle)
MCP Server pour récupérer le contenu de la page Web à l'aide du navigateur sans tête du dramwright.
Pont entre les serveurs Olllama et MCP, permettant aux LLM locaux d'utiliser des outils de protocole de contexte de modèle
La communauté du curseur et de la planche à voile, recherchez des règles et des MCP
🧑🚀 全世界最好的 LLM 资料总结 (数据处理、模型训练、模型部署、 O1 模型、 MCP 、小语言模型、视觉语言模型) | Résumé des meilleures ressources LLM du monde.
Reviews

user_vf3EoJmw
I am thoroughly impressed with mcp-server. Created by the talented Meeneshsolanki, this tool is an indispensable addition to my software stack. Its robust functionality and ease of use streamline my server management like never before. The clear documentation and active community support make it even better. Highly recommended to anyone in need of a reliable server solution!