mcpField
D
Documentation MCP Server

Documentation MCP Server

Local
github.com/SubaashNairMemory & Knowledge2Updated 84w ago

About Documentation MCP Server

A documentation service for developers that aggregates library docs and supports search, version selection, and scheduled updates. It offers a web interface and REST API for browsing or programmatic access.

Key features

  1. 01Aggregates documentation across libraries
  2. 02Searches all or selected libraries
  3. 03Accesses different documentation versions
  4. 04Fetches updated documentation regularly
  5. 05Web interface and REST API

Use cases

  1. 01Look up API usage for libraries such as React
  2. 02Check documentation by library and version
  3. 03Retrieve documentation through the API

MCP support

As an MCP server, it provides MCP clients with access to cross-library documentation search. The README also describes a web interface and REST API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Documentation 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
VariableDescriptionDefault
PORTPort to run the server on3000
GITHUB_TOKENGitHub token for API access-
DOCUMENTATION_UPDATE_SCHEDULECron schedule for updates0 0 * * * (daily)
LIBRARIESComma-separated list of libraries to fetchreact,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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.