
Security News
Google’s OSV Fix Just Added 500+ New Advisories — All Thanks to One Small Policy Change
A data handling bug in OSV.dev caused disputed CVEs to disappear from vulnerability feeds until a recent fix restored over 500 advisories.
@yeepay/awesome-components-mcp
Advanced tools
MCP server providing access to awesome-components documentation and integration guides with dual-mode operation: direct fetch and GitLab MCP instruction generation
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-mcp
npx
["-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_discovery
Purpose: Intelligently discovers and categorizes all available components from the main llms.txt file.
Parameters:
This tool requires no parameters.
Output Format:
Example Usage:
{
"method": "tools/call",
"params": {
"name": "components_discovery",
"arguments": {}
}
}
Sample Response (JSON Format):
{
"source": "https://gitlab.example.com/repo/-/raw/main/llms.txt",
"totalComponents": 25,
"componentsByType": {
"component": 15,
"guide": 8,
"documentation": 2
},
"components": [
{
"name": "dynamicpassword",
"type": "component",
"path": "yeepay/dynamicpassword"
},
{
"name": "authentication",
"type": "component",
"path": "yeepay/authentication"
},
{
"name": "getting-started",
"type": "guide",
"path": "guide/getting-started"
}
]
}
get_components_guide
Purpose: 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.js
We 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
The npm package @yeepay/awesome-components-mcp receives a total of 9 weekly downloads. As such, @yeepay/awesome-components-mcp popularity was classified as not popular.
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.
Security News
A data handling bug in OSV.dev caused disputed CVEs to disappear from vulnerability feeds until a recent fix restored over 500 advisories.
Research
/Security News
175 malicious npm packages (26k+ downloads) used unpkg CDN to host redirect scripts for a credential-phishing campaign targeting 135+ organizations worldwide.
Security News
Python 3.14 adds template strings, deferred annotations, and subinterpreters, plus free-threaded mode, an experimental JIT, and Sigstore verification.