Model Context Protocol server for PwnDoc pentest documentation
Tools for managing penetration test audits in PwnDoc.
List all audits, optionally filtered by finding title.
| Parameter | Type | Required | Description |
|---|---|---|---|
finding_title |
string | No | Filter audits containing findings with this title |
List all audits:
“Show me all audits”
Filter by finding:
“Find audits that have SQL injection findings”
[
{
"_id": "507f1f77bcf86cd799439011",
"name": "Acme Corp Web App Pentest Q4",
"auditType": "Web Application",
"state": "In Progress",
"client": {"firstname": "John", "lastname": "Doe"},
"company": {"name": "Acme Corporation"},
"date_start": "2024-10-01",
"date_end": "2024-10-31"
}
]
Get complete audit details including all findings, scope, and sections.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID (MongoDB ObjectId) |
“Show me the details of audit 507f1f77bcf86cd799439011”
“Get the full information for the Acme Corp pentest”
Complete audit object with findings, sections, collaborators, and all metadata.
Get general audit information (name, dates, client) without findings.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
“What are the dates for the Acme audit?”
“Who is the client for audit 507f1f77bcf86cd799439011?”
Create a new audit/pentest.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Audit name |
audit_type |
string | Yes | Type of audit (e.g., “Web Application”) |
language |
string | Yes | Language code (e.g., “en”) |
“Create a new web application pentest called ‘Mobile Banking Assessment 2024’”
“Start a new audit for infrastructure testing in English”
{
"_id": "507f1f77bcf86cd799439012",
"name": "Mobile Banking Assessment 2024",
"auditType": "Web Application",
"language": "en"
}
Update audit general information.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
name |
string | No | New audit name |
client |
string | No | Client ID |
company |
string | No | Company ID |
date_start |
string | No | Start date (ISO format) |
date_end |
string | No | End date (ISO format) |
scope |
array | No | Scope items |
template |
string | No | Report template ID |
location |
string | No | Audit location |
“Update the end date of audit X to December 31st”
“Add app.example.com to the scope of the current audit”
Permanently delete an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID to delete |
“Delete the test audit 507f1f77bcf86cd799439011”
⚠️ Warning: This action is irreversible.
Generate and download the audit report as DOCX.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
“Generate the report for the completed Acme audit”
“Create the pentest report for audit 507f1f77bcf86cd799439011”
Binary DOCX file content.
Get network configuration for an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
Update network information for an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
network_data |
object | Yes | Network configuration data |
Toggle the approval status of an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
“Approve the Acme Corp audit”
“Toggle approval for audit 507f1f77bcf86cd799439011”
Set the review ready status of an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
state |
boolean | Yes | Ready for review state |
“Mark the Acme audit as ready for review”
“Set audit X as not ready for review”
Get a specific section from an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
section_id |
string | Yes | The section ID |
“Show me the executive summary section of the Acme audit”
Update a section’s content in an audit.
| Parameter | Type | Required | Description |
|---|---|---|---|
audit_id |
string | Yes | The audit ID |
section_id |
string | Yes | The section ID |
text |
string | Yes | New section content |
“Update the executive summary to include a note about critical findings”
“Add methodology details to the approach section”
1. create_audit → Create new audit
2. update_audit_general → Set client, dates, scope
3. [Add findings via finding tools]
4. update_audit_section → Write narrative sections
5. update_audit_review_status → Mark ready for review
6. toggle_audit_approval → Approve after review
7. generate_audit_report → Generate final report
Get audit overview:
“Give me a summary of the Acme Corp pentest including client, dates, and finding count”
Track progress:
“What audits are currently in progress?”
Upcoming deadlines:
“Show me audits ending this month”