Skip to main content
Glama
danohn

mcpacket

by danohn
server.py1.88 kB
"""MCP server setup and configuration.""" from fastmcp import FastMCP from ..modules.capinfos import CapInfosModule from ..modules.dhcp import DHCPModule from ..modules.dns import DNSModule from ..modules.icmp import ICMPModule from .config import Config class MCPServer: """MCP server for PCAP analysis.""" def __init__(self, config: Config): """Initialize MCP server. Args: config: Configuration instance """ self.config = config self.mcp = FastMCP("mcpcap") # Initialize modules based on configuration self.modules = {} if "dns" in self.config.modules: self.modules["dns"] = DNSModule(config) if "dhcp" in self.config.modules: self.modules["dhcp"] = DHCPModule(config) if "icmp" in self.config.modules: self.modules["icmp"] = ICMPModule(config) if "capinfos" in self.config.modules: self.modules["capinfos"] = CapInfosModule(config) # Register tools self._register_tools() # Setup prompts for module in self.modules.values(): module.setup_prompts(self.mcp) def _register_tools(self) -> None: """Register all available tools with the MCP server.""" # Register tools for each loaded module for module_name, module in self.modules.items(): if module_name == "dns": self.mcp.tool(module.analyze_dns_packets) elif module_name == "dhcp": self.mcp.tool(module.analyze_dhcp_packets) elif module_name == "icmp": self.mcp.tool(module.analyze_icmp_packets) elif module_name == "capinfos": self.mcp.tool(module.analyze_capinfos) def run(self) -> None: """Start the MCP server.""" self.mcp.run(show_banner=False)

Implementation Reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danohn/mcpacket'

If you have feedback or need assistance with the MCP directory API, please join our Discord server