michaelwybraniec/mcp-server-project-documenter
If you are the rightful owner of mcp-server-project-documenter and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
ProjectDocumenter is an MCP server that automates the creation of detailed README.md files for software projects.
generate-project-md
Creates or updates
project.md
.document-project
Generates
project.md
and a comprehensiveREADME.md
.update-readme
Updates or creates
README.md
with provided content.assess-readme-quality
Reviews the quality of
README.md
.
ProjectDocumenter
Description
ProjectDocumenter is an MCP (Model Context Protocol) server designed to automatically generate documentation, specifically focusing on creating detailed README.md files for software projects. It works by first creating a project.md
file that summarizes the codebase, and then uses this summary to generate a comprehensive README.md.
Features
- Automated
project.md
Generation: Automatically creates aproject.md
file summarizing all relevant code files in a project, respecting.gitignore
rules. - Comprehensive
README.md
Creation: Generates a detailed and well-structuredREADME.md
based on the project's codebase, following modern documentation standards. - README Quality Assessment: Provides tools to assess the quality of existing
README.md
files against best practices. - Flexible Updates: Allows for updating existing
README.md
content programmatically. - Git Integration: Smartly ignores files and directories specified in
.gitignore
to ensure only relevant code is documented.
Owner and Maintainer
Michael Wybraniec (ONE-FRONT)
Technologies Used
- Node.js: The runtime environment for the server.
- TypeScript: The primary language for the server code.
- @modelcontextprotocol/sdk: The SDK used to build the MCP server.
- Zod: A TypeScript-first schema declaration and validation library.
- Express: A web application framework for Node.js (used by the SDK internally).
- Other dependencies (as listed in
package.json
andpackage-lock.json
for various functionalities like file handling, process execution, etc.)
Installation
To set up ProjectDocumenter locally, follow these steps:
- Clone the repository (assuming you have the source code):
git clone <repository_url> cd mcp-server-project-documenter
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
ProjectDocumenter provides tools to help document your projects. The primary way to use it is via the document-project
tool through the mcp
command or an MCP Inspector.
Documenting a Project
To document a project, use the document-project
tool, providing the absolute path to the project directory. This will generate or update project.md
and create/update a README.md
.
mcp run ProjectDocumenter document-project --projectPath /path/to/your/project
Replace /path/to/your/project
with the actual absolute path to the project you want to document.
Generating project.md
You can also generate just the project.md
file using the generate-project-md
tool:
mcp run ProjectDocumenter generate-project-md --projectPath /path/to/your/project
Updating README.md
If you have existing content for your README or want to manually update it, you can use the update-readme
tool:
mcp run ProjectDocumenter update-readme --projectPath /path/to/your/project --content "Your README content here"
Assessing README.md
Quality
To get an assessment of your README's quality based on documentation standards, use the assess-readme-quality
tool:
mcp run ProjectDocumenter assess-readme-quality --projectPath /path/to/your/project
Running the Server (for development/testing)
For development or testing, you can start the MCP server directly:
npm start
Or in development mode with automatic recompilation:
npm run dev
Project Structure Overview
package.json
: Project metadata and dependencies.package-lock.json
: Records the exact versions of dependencies.tsconfig.json
: TypeScript configuration.src/index.ts
: The main server file defining MCP tools, resources, and prompts.project.md
: (Generated) A summary of the project's code.README.md
: (Generated/Updated) The project's documentation file.test-server.sh
: A script for building and testing the server using a temporary directory and sample files.
API Documentation
The ProjectDocumenter exposes several tools and resources via the Model Context Protocol:
- Tools:
generate-project-md
: Creates or updatesproject.md
.document-project
: Generatesproject.md
and a comprehensiveREADME.md
.update-readme
: Updates or createsREADME.md
with provided content.assess-readme-quality
: Reviews the quality ofREADME.md
.
- Resources:
project-md
: Accesses the content of theproject.md
file.readme
: Accesses the content of theREADME.md
file.
- Prompts:
generate-readme
: A prompt definition for generating a README.assess-readme
: A prompt definition for assessing a README.
Detailed usage and schema for these tools can be found by inspecting the server using an MCP Inspector tool or referring to the src/index.ts
source code.
License
This project is licensed under the MIT License. See the LICENSE
file (if present, otherwise inferred from package.json
) for details.
Contributing
We welcome contributions to ProjectDocumenter! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix:
git checkout -b feature/your-feature-name
orgit checkout -b bugfix/issue-description
. - Make your changes and ensure your code adheres to the project's coding standards.
- Write clear commit messages.
- Test your changes thoroughly.
- Submit a Pull Request to the
main
branch with a clear description of your changes.
Reporting Issues
If you find any bugs or have feature requests, please open an issue on the GitHub repository.
THANK YOU TO THE OPEN SOURCE COMMUNITY