Files
t3mp3st/docsite/t3mp3st-docs/content/MCP_GUIDE.md
T
Joseph Magly 0c35a833b9 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
2026-07-20 12:59:53 -04:00

77 lines
1.6 KiB
Markdown

---
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.