[PR #135] feat: Add Shannon MCP Server for Claude Desktop Integration #135

Open
opened 2026-02-27 08:09:24 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/KeygraphHQ/shannon/pull/135
Author: @milog1994
Created: 2/14/2026
Status: 🔄 Open

Base: mainHead: claude/determined-shirley


📝 Commits (3)

  • 5c8217d feat: add desktop-mcp-server for Claude Desktop integration
  • 9d5f7a9 docs: add architecture playground visualization
  • a9a1fe7 docs: add Desktop MCP Server instructions to CLAUDE.md

📊 Changes

25 files changed (+4278 additions, -2 deletions)

View changed files

📝 CLAUDE.md (+29 -1)
desktop-mcp-server/package-lock.json (+1656 -0)
desktop-mcp-server/package.json (+29 -0)
desktop-mcp-server/src/index.ts (+29 -0)
desktop-mcp-server/src/infrastructure/docker-bridge.ts (+180 -0)
desktop-mcp-server/src/infrastructure/path-resolver.ts (+151 -0)
desktop-mcp-server/src/infrastructure/temporal-client.ts (+149 -0)
desktop-mcp-server/src/prompts/analyze-results.ts (+33 -0)
desktop-mcp-server/src/prompts/start-pentest.ts (+45 -0)
desktop-mcp-server/src/resources/audit-logs.ts (+119 -0)
desktop-mcp-server/src/resources/configs.ts (+45 -0)
desktop-mcp-server/src/resources/deliverables.ts (+79 -0)
desktop-mcp-server/src/server.ts (+381 -0)
desktop-mcp-server/src/tools/get-report.ts (+106 -0)
desktop-mcp-server/src/tools/list-configs.ts (+74 -0)
desktop-mcp-server/src/tools/list-scans.ts (+119 -0)
desktop-mcp-server/src/tools/query-progress.ts (+95 -0)
desktop-mcp-server/src/tools/start-scan.ts (+130 -0)
desktop-mcp-server/src/tools/stop-scan.ts (+42 -0)
desktop-mcp-server/src/tools/validate-config.ts (+107 -0)

...and 5 more files

📄 Description

Summary

This PR introduces a dedicated Shannon Desktop MCP Server to enable deep integration between Claude Desktop and the Shannon pentest infrastructure.

The new desktop-mcp-server package runs on the host machine and acts as a bridge, allowing Claude Desktop to:

  1. Control Dockerized Workflows: Start, stop, and monitor Temporal workflows via a direct gRPC connection to localhost:7233.
  2. Access Local Files: Read config files and audit logs directly from the host filesystem for low latency.
  3. Visualize Architecture: Includes an interactive playground (shannon-architecture-playground.html) to understand the data flow.

Key Features

  • New Package: desktop-mcp-server/ with its own package.json and tsconfig.json to keep dependencies clean.
  • MCP Tools:
    • start_scan: Launch scans with validation for URLs, repos, and configs.
    • query_progress: Real-time status checks of Temporal workflows.
    • get_report: Retrieve final markdown reports.
    • validate_config: Verify YAML configs against the schema.
  • Resources: Exposes audit-logs/, configs/, and deliverables/ as read-only resources.
  • Visualization: Added shannon-architecture-playground.html for architectural documentation.

Test Plan

  1. Run npm run build:mcp to verify compilation.
  2. Configure Claude Desktop with the new server:
    "shannon": {
      "command": "node",
      "args": ["/path/to/shannon/desktop-mcp-server/dist/index.js"],
      "env": { "SHANNON_ROOT": "..." }
    }
    
  3. Verify tools appear in Claude Desktop.
  4. Run a start_scan and check query_progress to confirm end-to-end connectivity with Docker.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/KeygraphHQ/shannon/pull/135 **Author:** [@milog1994](https://github.com/milog1994) **Created:** 2/14/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `claude/determined-shirley` --- ### 📝 Commits (3) - [`5c8217d`](https://github.com/KeygraphHQ/shannon/commit/5c8217d4f67abbc9576ac9319833b4f7dbd5b7ac) feat: add desktop-mcp-server for Claude Desktop integration - [`9d5f7a9`](https://github.com/KeygraphHQ/shannon/commit/9d5f7a9ef33f14be0c3728f8759d3b1e8f1f6359) docs: add architecture playground visualization - [`a9a1fe7`](https://github.com/KeygraphHQ/shannon/commit/a9a1fe74add0461838b1854e5550c4768e2dde25) docs: add Desktop MCP Server instructions to CLAUDE.md ### 📊 Changes **25 files changed** (+4278 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `CLAUDE.md` (+29 -1) ➕ `desktop-mcp-server/package-lock.json` (+1656 -0) ➕ `desktop-mcp-server/package.json` (+29 -0) ➕ `desktop-mcp-server/src/index.ts` (+29 -0) ➕ `desktop-mcp-server/src/infrastructure/docker-bridge.ts` (+180 -0) ➕ `desktop-mcp-server/src/infrastructure/path-resolver.ts` (+151 -0) ➕ `desktop-mcp-server/src/infrastructure/temporal-client.ts` (+149 -0) ➕ `desktop-mcp-server/src/prompts/analyze-results.ts` (+33 -0) ➕ `desktop-mcp-server/src/prompts/start-pentest.ts` (+45 -0) ➕ `desktop-mcp-server/src/resources/audit-logs.ts` (+119 -0) ➕ `desktop-mcp-server/src/resources/configs.ts` (+45 -0) ➕ `desktop-mcp-server/src/resources/deliverables.ts` (+79 -0) ➕ `desktop-mcp-server/src/server.ts` (+381 -0) ➕ `desktop-mcp-server/src/tools/get-report.ts` (+106 -0) ➕ `desktop-mcp-server/src/tools/list-configs.ts` (+74 -0) ➕ `desktop-mcp-server/src/tools/list-scans.ts` (+119 -0) ➕ `desktop-mcp-server/src/tools/query-progress.ts` (+95 -0) ➕ `desktop-mcp-server/src/tools/start-scan.ts` (+130 -0) ➕ `desktop-mcp-server/src/tools/stop-scan.ts` (+42 -0) ➕ `desktop-mcp-server/src/tools/validate-config.ts` (+107 -0) _...and 5 more files_ </details> ### 📄 Description ## Summary This PR introduces a dedicated **Shannon Desktop MCP Server** to enable deep integration between Claude Desktop and the Shannon pentest infrastructure. The new `desktop-mcp-server` package runs on the host machine and acts as a bridge, allowing Claude Desktop to: 1. **Control Dockerized Workflows**: Start, stop, and monitor Temporal workflows via a direct gRPC connection to `localhost:7233`. 2. **Access Local Files**: Read config files and audit logs directly from the host filesystem for low latency. 3. **Visualize Architecture**: Includes an interactive playground (`shannon-architecture-playground.html`) to understand the data flow. ## Key Features - **New Package**: `desktop-mcp-server/` with its own `package.json` and `tsconfig.json` to keep dependencies clean. - **MCP Tools**: - `start_scan`: Launch scans with validation for URLs, repos, and configs. - `query_progress`: Real-time status checks of Temporal workflows. - `get_report`: Retrieve final markdown reports. - `validate_config`: Verify YAML configs against the schema. - **Resources**: Exposes `audit-logs/`, `configs/`, and `deliverables/` as read-only resources. - **Visualization**: Added `shannon-architecture-playground.html` for architectural documentation. ## Test Plan 1. Run `npm run build:mcp` to verify compilation. 2. Configure Claude Desktop with the new server: ```json "shannon": { "command": "node", "args": ["/path/to/shannon/desktop-mcp-server/dist/index.js"], "env": { "SHANNON_ROOT": "..." } } ``` 3. Verify tools appear in Claude Desktop. 4. Run a `start_scan` and check `query_progress` to confirm end-to-end connectivity with Docker. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shannon-KeygraphHQ#135
No description provided.