subaashnair_documentation_mcp_server

subaashnair_documentation_mcp_server

by SubaashNair
A server that aggregates and provides searchable access to updated documentation for popular libraries.

Documentation Aggregation and Search MCP Server

Status
License
Version
Node Version

A server for developers to access updated documentation of their favorite libraries.

Overview

This MCP (Model-Controller-Presenter) server provides a unified interface for accessing documentation from various libraries. It aggregates documentation from multiple sources, allows for search across all libraries, and ensures developers have access to the most up-to-date information.

Documentation MCP Server Screenshot

Features

  • Documentation Aggregation: Collects documentation from various library sources
  • Search Functionality: Search across all libraries or filter by specific libraries
  • Version Management: Access documentation for different versions of libraries
  • Automatic Updates: Regular fetching of the latest documentation
  • API Access: Programmatic access to documentation through an API
  • Interactive UI: Web interface for browsing documentation

Quick Installation

Using Installation Script

The easiest way to get started:

# Clone the repository
git clone https://github.com/SubaashNair/documentation-mcp-server.git
cd documentation-mcp-server

# Make the installation script executable
chmod +x install.sh

# Run the installation script
./install.sh

Using Docker

# Clone the repository
git clone https://github.com/SubaashNair/documentation-mcp-server.git
cd documentation-mcp-server

# Copy and edit environment variables
cp .env.example .env

# Start with Docker Compose
docker-compose up -d

Manual Installation

For detailed installation instructions, see the Installation Guide.

Usage

Web Interface

Navigate to http://localhost:3000 in your browser to access the web interface.

Web Interface Demo

API Usage

The server provides a RESTful API for programmatic access to documentation.

Example: Search for documentation

curl -X GET "http://localhost:3000/api/search?q=useState&library=react"

Example: Get library documentation

curl -X GET "http://localhost:3000/api/libraries/react/hooks/useState"

Example: Get API status

curl -X GET "http://localhost:3000/api/status"

For full API documentation, visit /api-docs on your server (e.g., http://localhost:3000/api-docs).

Architecture

The Documentation MCP Server follows the Model-Controller-Presenter (MCP) pattern:

  • Model: Data services for fetching and storing documentation (src/services/)
  • Controller: Request handlers for API endpoints (src/controllers/)
  • Presenter: Front-end interface and API response formatting (public/)

MCP Architecture Diagram

Configuration

The server can be configured by editing the .env file or setting environment variables.

Basic Configuration

Variable Description Default
PORT Port to run the server on 3000
GITHUB_TOKEN GitHub token for API access -
DOCUMENTATION_UPDATE_SCHEDULE Cron schedule for updates 0 0 * * * (daily)
LIBRARIES Comma-separated list of libraries to fetch react,vue,angular

For complete configuration options, see the Installation Guide.

Adding New Libraries

To add a new library to the documentation server:

  1. Create a new file in src/libraries/ following the pattern of existing libraries
  2. Implement the required interfaces for fetching and parsing the documentation
  3. Add the library to the configuration

Example implementation:

// src/libraries/your-library.js
const fetchYourLibraryDocumentation = async (version) => {
  // Implementation for fetching documentation
  // ...
};

module.exports = {
  fetchDocumentation: fetchYourLibraryDocumentation
};

Then add it to your .env file:

LIBRARIES=react,vue,angular,your-library

Documentation

Roadmap

  • [ ] Add support for more libraries (TypeScript, Node.js, etc.)
  • [ ] Implement user accounts and favorites
  • [ ] Add offline documentation support
  • [ ] Create a CLI tool for accessing documentation
  • [ ] Implement community contributions for documentation

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Documentation and API design inspired by DevDocs
  • Architecture patterns from Express.js
  • Search functionality powered by Lunr.js

Features & Capabilities

Categories
mcp_server model_context_protocol javascript api_integration search docker documentation express.js lunr.js

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

SubaashNair Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300