AI Credential & Secrets Scanner - MCP server that exposes AIHound's credential scanners to AI assistants via Model Context Protocol
AIHound provides 4 well-named, security-focused tools with clear descriptions and structured output. Tool names follow verb_noun convention (aihound_scan, aihound_list_scanners, aihound_get_remediation, aihound_check). Descriptions are concise (50 - 150 chars) and explain purpose and when to use each tool. Input schemas are present with type declarations and descriptions. However, output schemas are not formally documented in the tool definitions, only visible in the Go implementation code (findingToMCP, resultsToMCP). Parameter descriptions are adequate but lack explicit constraints (e.g., min_risk enum values are mentioned in description but not formalized). Error handling is minimal, no recovery guidance or actionable error messages visible in the tool definitions.
Run a single scanner. Useful when the AI only needs to check one tool. Bypasses the scan cache — always runs fresh.
Fetch remediation guidance for a finding by its opaque `finding_id`. Call `aihound_scan` first to get finding_ids. Returns the human-readable remediation string plus the structured remediation_hint dict.
List all available AIHound scanners and whether they apply to this host.
Run AIHound's credential scanners and return structured findings. Findings never contain raw credential values — only masked previews plus a `remediation_hint` dict an agent can act on.
Output schemas not formally documented in tool definitions. Findings structure (finding_id, tool_name, credential_type, etc.) is visible only in Go implementation code, not in MCP tool schema. LLMs cannot infer response structure from tool definitions alone.
min_risk parameter values (critical|high|medium|low|info) are documented in description text but not formalized as an enum constraint in the schema. LLMs may hallucinate invalid risk levels.
No error handling guidance in tool definitions. If a scan fails, times out, or returns no findings, the tool provides no recovery hints (e.g., 'Try aihound_list_scanners to verify scanner availability'). Agents cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
aihound_check description says 'Bypasses the scan cache, always runs fresh' but does not explain when an agent should prefer this over aihound_scan. Dependency hints are missing.
No pagination or result limits documented. If aihound_scan returns hundreds of findings, the response could exhaust context. No limit parameter or guidance on expected result size.