documentation-mcp-server
このプロジェクトは、JavaScriptを使用してドキュメントを管理するためのサーバーを提供します。ユーザーは簡単にドキュメントを作成、更新、削除でき、APIを通じて他のアプリケーションと統合することが可能です。また、セキュリティ機能も強化されており、安全にデータを扱うことができます。
GitHubスター
2
ユーザー評価
未評価
お気に入り
0
閲覧数
21
フォーク
1
イシュー
0
Documentation 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
0
フォロワー
0
リポジトリ
0
Gist
0
貢献数