Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
rapid7
GitHub Repository: rapid7/metasploit-framework
Path: blob/master/lib/msf/core/mcp.rb
70330 views
1
# frozen_string_literal: true
2
3
# Main entry point for MSF MCP Server
4
module Msf
5
module MCP
6
VERSION = '0.1.0'
7
end
8
end
9
10
# Load the base configuration (for default paths, etc.)
11
require 'msf/base/config'
12
13
# Load the base Rex libraries
14
require 'rex/socket'
15
require 'rex/logging'
16
require 'rex/logging/log_sink'
17
18
module Msf
19
module MCP
20
# Log source identifier for all MCP log messages.
21
LOG_SOURCE = 'mcp'
22
23
# Log level aliases — semantic names for Rex::Logging level constants.
24
LOG_DEBUG = Rex::Logging::LEV_3
25
LOG_INFO = Rex::Logging::LEV_2
26
LOG_WARN = Rex::Logging::LEV_1
27
LOG_ERROR = Rex::Logging::LEV_0
28
end
29
end
30
31
# Load the MCP-specific logging components
32
require_relative 'mcp/logging/sinks/json_stream'
33
require_relative 'mcp/logging/sinks/json_flatfile'
34
require_relative 'mcp/logging/sinks/sanitizing'
35
require_relative 'mcp/middleware/request_logger'
36
37
# Error classes
38
require_relative 'mcp/errors'
39
40
# Configuration Layer
41
require_relative 'mcp/config/loader'
42
require_relative 'mcp/config/validator'
43
44
# Security Layer
45
require_relative 'mcp/security/input_validator'
46
require_relative 'mcp/security/rate_limiter'
47
48
# Metasploit Client Layer
49
require_relative 'mcp/rpc_manager'
50
require_relative 'mcp/metasploit/messagepack_client'
51
require_relative 'mcp/metasploit/jsonrpc_client'
52
require_relative 'mcp/metasploit/client'
53
require_relative 'mcp/metasploit/response_transformer'
54
55
# MCP SDK
56
require 'mcp'
57
58
# MCP Layer
59
require_relative 'mcp/tools/tool_helper'
60
require_relative 'mcp/tools/search_modules'
61
require_relative 'mcp/tools/module_info'
62
require_relative 'mcp/tools/host_info'
63
require_relative 'mcp/tools/service_info'
64
require_relative 'mcp/tools/vulnerability_info'
65
require_relative 'mcp/tools/note_info'
66
require_relative 'mcp/tools/credential_info'
67
require_relative 'mcp/tools/loot_info'
68
require_relative 'mcp/server'
69
70
# Application Layer
71
require_relative 'mcp/application'
72
73
# Make logging stubs (ilog, elog, dlog, wlog)
74
include Rex::Logging
75
76
77