docs: add usage and developer documentation

Add user and developer documentation plus Pagenary docsite publishing support.

Includes Getting Started, Developer Guide, API and MCP references, Pagenary tenant metadata, npm scripts for sync/build/check/serve, and validation coverage for the generated docsite.

Closes #102
This commit is contained in:
Joseph Magly authored and GitHub committed 2026-07-20 12:59:53 -04:00
1 parent 7b1d12a07c
commit 0c35a833b9
39 files changed
+4920 -2

No files matched your search

+76
View File
@@ -0,0 +1,76 @@
---
title: "MCP Guide"
summary: "Model Context Protocol setup and security_recon usage."
description: "Model Context Protocol setup and security_recon usage."
audience: ["developer", "integrator"]
category: "developer"
status: "current"
source: "T3MP3ST repository"
sourcePath: "docs/MCP_GUIDE.md"
updated: "2026-07-20"
---
# MCP Guide
T3MP3ST includes a Model Context Protocol stdio server in `src/mcp-server.ts`.
## Start The Server
From a development checkout:
```bash
npm run mcp
```
From a built package:
```bash
npm run build
npm run mcp:prod
```
## Exposed Tool
| Tool | Purpose |
|---|---|
| `security_recon` | Runs quick DNS and nmap reconnaissance against a hostname or IP |
Input schema:
```json
{
"target": "example.com",
"scan_type": "quick"
}
```
`scan_type` may be `quick`, `standard`, `full`, or `stealth`.
## Safety And Validation
The MCP server validates the target before it reaches a subprocess:
- Target must be a hostname or IP-like value matching `[A-Za-z0-9._:-]`
- Shell metacharacters, spaces, pipes, and command separators are rejected
- Subprocesses use `execFile`, not a shell
- Executable names are restricted to an allowlist
The current `security_recon` implementation calls:
- `dig +short <target> ANY`
- `nmap` with scan arguments selected by `scan_type`
Only use this tool against systems inside your authorized scope.
## Example MCP Tool Call
```json
{
"name": "security_recon",
"arguments": {
"target": "scanme.nmap.org",
"scan_type": "quick"
}
}
```
The response is JSON text containing DNS records, nmap output, command summaries, and suggested next steps.