io.github.daedalus/mcp-mdns
MCP server for mDNS (Multicast DNS) service discovery
Versions
0.1.2latestTools 6
mdns_list_service_types List all service types advertised on the local network via mDNS. This tool queries the local network for all advertised mDNS service types. Common service types include _http._tcp (web servers), _printer._tcp (printers), _airplay._tcp (Apple TV), _smb._tcp (SMB shares), and many others. Args: params (ServiceTypeInput): Validated input parameters containing: - timeout (Optional[float]): Query timeout in seconds (default: 5.0) - response_format (ResponseFormat): Output format preference Returns: str: Formatted list of discovered service types or error message Example: >>> mdns_list_service_types(ServiceTypeInput(timeout=5.0, response_format=ResponseFormat.MARKDOWN)) "# mDNS Service Types\n\nFound 3 service type(s):\n\n- _http._tcp\n- _printer._tcp\n- _airplay._tcp"
mdns_browse_services Browse for services of a specific type on the local network. This tool searches for all services matching a given type (e.g., _http._tcp, _printer._tcp). It returns the names of all discovered services that can be used with mdns_get_service_info to retrieve detailed information. Args: params (BrowseServicesInput): Validated input parameters containing: - service_type (str): Service type to search for (e.g., '_http._tcp') - timeout (Optional[float]): Query timeout in seconds (default: 5.0) - response_format (ResponseFormat): Output format preference Returns: str: List of discovered services or error message Example: >>> mdns_browse_services(BrowseServicesInput(service_type="_http._tcp", timeout=5.0)) "# Services of Type: _http._tcp\n\nFound 1 service(s):\n\n- My Server._http._tcp.local."
mdns_get_service_info Get detailed information about a specific mDNS service. This tool retrieves complete information about a discovered service including: - Hostname and IP addresses - Port number - TXT records (metadata) - Service type and name Args: params (ServiceInfoInput): Validated input parameters containing: - service_type (str): Service type (e.g., '_http._tcp.local.') - service_name (str): Full service name from browse results - timeout (Optional[float]): Query timeout in seconds (default: 10.0) - response_format (ResponseFormat): Output format preference Returns: str: Detailed service information or error message Example: >>> mdns_get_service_info(ServiceInfoInput(service_type="_http._tcp", service_name="My Server._http._tcp.local.")) "# Service: My Server._http._tcp.local.\n\n**Type**: _http._tcp.local.\n**Server**: myserver.local\n**Port**: 8080\n**Addresses**: 192.168.1.100"
mdns_resolve_hostname Resolve an mDNS hostname (.local) to IP addresses. This tool resolves a local network hostname (ending in .local) to its IP address(es). This is useful for finding the IP address of devices that don't have static IPs but have registered with mDNS/Bonjour. Args: params (ResolveHostnameInput): Validated input parameters containing: - hostname (str): Hostname to resolve (e.g., 'mydevice.local') - timeout (Optional[float]): Query timeout in seconds (default: 5.0) - response_format (ResponseFormat): Output format preference Returns: str: Resolved IP addresses or error message Example: >>> mdns_resolve_hostname(ResolveHostnameInput(hostname="raspberrypi.local", timeout=5.0)) "# Resolution: raspberrypi.local\n\n**IP Address**: 192.168.1.50"
mdns_register_service Register a new service on the local network via mDNS. This tool registers a service so other devices on the network can discover it. The service will be advertised with the specified type, port, and optional TXT records. Args: params (RegisterServiceInput): Validated input parameters containing: - name (str): Service name (e.g., 'My Web Server') - service_type (str): Service type (e.g., '_http._tcp') - port (int): Port number - host (Optional[str]): Host IP (auto-detected if not provided) - text_records (Optional[Dict[str, str]]): TXT record key-value pairs Returns: str: Registration result or error message Example: >>> mdns_register_service(RegisterServiceInput(name="MyServer", service_type="_http._tcp", port=8080)) "Successfully registered service: MyServer._http._tcp.local. on port 8080"
mdns_unregister_service Unregister a previously registered mDNS service. This tool removes a service from the local network, stopping its advertisement. Args: params (UnregisterServiceInput): Validated input parameters containing: - service_name (str): Service name to unregister Returns: str: Unregistration result or error message Example: >>> mdns_unregister_service(UnregisterServiceInput(service_name="MyServer._http._tcp.local.")) "Successfully unregistered service: MyServer._http._tcp.local."
Permissions 0
No permissions indexed yet.