mcpcap 0.3.0__py3-none-any.whl → 0.3.1__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.
- mcpcap/_version.py +2 -2
- mcpcap/core/server.py +1 -3
- {mcpcap-0.3.0.dist-info → mcpcap-0.3.1.dist-info}/METADATA +1 -1
- mcpcap-0.3.1.dist-info/RECORD +15 -0
- mcpcap/resources/__init__.py +0 -5
- mcpcap/resources/references.py +0 -90
- mcpcap-0.3.0.dist-info/RECORD +0 -17
- {mcpcap-0.3.0.dist-info → mcpcap-0.3.1.dist-info}/WHEEL +0 -0
- {mcpcap-0.3.0.dist-info → mcpcap-0.3.1.dist-info}/entry_points.txt +0 -0
- {mcpcap-0.3.0.dist-info → mcpcap-0.3.1.dist-info}/licenses/LICENSE +0 -0
- {mcpcap-0.3.0.dist-info → mcpcap-0.3.1.dist-info}/top_level.txt +0 -0
mcpcap/_version.py
CHANGED
@@ -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.3.
|
32
|
-
__version_tuple__ = version_tuple = (0, 3,
|
31
|
+
__version__ = version = '0.3.1'
|
32
|
+
__version_tuple__ = version_tuple = (0, 3, 1)
|
33
33
|
|
34
34
|
__commit_id__ = commit_id = None
|
mcpcap/core/server.py
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
from fastmcp import FastMCP
|
4
4
|
|
5
5
|
from ..modules.dns import DNSModule
|
6
|
-
from ..resources.references import setup_resources
|
7
6
|
from .config import Config
|
8
7
|
|
9
8
|
|
@@ -25,8 +24,7 @@ class MCPServer:
|
|
25
24
|
# Register tools
|
26
25
|
self._register_tools()
|
27
26
|
|
28
|
-
# Setup
|
29
|
-
setup_resources(self.mcp)
|
27
|
+
# Setup prompts
|
30
28
|
self.dns_module.setup_prompts(self.mcp)
|
31
29
|
|
32
30
|
def _register_tools(self) -> None:
|
@@ -0,0 +1,15 @@
|
|
1
|
+
mcpcap/__init__.py,sha256=rJwCpBXkhIvmsqHFpeR33Vg8kuipNPJ2JdlAjsTk7I4,1408
|
2
|
+
mcpcap/_version.py,sha256=gGLpQUQx-ty9SEy9PYw9OgJWWzJLBnCpfJOfzL7SjlI,704
|
3
|
+
mcpcap/cli.py,sha256=DflEb7i2ATn9lBx4rK43Qpf-aQjKhwSqT20BofzVrFs,2480
|
4
|
+
mcpcap/core/__init__.py,sha256=WM5GTl06ZwwqHTPiKaYB-9hwOOXe3hyHG16FshwSsjE,127
|
5
|
+
mcpcap/core/config.py,sha256=WdHYu14Cvn9C3xs3KsQ-SVRru00IH86nQfnDL57V9zE,8190
|
6
|
+
mcpcap/core/server.py,sha256=BrLgT-zsa2uFQ2B_bNSSrCFID3xXruinnnfRrHo1GKs,1312
|
7
|
+
mcpcap/modules/__init__.py,sha256=iIeoZuLA-EOv0OS8WU8qDCitXJnarq9F0hA5-Y97zis,140
|
8
|
+
mcpcap/modules/base.py,sha256=3h8lGt6d6ob4SbgP6THC5PnTeMRcKfTGoJ9ZlZsQje0,826
|
9
|
+
mcpcap/modules/dns.py,sha256=cc77RxJOf-JxTLTCY8kfc_64uMawWKB3rjme9Q5H1pI,16632
|
10
|
+
mcpcap-0.3.1.dist-info/licenses/LICENSE,sha256=Ltj0zxftQyBYQMNva935v0i5QXQQOF8ygE8dQxGEtjk,1063
|
11
|
+
mcpcap-0.3.1.dist-info/METADATA,sha256=GCTSg601dKs06-KMnD6IqwSqXSubYSdYbsLY_eUVxhA,7854
|
12
|
+
mcpcap-0.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
13
|
+
mcpcap-0.3.1.dist-info/entry_points.txt,sha256=ck69gPBEopmU6mzQy9P6o6ssMr89bQbrvv51IaJ50Gc,39
|
14
|
+
mcpcap-0.3.1.dist-info/top_level.txt,sha256=YkRkVGjuM3nI7cVB1l8zIAeqiS_5_vrzbUcHNkH3OXE,7
|
15
|
+
mcpcap-0.3.1.dist-info/RECORD,,
|
mcpcap/resources/__init__.py
DELETED
mcpcap/resources/references.py
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
"""Reference resources for DNS analysis."""
|
2
|
-
|
3
|
-
from fastmcp import FastMCP
|
4
|
-
|
5
|
-
|
6
|
-
def setup_resources(mcp: FastMCP) -> None:
|
7
|
-
"""Set up reference resources for the MCP server.
|
8
|
-
|
9
|
-
Args:
|
10
|
-
mcp: FastMCP server instance
|
11
|
-
"""
|
12
|
-
|
13
|
-
@mcp.resource("dns-record-types://reference")
|
14
|
-
def get_dns_record_types() -> str:
|
15
|
-
"""Reference guide for DNS record types"""
|
16
|
-
return """
|
17
|
-
# DNS Record Types Reference
|
18
|
-
|
19
|
-
## Common Record Types:
|
20
|
-
- **A (1)**: IPv4 address record
|
21
|
-
- **AAAA (28)**: IPv6 address record
|
22
|
-
- **CNAME (5)**: Canonical name (alias)
|
23
|
-
- **MX (15)**: Mail exchange record
|
24
|
-
- **NS (2)**: Name server record
|
25
|
-
- **PTR (12)**: Pointer record (reverse DNS)
|
26
|
-
- **SOA (6)**: Start of authority
|
27
|
-
- **TXT (16)**: Text record
|
28
|
-
- **SRV (33)**: Service record
|
29
|
-
|
30
|
-
## Security-Related Types:
|
31
|
-
- **DNSKEY (48)**: DNS public key
|
32
|
-
- **RRSIG (46)**: Resource record signature
|
33
|
-
- **DS (43)**: Delegation signer
|
34
|
-
- **NSEC (47)**: Next secure record
|
35
|
-
"""
|
36
|
-
|
37
|
-
@mcp.resource("dns-flags://reference")
|
38
|
-
def get_dns_flags_reference() -> str:
|
39
|
-
"""Reference guide for DNS flags and their meanings"""
|
40
|
-
return """
|
41
|
-
# DNS Flags Reference
|
42
|
-
|
43
|
-
## Header Flags:
|
44
|
-
- **QR**: Query/Response (0=Query, 1=Response)
|
45
|
-
- **AA**: Authoritative Answer
|
46
|
-
- **TC**: Truncated (message was truncated)
|
47
|
-
- **RD**: Recursion Desired
|
48
|
-
- **RA**: Recursion Available
|
49
|
-
- **Z**: Reserved (must be zero)
|
50
|
-
- **AD**: Authenticated Data
|
51
|
-
- **CD**: Checking Disabled
|
52
|
-
|
53
|
-
## Response Codes (RCODE):
|
54
|
-
- **0**: No error
|
55
|
-
- **1**: Format error
|
56
|
-
- **2**: Server failure
|
57
|
-
- **3**: Name error (domain doesn't exist)
|
58
|
-
- **4**: Not implemented
|
59
|
-
- **5**: Refused
|
60
|
-
"""
|
61
|
-
|
62
|
-
@mcp.resource("suspicious-domains://indicators")
|
63
|
-
def get_suspicious_domain_indicators() -> str:
|
64
|
-
"""Common indicators of suspicious or malicious domains"""
|
65
|
-
return """
|
66
|
-
# Suspicious Domain Indicators
|
67
|
-
|
68
|
-
## Common Patterns:
|
69
|
-
- Long random-looking subdomains
|
70
|
-
- Domains with excessive hyphens or numbers
|
71
|
-
- Recently registered domains
|
72
|
-
- Domains using punycode (internationalized domains)
|
73
|
-
- DGA (Domain Generation Algorithm) patterns
|
74
|
-
|
75
|
-
## Suspicious TLDs (often abused):
|
76
|
-
- .tk, .ml, .ga, .cf (free TLDs)
|
77
|
-
- .bit (blockchain domains)
|
78
|
-
- Newly introduced gTLDs
|
79
|
-
|
80
|
-
## Behavioral Indicators:
|
81
|
-
- High frequency of DNS queries
|
82
|
-
- Queries to non-existent domains (NXDOMAIN)
|
83
|
-
- Unusual query patterns or timing
|
84
|
-
- Queries for infrastructure domains (.arpa, .root-servers.net)
|
85
|
-
|
86
|
-
## DNS Tunneling Indicators:
|
87
|
-
- Unusually long DNS queries
|
88
|
-
- High volume of TXT record queries
|
89
|
-
- Queries with encoded data in subdomain names
|
90
|
-
"""
|
mcpcap-0.3.0.dist-info/RECORD
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
mcpcap/__init__.py,sha256=rJwCpBXkhIvmsqHFpeR33Vg8kuipNPJ2JdlAjsTk7I4,1408
|
2
|
-
mcpcap/_version.py,sha256=5zTqm8rgXsWYBpB2M3Zw_K1D-aV8wP7NsBLrmMKkrAQ,704
|
3
|
-
mcpcap/cli.py,sha256=DflEb7i2ATn9lBx4rK43Qpf-aQjKhwSqT20BofzVrFs,2480
|
4
|
-
mcpcap/core/__init__.py,sha256=WM5GTl06ZwwqHTPiKaYB-9hwOOXe3hyHG16FshwSsjE,127
|
5
|
-
mcpcap/core/config.py,sha256=WdHYu14Cvn9C3xs3KsQ-SVRru00IH86nQfnDL57V9zE,8190
|
6
|
-
mcpcap/core/server.py,sha256=CFOwO8p_UxXHeacNbrtsKe1kbC81IG-6lJsE-1wH52s,1411
|
7
|
-
mcpcap/modules/__init__.py,sha256=iIeoZuLA-EOv0OS8WU8qDCitXJnarq9F0hA5-Y97zis,140
|
8
|
-
mcpcap/modules/base.py,sha256=3h8lGt6d6ob4SbgP6THC5PnTeMRcKfTGoJ9ZlZsQje0,826
|
9
|
-
mcpcap/modules/dns.py,sha256=cc77RxJOf-JxTLTCY8kfc_64uMawWKB3rjme9Q5H1pI,16632
|
10
|
-
mcpcap/resources/__init__.py,sha256=BPXV29wIG360w9Y9iNpQdA93H2PhT3a6CrnMZX2aaaU,109
|
11
|
-
mcpcap/resources/references.py,sha256=HCciAutgLHodlifC8goAZcWpvup3DfbVZ1rxPaXKggA,2516
|
12
|
-
mcpcap-0.3.0.dist-info/licenses/LICENSE,sha256=Ltj0zxftQyBYQMNva935v0i5QXQQOF8ygE8dQxGEtjk,1063
|
13
|
-
mcpcap-0.3.0.dist-info/METADATA,sha256=lbaIAHLHW1W4pp12et9wzGeSGnRNoaoEbxvX77rNQAc,7854
|
14
|
-
mcpcap-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
15
|
-
mcpcap-0.3.0.dist-info/entry_points.txt,sha256=ck69gPBEopmU6mzQy9P6o6ssMr89bQbrvv51IaJ50Gc,39
|
16
|
-
mcpcap-0.3.0.dist-info/top_level.txt,sha256=YkRkVGjuM3nI7cVB1l8zIAeqiS_5_vrzbUcHNkH3OXE,7
|
17
|
-
mcpcap-0.3.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|