mcpcap 0.5.8__tar.gz → 0.5.10__tar.gz

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.
Files changed (55) hide show
  1. mcpcap-0.5.10/.github/ISSUE_TEMPLATE/bug_report.yml +106 -0
  2. mcpcap-0.5.10/.github/ISSUE_TEMPLATE/config.yml +8 -0
  3. mcpcap-0.5.10/.github/ISSUE_TEMPLATE/feature_request.yml +104 -0
  4. mcpcap-0.5.10/.github/ISSUE_TEMPLATE/module_request.yml +123 -0
  5. {mcpcap-0.5.8 → mcpcap-0.5.10}/.github/workflows/release.yml +20 -21
  6. {mcpcap-0.5.8 → mcpcap-0.5.10}/.github/workflows/test.yml +27 -5
  7. {mcpcap-0.5.8 → mcpcap-0.5.10}/PKG-INFO +1 -1
  8. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/_version.py +3 -3
  9. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/PKG-INFO +1 -1
  10. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/SOURCES.txt +4 -0
  11. {mcpcap-0.5.8 → mcpcap-0.5.10}/.github/FUNDING.yml +0 -0
  12. {mcpcap-0.5.8 → mcpcap-0.5.10}/.gitignore +0 -0
  13. {mcpcap-0.5.8 → mcpcap-0.5.10}/.readthedocs.yaml +0 -0
  14. {mcpcap-0.5.8 → mcpcap-0.5.10}/CONTRIBUTING.md +0 -0
  15. {mcpcap-0.5.8 → mcpcap-0.5.10}/LICENSE +0 -0
  16. {mcpcap-0.5.8 → mcpcap-0.5.10}/README.md +0 -0
  17. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/Makefile +0 -0
  18. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/_static/.gitkeep +0 -0
  19. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/api/cli.rst +0 -0
  20. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/api/core.rst +0 -0
  21. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/api/modules.rst +0 -0
  22. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/conf.py +0 -0
  23. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/developer/contributing.md +0 -0
  24. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/developer/module-creation-tutorial.md +0 -0
  25. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/index.rst +0 -0
  26. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/user-guide/analysis-guides.md +0 -0
  27. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/user-guide/installation.md +0 -0
  28. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/user-guide/mcp-integration.md +0 -0
  29. {mcpcap-0.5.8 → mcpcap-0.5.10}/docs/source/user-guide/quickstart.md +0 -0
  30. {mcpcap-0.5.8 → mcpcap-0.5.10}/examples/README.md +0 -0
  31. {mcpcap-0.5.8 → mcpcap-0.5.10}/examples/dhcp.pcap +0 -0
  32. {mcpcap-0.5.8 → mcpcap-0.5.10}/examples/dns.pcap +0 -0
  33. {mcpcap-0.5.8 → mcpcap-0.5.10}/pyproject.toml +0 -0
  34. {mcpcap-0.5.8 → mcpcap-0.5.10}/readme-assets/mcpcap-logo.png +0 -0
  35. {mcpcap-0.5.8 → mcpcap-0.5.10}/server.json +0 -0
  36. {mcpcap-0.5.8 → mcpcap-0.5.10}/setup.cfg +0 -0
  37. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/__init__.py +0 -0
  38. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/cli.py +0 -0
  39. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/core/__init__.py +0 -0
  40. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/core/config.py +0 -0
  41. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/core/server.py +0 -0
  42. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/modules/__init__.py +0 -0
  43. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/modules/base.py +0 -0
  44. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/modules/dhcp.py +0 -0
  45. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/modules/dns.py +0 -0
  46. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap/modules/icmp.py +0 -0
  47. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/dependency_links.txt +0 -0
  48. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/entry_points.txt +0 -0
  49. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/requires.txt +0 -0
  50. {mcpcap-0.5.8 → mcpcap-0.5.10}/src/mcpcap.egg-info/top_level.txt +0 -0
  51. {mcpcap-0.5.8 → mcpcap-0.5.10}/tests/__init__.py +0 -0
  52. {mcpcap-0.5.8 → mcpcap-0.5.10}/tests/test_cli.py +0 -0
  53. {mcpcap-0.5.8 → mcpcap-0.5.10}/tests/test_dhcp.py +0 -0
  54. {mcpcap-0.5.8 → mcpcap-0.5.10}/tests/test_dns.py +0 -0
  55. {mcpcap-0.5.8 → mcpcap-0.5.10}/tests/test_modules/test_icmp.py +0 -0
@@ -0,0 +1,106 @@
1
+ name: Bug Report
2
+ description: Report a bug or issue with mcpcap
3
+ title: "[Bug] "
4
+ labels: ["bug"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for taking the time to report a bug! Please fill out this form as completely as possible.
10
+
11
+ - type: textarea
12
+ id: description
13
+ attributes:
14
+ label: Bug Description
15
+ description: A clear and concise description of what the bug is.
16
+ placeholder: Describe the bug...
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: reproduction
22
+ attributes:
23
+ label: Steps to Reproduce
24
+ description: Steps to reproduce the behavior
25
+ placeholder: |
26
+ 1. Run mcpcap with...
27
+ 2. Analyze PCAP file...
28
+ 3. See error...
29
+ validations:
30
+ required: true
31
+
32
+ - type: textarea
33
+ id: expected
34
+ attributes:
35
+ label: Expected Behavior
36
+ description: A clear and concise description of what you expected to happen.
37
+ placeholder: What should have happened?
38
+ validations:
39
+ required: true
40
+
41
+ - type: textarea
42
+ id: actual
43
+ attributes:
44
+ label: Actual Behavior
45
+ description: What actually happened instead?
46
+ placeholder: What actually happened?
47
+ validations:
48
+ required: true
49
+
50
+ - type: textarea
51
+ id: pcap-info
52
+ attributes:
53
+ label: PCAP File Information
54
+ description: Information about the PCAP file that caused the issue (if applicable)
55
+ placeholder: |
56
+ - File size:
57
+ - Protocols present:
58
+ - Capture tool:
59
+ - Any sensitive data removed: Yes/No
60
+ validations:
61
+ required: false
62
+
63
+ - type: dropdown
64
+ id: modules
65
+ attributes:
66
+ label: Affected Modules
67
+ description: Which mcpcap modules are affected?
68
+ multiple: true
69
+ options:
70
+ - DNS
71
+ - DHCP
72
+ - ICMP
73
+ - All modules
74
+ - Unknown
75
+ validations:
76
+ required: true
77
+
78
+ - type: textarea
79
+ id: environment
80
+ attributes:
81
+ label: Environment
82
+ description: Information about your environment
83
+ placeholder: |
84
+ - mcpcap version:
85
+ - Python version:
86
+ - Operating system:
87
+ - Installation method: pip/git/other
88
+ validations:
89
+ required: true
90
+
91
+ - type: textarea
92
+ id: logs
93
+ attributes:
94
+ label: Error Logs
95
+ description: If applicable, add any error messages or logs
96
+ render: shell
97
+ validations:
98
+ required: false
99
+
100
+ - type: textarea
101
+ id: additional
102
+ attributes:
103
+ label: Additional Context
104
+ description: Add any other context about the problem here
105
+ validations:
106
+ required: false
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: Documentation
4
+ url: https://docs.mcpcap.ai
5
+ about: Check the documentation for usage guides and API reference
6
+ - name: Discussions
7
+ url: https://github.com/mcpcap/mcpcap/discussions
8
+ about: Ask questions and discuss ideas with the community
@@ -0,0 +1,104 @@
1
+ name: Feature Request
2
+ description: Suggest a new feature or enhancement for mcpcap
3
+ title: "[Feature] "
4
+ labels: ["enhancement"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for suggesting a new feature! Please describe your idea clearly.
10
+
11
+ - type: textarea
12
+ id: summary
13
+ attributes:
14
+ label: Feature Summary
15
+ description: A brief summary of the feature you'd like to see
16
+ placeholder: What feature would you like to see added?
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: problem
22
+ attributes:
23
+ label: Problem Statement
24
+ description: What problem does this feature solve?
25
+ placeholder: |
26
+ Is your feature request related to a problem? Please describe.
27
+ A clear and concise description of what the problem is.
28
+ validations:
29
+ required: true
30
+
31
+ - type: textarea
32
+ id: solution
33
+ attributes:
34
+ label: Proposed Solution
35
+ description: Describe the solution you'd like
36
+ placeholder: A clear and concise description of what you want to happen.
37
+ validations:
38
+ required: true
39
+
40
+ - type: dropdown
41
+ id: category
42
+ attributes:
43
+ label: Feature Category
44
+ description: What type of feature is this?
45
+ options:
46
+ - New protocol support
47
+ - Analysis enhancement
48
+ - Performance improvement
49
+ - User interface
50
+ - Documentation
51
+ - Testing
52
+ - Other
53
+ validations:
54
+ required: true
55
+
56
+ - type: dropdown
57
+ id: priority
58
+ attributes:
59
+ label: Priority Level
60
+ description: How important is this feature to you?
61
+ options:
62
+ - Low - Nice to have
63
+ - Medium - Would be helpful
64
+ - High - Important for my use case
65
+ - Critical - Blocking my work
66
+ validations:
67
+ required: true
68
+
69
+ - type: textarea
70
+ id: alternatives
71
+ attributes:
72
+ label: Alternative Solutions
73
+ description: Describe any alternative solutions or features you've considered
74
+ placeholder: What alternatives have you considered?
75
+ validations:
76
+ required: false
77
+
78
+ - type: textarea
79
+ id: use-cases
80
+ attributes:
81
+ label: Use Cases
82
+ description: Describe specific use cases where this feature would be valuable
83
+ placeholder: |
84
+ - Use case 1: ...
85
+ - Use case 2: ...
86
+ validations:
87
+ required: false
88
+
89
+ - type: textarea
90
+ id: implementation
91
+ attributes:
92
+ label: Implementation Ideas
93
+ description: If you have ideas about how this could be implemented, share them here
94
+ placeholder: Any thoughts on how this could be implemented?
95
+ validations:
96
+ required: false
97
+
98
+ - type: textarea
99
+ id: additional
100
+ attributes:
101
+ label: Additional Context
102
+ description: Add any other context, screenshots, or examples about the feature request
103
+ validations:
104
+ required: false
@@ -0,0 +1,123 @@
1
+ name: Protocol Module Request
2
+ description: Request support for a new network protocol analysis module
3
+ title: "[Module] Add support for [PROTOCOL_NAME]"
4
+ labels: ["enhancement", "module", "protocol"]
5
+ body:
6
+ - type: markdown
7
+ attributes:
8
+ value: |
9
+ Thanks for requesting a new protocol module! This helps us prioritize which protocols to support next.
10
+
11
+ - type: input
12
+ id: protocol-name
13
+ attributes:
14
+ label: Protocol Name
15
+ description: What protocol would you like mcpcap to support?
16
+ placeholder: e.g., HTTP, FTP, SSH, etc.
17
+ validations:
18
+ required: true
19
+
20
+ - type: textarea
21
+ id: protocol-description
22
+ attributes:
23
+ label: Protocol Description
24
+ description: Brief description of the protocol and its purpose
25
+ placeholder: What does this protocol do? What is it used for?
26
+ validations:
27
+ required: true
28
+
29
+ - type: dropdown
30
+ id: protocol-layer
31
+ attributes:
32
+ label: OSI Layer
33
+ description: Which OSI layer does this protocol primarily operate at?
34
+ options:
35
+ - Layer 2 - Data Link
36
+ - Layer 3 - Network
37
+ - Layer 4 - Transport
38
+ - Layer 5 - Session
39
+ - Layer 6 - Presentation
40
+ - Layer 7 - Application
41
+ - Multiple layers
42
+ - Unknown/Other
43
+ validations:
44
+ required: true
45
+
46
+ - type: textarea
47
+ id: use-cases
48
+ attributes:
49
+ label: Use Cases
50
+ description: What specific analysis would you want to perform on this protocol?
51
+ placeholder: |
52
+ - Security analysis: ...
53
+ - Performance monitoring: ...
54
+ - Troubleshooting: ...
55
+ - Compliance: ...
56
+ validations:
57
+ required: true
58
+
59
+ - type: textarea
60
+ id: analysis-goals
61
+ attributes:
62
+ label: Analysis Goals
63
+ description: What specific information should the module extract or analyze?
64
+ placeholder: |
65
+ - Packet counts and sizes
66
+ - Connection patterns
67
+ - Error rates
68
+ - Specific protocol fields
69
+ - Security indicators
70
+ validations:
71
+ required: true
72
+
73
+ - type: input
74
+ id: rfc-standards
75
+ attributes:
76
+ label: RFC or Standards
77
+ description: Are there RFC documents or standards that define this protocol?
78
+ placeholder: e.g., RFC 793, IEEE 802.11, etc.
79
+ validations:
80
+ required: false
81
+
82
+ - type: dropdown
83
+ id: priority
84
+ attributes:
85
+ label: Priority Level
86
+ description: How important is this protocol support to your work?
87
+ options:
88
+ - Low - Nice to have
89
+ - Medium - Would be helpful
90
+ - High - Important for my use case
91
+ - Critical - Blocking my work
92
+ validations:
93
+ required: true
94
+
95
+ - type: textarea
96
+ id: sample-data
97
+ attributes:
98
+ label: Sample Data Availability
99
+ description: Do you have sample PCAP files with this protocol that could help with development?
100
+ placeholder: |
101
+ - Yes, I can provide sanitized samples
102
+ - Yes, but they contain sensitive data
103
+ - No, but I can generate some
104
+ - No sample data available
105
+ validations:
106
+ required: false
107
+
108
+ - type: textarea
109
+ id: existing-tools
110
+ attributes:
111
+ label: Existing Analysis Tools
112
+ description: Are there existing tools that analyze this protocol? How would mcpcap be different/better?
113
+ placeholder: What tools currently exist for analyzing this protocol?
114
+ validations:
115
+ required: false
116
+
117
+ - type: textarea
118
+ id: additional
119
+ attributes:
120
+ label: Additional Context
121
+ description: Any other information that would help with implementing this module
122
+ validations:
123
+ required: false
@@ -23,10 +23,21 @@ jobs:
23
23
  with:
24
24
  python-version: "3.11"
25
25
 
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@v4
28
+
29
+ - name: Cache uv dependencies
30
+ uses: actions/cache@v4
31
+ with:
32
+ path: ~/.cache/uv
33
+ key: ${{ runner.os }}-uv-release-${{ hashFiles('pyproject.toml') }}
34
+ restore-keys: |
35
+ ${{ runner.os }}-uv-release-
36
+ ${{ runner.os }}-uv-
37
+
26
38
  - name: Install build dependencies
27
39
  run: |
28
- python -m pip install --upgrade pip
29
- pip install build setuptools-scm[toml]
40
+ uv pip install --system build setuptools-scm[toml]
30
41
 
31
42
  - name: Verify version matches tag
32
43
  run: |
@@ -53,7 +64,7 @@ jobs:
53
64
 
54
65
  - name: Verify package contents
55
66
  run: |
56
- pip install twine
67
+ uv pip install --system twine
57
68
  twine check dist/*
58
69
 
59
70
  - name: Create GitHub Release
@@ -107,26 +118,14 @@ jobs:
107
118
  echo "server.json not found at repo root; skipping version update"
108
119
  fi
109
120
 
110
- # -------- MCP Registry: install publisher (build from source) --------------
111
- - name: Set up Go (for building mcp-publisher)
112
- if: steps.pypi_publish.outcome == 'success'
113
- uses: actions/setup-go@v5
114
- with:
115
- go-version: '1.24.x'
116
-
121
+ # -------- MCP Registry: install publisher (pre-built binary) ---------------
117
122
  - name: Install MCP Publisher
118
123
  if: steps.pypi_publish.outcome == 'success'
119
124
  run: |
120
125
  set -euo pipefail
121
- git clone https://github.com/modelcontextprotocol/registry publisher-repo
122
- cd publisher-repo
123
- make publisher
124
- # Verify expected output location and copy to repo root
125
- test -f bin/mcp-publisher || { echo "mcp-publisher binary not found at bin/mcp-publisher"; ls -R; exit 1; }
126
- cp bin/mcp-publisher ../mcp-publisher
127
- cd ..
128
- chmod +x mcp-publisher
129
- ./mcp-publisher --version || true
126
+ curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.0.0/mcp-publisher_1.0.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
127
+ sudo mv mcp-publisher /usr/local/bin/
128
+ mcp-publisher --version
130
129
 
131
130
  # -------- MCP Registry: login with DNS (mcpcap.ai) ------------------------
132
131
  # Secret MCP_PRIVATE_KEY must be a 64-character hex Ed25519 private key
@@ -141,12 +140,12 @@ jobs:
141
140
 
142
141
  - name: Login to MCP Registry (DNS)
143
142
  if: steps.pypi_publish.outcome == 'success'
144
- run: ./mcp-publisher login dns --domain mcpcap.ai --private-key "${{ secrets.MCP_PRIVATE_KEY }}"
143
+ run: mcp-publisher login dns --domain mcpcap.ai --private-key "${{ secrets.MCP_PRIVATE_KEY }}"
145
144
 
146
145
  # -------- MCP Registry: publish -------------------------------------------
147
146
  - name: Publish to MCP Registry
148
147
  if: steps.pypi_publish.outcome == 'success'
149
- run: ./mcp-publisher publish
148
+ run: mcp-publisher publish
150
149
 
151
150
  - name: Upload build artifacts
152
151
  uses: actions/upload-artifact@v4
@@ -24,10 +24,21 @@ jobs:
24
24
  with:
25
25
  python-version: ${{ matrix.python-version }}
26
26
 
27
+ - name: Install uv
28
+ uses: astral-sh/setup-uv@v4
29
+
30
+ - name: Cache uv dependencies
31
+ uses: actions/cache@v4
32
+ with:
33
+ path: ~/.cache/uv
34
+ key: ${{ runner.os }}-uv-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
35
+ restore-keys: |
36
+ ${{ runner.os }}-uv-${{ matrix.python-version }}-
37
+ ${{ runner.os }}-uv-
38
+
27
39
  - name: Install dependencies
28
40
  run: |
29
- python -m pip install --upgrade pip
30
- pip install -e .[test]
41
+ uv pip install --system -e .[test]
31
42
 
32
43
  - name: Check version detection
33
44
  run: |
@@ -35,7 +46,7 @@ jobs:
35
46
 
36
47
  - name: Run linting with ruff
37
48
  run: |
38
- pip install ruff
49
+ uv pip install --system ruff
39
50
  ruff check .
40
51
  ruff format --check .
41
52
 
@@ -54,11 +65,22 @@ jobs:
54
65
  uses: actions/setup-python@v5
55
66
  with:
56
67
  python-version: "3.11"
68
+
69
+ - name: Install uv
70
+ uses: astral-sh/setup-uv@v4
71
+
72
+ - name: Cache uv dependencies
73
+ uses: actions/cache@v4
74
+ with:
75
+ path: ~/.cache/uv
76
+ key: ${{ runner.os }}-uv-check-version-${{ hashFiles('pyproject.toml') }}
77
+ restore-keys: |
78
+ ${{ runner.os }}-uv-check-version-
79
+ ${{ runner.os }}-uv-
57
80
 
58
81
  - name: Install setuptools-scm
59
82
  run: |
60
- python -m pip install --upgrade pip
61
- pip install setuptools-scm[toml]
83
+ uv pip install --system setuptools-scm[toml]
62
84
 
63
85
  - name: Verify version can be determined
64
86
  run: |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcpcap
3
- Version: 0.5.8
3
+ Version: 0.5.10
4
4
  Summary: A modular Python MCP Server for analyzing PCAP files
5
5
  Author: mcpcap contributors
6
6
  License: MIT License
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.5.8'
32
- __version_tuple__ = version_tuple = (0, 5, 8)
31
+ __version__ = version = '0.5.10'
32
+ __version_tuple__ = version_tuple = (0, 5, 10)
33
33
 
34
- __commit_id__ = commit_id = 'gc6e7a1cea'
34
+ __commit_id__ = commit_id = 'g6be924820'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcpcap
3
- Version: 0.5.8
3
+ Version: 0.5.10
4
4
  Summary: A modular Python MCP Server for analyzing PCAP files
5
5
  Author: mcpcap contributors
6
6
  License: MIT License
@@ -6,6 +6,10 @@ README.md
6
6
  pyproject.toml
7
7
  server.json
8
8
  .github/FUNDING.yml
9
+ .github/ISSUE_TEMPLATE/bug_report.yml
10
+ .github/ISSUE_TEMPLATE/config.yml
11
+ .github/ISSUE_TEMPLATE/feature_request.yml
12
+ .github/ISSUE_TEMPLATE/module_request.yml
9
13
  .github/workflows/release.yml
10
14
  .github/workflows/test.yml
11
15
  docs/Makefile
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes