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
- 01Aggregates documentation across libraries
- 02Searches all or selected libraries
- 03Accesses different documentation versions
- 04Fetches updated documentation regularly
- 05Web interface and REST API
Use cases
- 01Look up API usage for libraries such as React
- 02Check documentation by library and version
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEDocumentation MCP Server
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.
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.
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/)
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:
- Create a new file in
src/libraries/following the pattern of existing libraries - Implement the required interfaces for fetching and parsing the documentation
- 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
- Installation Guide - Detailed setup instructions
- API Documentation - OpenAPI documentation (on running server)
- Contributing Guidelines - How to contribute to the project
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
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.