phpipam-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHPIPAM_URL | Yes | The URL of the phpIPAM instance (e.g., https://ipam.example.com/) | |
| PHPIPAM_APP_ID | Yes | The application ID from phpIPAM API configuration | |
| PHPIPAM_APP_CODE | Yes | The application code token from phpIPAM API configuration |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sectionsA | List all IP sections from phpIPAM. CONTEXT OPTIMIZATION: Returns essential fields only by default. Use include_fields="all" for complete data. Args: include_fields: Comma-separated fields to include (default: essential only) Use "all" for complete data |
| get_section_subnetsA | Get subnets within a specific section. CONTEXT OPTIMIZATION: Limited to 20 results by default. Use limit parameter to control output size. Args: section_id: Section ID to get subnets from include_usage: Include usage statistics (default: True) include_fields: Comma-separated fields to include (default: essential only) limit: Maximum number of subnets to return (default: 20, max: 1000) |
| search_addressesB | Search for IP addresses or hostnames in phpIPAM. CONTEXT OPTIMIZATION: Limited to 10 results by default. Args: ip_or_hostname: IP address or hostname to search for limit: Maximum number of results to return (default: 10, max: 1000) |
| search_hostnameA | Search for IP addresses by exact or partial hostname in phpIPAM. CONTEXT OPTIMIZATION: Limited to 10 results by default. Args: hostname: Hostname to search for limit: Maximum number of results to return (default: 10, max: 50) |
| get_subnet_detailsA | Get detailed information about a specific subnet. CONTEXT OPTIMIZATION: Address listing limited to 10 by default. Args: subnet_id: Subnet ID to get details for include_addresses: Include IP addresses in the subnet (default: False) address_limit: Max addresses to show if include_addresses=True (default: 10) |
| list_vlansA | List VLANs from phpIPAM. CONTEXT OPTIMIZATION: Limited to 20 results by default. Args: domain_id: Optional domain ID to filter VLANs limit: Maximum number of VLANs to return (default: 20, max: 1000) |
| list_vrfsA | List VRF instances from phpIPAM. CONTEXT OPTIMIZATION: Limited to 20 results by default. Args: limit: Maximum number of VRFs to return (default: 20, max: 1000) |
| list_locationsA | List physical locations from phpIPAM. CONTEXT OPTIMIZATION: Limited to 20 results by default. Args: limit: Maximum number of locations to return (default: 20, max: 1000) |
| list_nameserversA | List DNS nameservers from phpIPAM. CONTEXT OPTIMIZATION: Limited to 20 results by default. Args: limit: Maximum number of nameservers to return (default: 20, max: 1000) |
| search_subnetsB | Search subnets by CIDR, description, or other criteria. CONTEXT OPTIMIZATION: Limited to 10 results by default. Args: query: Search term (CIDR, description, etc.) limit: Maximum number of results to return (default: 10, max: 1000) |
| create_subnetA | Create a new subnet in phpIPAM. Args: section_id: Section ID where subnet will be created subnet: Network address (e.g., "192.168.1.0") mask: Subnet mask (e.g., "24") description: Optional description for the subnet vlan_id: Optional VLAN ID |
| reserve_ip_addressA | Reserve an IP address in a subnet. Args: subnet_id: Subnet ID where IP will be reserved ip: Specific IP address to reserve (optional - will find first available) hostname: Hostname for the IP address description: Description for the IP address owner: Owner of the IP address |
| update_ip_addressC | Update an existing IP address record. Args: address_id: ID of the IP address to update hostname: New hostname (optional) description: New description (optional) owner: New owner (optional) |
| delete_ip_addressB | Delete/release an IP address reservation. Args: address_id: ID of the IP address to delete |
| update_subnetC | Update an existing subnet. Args: subnet_id: ID of the subnet to update description: New description (optional) vlan_id: New VLAN ID (optional) vrf_id: New VRF ID (optional) |
| delete_subnetA | Delete a subnet (WARNING: This will delete all IP addresses in the subnet). Args: subnet_id: ID of the subnet to delete |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
Most tools are clearly distinct, targeting different resources and actions. The main overlap is between search_addresses and search_hostname, but their descriptions differentiate them (IP/hostname vs hostname only). Some potential confusion between search_subnets and get_section_subnets, but the former uses a query while the latter is section-based.
All tool names follow a consistent verb_noun pattern with snake_case (e.g., list_sections, create_subnet, delete_ip_address). The verbs (list, get, search, create, update, delete, reserve) are used predictably, making the set highly intuitive.
With 16 tools, the server is slightly above the typical well-scoped range of 3-15, but still manageable. Each tool serves a clear purpose in IP address management, and the count is not excessive or insufficient.
The tool set covers CRUD for subnets and IP addresses, plus listing for sections, nameservers, VLANs, VRFs, and locations. Minor gaps include no update/create/delete for VLANs, VRFs, or locations, and no explicit get-by-ID for IP addresses, but these are likely outside the primary scope and search tools compensate.