pwndoc-mcp-server 1.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pwndoc-mcp-server might be problematic. Click here for more details.
- pwndoc_mcp_server/__init__.py +57 -0
- pwndoc_mcp_server/cli.py +441 -0
- pwndoc_mcp_server/client.py +870 -0
- pwndoc_mcp_server/config.py +411 -0
- pwndoc_mcp_server/logging_config.py +329 -0
- pwndoc_mcp_server/server.py +950 -0
- pwndoc_mcp_server/version.py +26 -0
- pwndoc_mcp_server-1.0.2.dist-info/METADATA +110 -0
- pwndoc_mcp_server-1.0.2.dist-info/RECORD +11 -0
- pwndoc_mcp_server-1.0.2.dist-info/WHEEL +4 -0
- pwndoc_mcp_server-1.0.2.dist-info/entry_points.txt +2 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Version helpers for PwnDoc MCP Server.
|
|
3
|
+
|
|
4
|
+
Centralizes version lookup so the CLI and server report the same value.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from importlib import metadata
|
|
8
|
+
|
|
9
|
+
PACKAGE_NAME = "pwndoc-mcp-server"
|
|
10
|
+
_FALLBACK_VERSION = "1.0.2"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def get_version() -> str:
|
|
14
|
+
"""
|
|
15
|
+
Return the installed package version, falling back to a bundled default.
|
|
16
|
+
|
|
17
|
+
This ensures local source checkouts (or editable installs) still report a
|
|
18
|
+
sensible version while published wheels use the package metadata.
|
|
19
|
+
"""
|
|
20
|
+
try:
|
|
21
|
+
return metadata.version(PACKAGE_NAME)
|
|
22
|
+
except metadata.PackageNotFoundError:
|
|
23
|
+
return _FALLBACK_VERSION
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
__all__ = ["get_version", "PACKAGE_NAME"]
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pwndoc-mcp-server
|
|
3
|
+
Version: 1.0.2
|
|
4
|
+
Summary: Model Context Protocol server for PwnDoc penetration testing documentation
|
|
5
|
+
Project-URL: Homepage, https://github.com/walidfaour/pwndoc-mcp-server
|
|
6
|
+
Project-URL: Documentation, https://github.com/walidfaour/pwndoc-mcp-server#readme
|
|
7
|
+
Project-URL: Repository, https://github.com/walidfaour/pwndoc-mcp-server
|
|
8
|
+
Project-URL: Issues, https://github.com/walidfaour/pwndoc-mcp-server/issues
|
|
9
|
+
Author-email: Walid Faour <security@walidfaour.com>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
Keywords: documentation,mcp,penetration-testing,pentest,pwndoc,security,vulnerability
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Environment :: Console
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Intended Audience :: Information Technology
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Topic :: Security
|
|
25
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
26
|
+
Requires-Python: >=3.8
|
|
27
|
+
Requires-Dist: httpx>=0.25.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0
|
|
29
|
+
Requires-Dist: rich>=13.0.0
|
|
30
|
+
Requires-Dist: typer>=0.9.0
|
|
31
|
+
Provides-Extra: all
|
|
32
|
+
Requires-Dist: aiohttp>=3.9.0; extra == 'all'
|
|
33
|
+
Requires-Dist: rich>=13.0.0; extra == 'all'
|
|
34
|
+
Requires-Dist: typer>=0.9.0; extra == 'all'
|
|
35
|
+
Provides-Extra: cli
|
|
36
|
+
Requires-Dist: rich>=13.0.0; extra == 'cli'
|
|
37
|
+
Requires-Dist: typer>=0.9.0; extra == 'cli'
|
|
38
|
+
Provides-Extra: dev
|
|
39
|
+
Requires-Dist: aiohttp>=3.9.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
41
|
+
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
43
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
44
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
45
|
+
Requires-Dist: rich>=13.0.0; extra == 'dev'
|
|
46
|
+
Requires-Dist: ruff>=0.1.0; extra == 'dev'
|
|
47
|
+
Requires-Dist: typer>=0.9.0; extra == 'dev'
|
|
48
|
+
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
|
|
49
|
+
Provides-Extra: sse
|
|
50
|
+
Requires-Dist: aiohttp>=3.9.0; extra == 'sse'
|
|
51
|
+
Description-Content-Type: text/markdown
|
|
52
|
+
|
|
53
|
+
# PwnDoc MCP Server - Python
|
|
54
|
+
|
|
55
|
+
Full-featured Python implementation with pip, Docker, and comprehensive CLI.
|
|
56
|
+
|
|
57
|
+
See the [main README](../README.md) for complete documentation.
|
|
58
|
+
|
|
59
|
+
## Quick Start
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Install
|
|
63
|
+
pip install pwndoc-mcp-server[cli]
|
|
64
|
+
|
|
65
|
+
# Configure
|
|
66
|
+
export PWNDOC_URL="https://your-pwndoc.com"
|
|
67
|
+
export PWNDOC_TOKEN="your-token"
|
|
68
|
+
|
|
69
|
+
# Test
|
|
70
|
+
pwndoc-mcp test
|
|
71
|
+
|
|
72
|
+
# Run
|
|
73
|
+
pwndoc-mcp serve
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Development
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# Install dev dependencies
|
|
80
|
+
pip install -e .[dev]
|
|
81
|
+
|
|
82
|
+
# Run tests
|
|
83
|
+
pytest
|
|
84
|
+
|
|
85
|
+
# Run with coverage
|
|
86
|
+
pytest --cov=pwndoc_mcp_server --cov-report=html
|
|
87
|
+
|
|
88
|
+
# Linting
|
|
89
|
+
ruff check src/
|
|
90
|
+
black --check src/
|
|
91
|
+
mypy src/
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Project Structure
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
python/
|
|
98
|
+
├── src/pwndoc_mcp_server/
|
|
99
|
+
│ ├── __init__.py # Package init
|
|
100
|
+
│ ├── server.py # MCP server (89 tools)
|
|
101
|
+
│ ├── client.py # PwnDoc API client
|
|
102
|
+
│ ├── config.py # Configuration
|
|
103
|
+
│ ├── cli.py # Rich CLI
|
|
104
|
+
│ └── logging_config.py # Logging
|
|
105
|
+
├── tests/ # Test suite
|
|
106
|
+
├── pyproject.toml # Package config
|
|
107
|
+
├── Dockerfile # Docker build
|
|
108
|
+
├── docker-compose.yml # Docker Compose
|
|
109
|
+
└── pytest.ini # Pytest config
|
|
110
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
pwndoc_mcp_server/__init__.py,sha256=HGSooRs1j1IBU7FwYsgkqVLu1z88jx-eSVQw069LgZ4,1147
|
|
2
|
+
pwndoc_mcp_server/cli.py,sha256=y8RuR9yrq57fZny3ncmUEYtETpabbuohLUf5jAqh0ks,15250
|
|
3
|
+
pwndoc_mcp_server/client.py,sha256=qcrb9zBbMYkMtZEXrWixi3zCVmt-stLQmMSoqGRuQEA,31422
|
|
4
|
+
pwndoc_mcp_server/config.py,sha256=BbJw5EQa1Kny4ThMzfQuXhOsC644hnRsLACH3MD0m28,12781
|
|
5
|
+
pwndoc_mcp_server/logging_config.py,sha256=-FuabER6p4XL-AGY3wfLRy9cBHJO6WhvgCASTiqlKRs,10648
|
|
6
|
+
pwndoc_mcp_server/server.py,sha256=0WqOq1q-DRjZe3F76pBVLBZJBCPRX2gZe5dmJhcHxDI,34362
|
|
7
|
+
pwndoc_mcp_server/version.py,sha256=3XfoPAXQ3yMxaYQ_nHMIMwzbwQTSEV4c-kFp6520PWs,660
|
|
8
|
+
pwndoc_mcp_server-1.0.2.dist-info/METADATA,sha256=_Nws1S09mEg18lGYPPrFfBjd6G4oaNFmQbHqcamih-g,3526
|
|
9
|
+
pwndoc_mcp_server-1.0.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
10
|
+
pwndoc_mcp_server-1.0.2.dist-info/entry_points.txt,sha256=ksxRAw6RhdIzBX3mDMpm42qiuAF9SBYgK8aoqBJqxPI,58
|
|
11
|
+
pwndoc_mcp_server-1.0.2.dist-info/RECORD,,
|