
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
@yeepay/awesome-components-mcp
Advanced tools
MCP server providing access to awesome-components documentation and integration guides
The Awesome Components MCP Server bridges the gap between AI assistants and component documentation, enabling intelligent discovery and retrieval of technical integration guides. It serves as a centralized hub for accessing distributed component documentation across GitLab repositories.
Core Capabilities:
components_discovery: Intelligently discovers and categorizes all available components from the main llms.txt fileget_components_guide: Retrieves comprehensive integration guides for specific components with smart path resolutionClone the repository:
git clone https://gitlab.yeepay.com/awesome/awesome-components-mcp.git
cd awesome-components-mcp
Install dependencies:
npm install
Build the project:
npm run build
Start the server:
npm start
For development with hot-reload:
npm run dev
The server supports flexible configuration through environment variables, allowing deployment across different GitLab instances and environments.
| Variable | Description | Default Value | Required |
|---|---|---|---|
GITLAB_BASE_URL | Base URL for GitLab raw file access | http://gitlab.yeepay.com/awesome/awesome-components/-/raw/main/ | No |
MAIN_LLMS_URL | URL to the main llms.txt file | http://gitlab.yeepay.com/awesome/awesome-components/-/raw/main/llms.txt | No |
GITLAB_PERSONAL_ACCESS_TOKEN | GitLab Personal Access Token for authentication | None | No* |
PORT | Port for the MCP server | 3000 | No |
DEBUG | Enable debug logging | false | No |
Note: GITLAB_PERSONAL_ACCESS_TOKEN is required for accessing private repositories but optional for public ones.
Method 1: Environment File (.env)
Create a .env file in the project root:
# GitLab Configuration
GITLAB_BASE_URL=https://your-gitlab.com/group/project/-/raw/main/
MAIN_LLMS_URL=https://your-gitlab.com/group/project/-/raw/main/llms.txt
# GitLab Authentication (required for private repositories)
GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token_here
# Server Configuration
PORT=3000
DEBUG=true
Method 2: Direct Environment Variables
GITLAB_BASE_URL=https://your-gitlab.com/group/project/-/raw/main/ npm start
Method 3: Docker Environment
docker run -e GITLAB_BASE_URL=https://your-gitlab.com/group/project/-/raw/main/ \
-e GITLAB_PERSONAL_ACCESS_TOKEN=your_token_here \
awesome-components-mcp
To access private repositories, you need to create a GitLab Personal Access Token:
Navigate to GitLab Settings:
https://gitlab.yeepay.com)Create Personal Access Token:
awesome-components-mcp (or any descriptive name)read_api - Read access to the APIread_repository - Read access to repository contentCopy and Store Token:
Configure the Token:
.env file or environment variablesTo use this MCP server with an MCP client (such as Claude Desktop, Continue, or other MCP-compatible applications), you have two options:
{
"mcpServers": {
"yeepay-awesome-components-mcp": {
"command": "npx",
"args": [
"-y",
"@yeepay/awesome-components-mcp"
]
}
}
}
For development or if the package is not yet published:
{
"mcpServers": {
"awesome-components-mcp": {
"command": "node",
"args": [
"/path/to/awesome-components-mcp/dist/server.js"
],
"cwd": "/path/to/awesome-components-mcp"
}
}
}
Note: Replace /path/to/awesome-components-mcp with the actual path to your project directory.
For Claude Desktop:
claude_desktop_config.json fileFor Continue IDE Extension:
.continue/config.json)mcpServers sectionFor Cursor IDE:
mcpServers sectionFor Augment:
For Trae:
awesome-components-mcpnpx["-y", "@yeepay/awesome-components-mcp"]For Custom MCP Clients:
Refer to your specific MCP client documentation for configuration instructions. The server will be available via the npx command shown above.
For development with auto-reload and enhanced debugging:
npm run dev
Build and start the server for production deployment:
npm run build
npm start
Run all tests:
npm test
Run tests in watch mode:
npm run test:watch
Run tests with coverage report:
npm run test:coverage
The server provides two powerful MCP tools for component discovery and documentation retrieval:
components_discoveryPurpose: Intelligently discovers and categorizes all available components from the main llms.txt file.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
format | string | No | parsed | Output format: raw, parsed, or summary |
Output Formats:
raw: Returns the original llms.txt content without processingparsed: Returns structured JSON with component metadata and categorizationsummary: Returns a human-readable summary with component statisticsExample Usage:
{
"method": "tools/call",
"params": {
"name": "components_discovery",
"arguments": {
"format": "summary"
}
}
}
Sample Response (Summary Format):
# Awesome Components
**Total Components Found:** 25
**Components by Type:**
- component: 15 items
- guide: 8 items
- documentation: 2 items
**Component List:**
1. yeepay/dynamicpassword (component)
2. yeepay/authentication (component)
3. common/logging (guide)
...
get_components_guidePurpose: Retrieves comprehensive integration guides for specific components with intelligent path resolution.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
path | string | Yes | Path to the component's llms.txt file (relative or absolute URL) |
Path Resolution:
Example Usage:
{
"method": "tools/call",
"params": {
"name": "get_components_guide",
"arguments": {
"path": "yeepay/dynamicpassword/llms.txt"
}
}
}
Advanced Usage with Absolute URL:
{
"method": "tools/call",
"params": {
"name": "get_components_guide",
"arguments": {
"path": "https://external-gitlab.com/project/-/raw/main/component/llms.txt"
}
}
}
The project follows a clean, modular architecture designed for maintainability and scalability:
awesome-components-mcp/
βββ π src/ # Source code
β βββ π config.ts # Configuration management & environment variables
β βββ π server.ts # Main MCP server entry point
β βββ π services/ # Business logic services
β β βββ π gitlabClient.ts # GitLab API client with error handling
β βββ π tools/ # MCP tool implementations
β β βββ π componentsDiscovery.ts # Component discovery & parsing logic
β β βββ π getComponentsGuide.ts # Component guide retrieval logic
β βββ π __tests__/ # Comprehensive test suite
β βββ π setup.ts # Test configuration & setup
β βββ π config.test.ts # Configuration tests
β βββ π gitlabClient.test.ts # GitLab client tests
β βββ π componentsDiscovery.test.ts # Discovery tool tests
β βββ π getComponentsGuide.test.ts # Guide tool tests
β βββ π integration/ # Integration test suites
βββ π dist/ # Compiled JavaScript output
βββ π package.json # Project dependencies & scripts
βββ π tsconfig.json # TypeScript configuration
βββ π jest.config.js # Jest testing configuration
βββ π .env.example # Environment variables template
βββ π README.md # Project documentation
| Category | Technology | Version | Purpose |
|---|---|---|---|
| Runtime | Node.js | 20+ | JavaScript runtime environment |
| Language | TypeScript | 5.8.3 | Type-safe JavaScript development |
| Framework | MCP SDK | 1.12.1 | Model Context Protocol implementation |
| Validation | Zod | 3.23.8 | Runtime type validation & parsing |
| Testing | Jest | 29.7.0 | Unit & integration testing framework |
| Development | Nodemon | 3.1.10 | Development server with hot-reload |
| Build | TypeScript Compiler | 5.8.3 | Compilation to JavaScript |
Development Build:
npm run build
Watch Mode (Auto-rebuild):
npm run build -- --watch
The project maintains high code quality through comprehensive testing:
Test Categories:
Test Commands:
# Run all tests
npm test
# Watch mode for development
npm run test:watch
# Generate coverage report
npm run test:coverage
Coverage Targets:
| Issue | Symptoms | Solution |
|---|---|---|
| Authentication failed | 401 Unauthorized errors | Check GITLAB_PERSONAL_ACCESS_TOKEN is valid and has correct scopes |
| Access forbidden | 403 Forbidden errors | For private repos: provide token; for public repos: check repository permissions |
| Package not found | npm error could not determine executable to run | Use local configuration (Option 2) or wait for package publication |
| Module not found | Cannot find module errors | Run npm install and npm run build |
| GitLab access errors | 404 Not Found errors | Verify GITLAB_BASE_URL configuration and file paths |
| Port conflicts | EADDRINUSE error | Change PORT environment variable or kill conflicting process |
| TypeScript errors | Compilation failures | Check tsconfig.json and ensure all dependencies are installed |
| Test failures | Jest test errors | Run npm run test:coverage to identify uncovered code paths |
| MCP connection closed | MCP error -1: Connection closed | Check if server starts correctly with node dist/server.js |
| Token validation | Token appears invalid | Ensure token is at least 10 characters and has required scopes |
Enable comprehensive debug logging:
# Enable debug logging
DEBUG=awesome-components-mcp npm start
# Enable verbose logging with timestamps
DEBUG=awesome-components-mcp:* npm start
To test the local MCP server configuration before using it with clients:
# Run the test script
node test-local-mcp.js
This will:
node --inspect dist/server.jsWe welcome contributions! Please follow these guidelines:
Fork & Clone
git clone https://github.com/your-username/awesome-components-mcp.git
cd awesome-components-mcp
Create Feature Branch
git checkout -b feature/your-feature-name
Development Setup
npm install
npm run build
npm test
Make Changes
Testing Requirements
# All tests must pass
npm test
# Coverage must meet minimum thresholds
npm run test:coverage
# Integration tests must pass
npm run test:integration
Submit Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Key Points:
| Resource | Description | Link |
|---|---|---|
| Documentation | Comprehensive guides and API reference | This README |
| Issues | Bug reports and feature requests | GitHub Issues |
| Discussions | Community Q&A and general discussion | GitHub Discussions |
| Examples | Usage examples and integration guides | /examples directory |
Before opening an issue:
FAQs
MCP server providing access to awesome-components documentation and integration guides with dual-mode operation: direct fetch and GitLab MCP instruction generation
We found that @yeepay/awesome-components-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 7 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authoritiesβ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socketβs new workflow scanning support.