phpIPAM MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PHPIPAM_APP_ID | Yes | API application ID | |
| PHPIPAM_TIMEOUT | No | Request timeout in milliseconds | 30000 |
| PHPIPAM_BASE_URL | Yes | Base URL of phpIPAM instance | |
| PHPIPAM_PASSWORD | Yes | phpIPAM password | |
| PHPIPAM_USERNAME | Yes | phpIPAM username | |
| PHPIPAM_DEBUG_HTTP | No | Log HTTP request/response details | false |
| PHPIPAM_VERIFY_TLS | No | Verify TLS certificates | true |
| PHPIPAM_MAX_RETRIES | No | Maximum retry attempts | 3 |
| PHPIPAM_RETRY_DELAY | No | Base retry delay in milliseconds | 1000 |
| PHPIPAM_ENABLE_CACHE | No | Cache API responses (60s TTL) | false |
| PHPIPAM_WRITE_ENABLED | No | Enable write operations (allocate, release, upsert) | false |
| PHPIPAM_ALLOW_SUBNET_CREATE | No | Allow subnet creation via subnets.ensure | false |
| PHPIPAM_ALLOW_SECTION_CREATE | No | Allow section creation via sections.ensure | false |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| phpipam.healthA | Check phpIPAM connectivity and authentication status |
| phpipam.sections.listA | List all sections in phpIPAM |
| phpipam.sections.getB | Get a specific section by ID or name |
| phpipam.subnets.listA | List all subnets in a section |
| phpipam.subnets.getA | Get a specific subnet by ID or CIDR notation |
| phpipam.addresses.listA | List all addresses in a subnet |
| phpipam.addresses.getA | Get a specific address by ID or IP |
| phpipam.searchA | Search for addresses by IP, hostname, or other criteria |
| phpipam.addresses.allocateA | Allocate the first available IP address in a subnet. Requires PHPIPAM_WRITE_ENABLED=true |
| phpipam.addresses.releaseB | Release (delete) an IP address. Requires PHPIPAM_WRITE_ENABLED=true |
| phpipam.addresses.upsertB | Create or update an IP address. Requires PHPIPAM_WRITE_ENABLED=true |
| phpipam.subnets.ensureC | Ensure a subnet exists (create if missing). Requires PHPIPAM_WRITE_ENABLED=true and PHPIPAM_ALLOW_SUBNET_CREATE=true |
| phpipam.sections.ensureA | Ensure a section exists (create if missing). Requires PHPIPAM_WRITE_ENABLED=true and PHPIPAM_ALLOW_SECTION_CREATE=true |
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 13 tools
Tools are mostly distinct, with clear resource-action patterns for sections, subnets, and addresses. Minor ambiguity exists between 'search' and 'addresses.get', but descriptions clarify their different use cases.
Most tools follow a consistent 'phpipam.<resource>.<action>' pattern. Exceptions include 'phpipam.health' and 'phpipam.search', which omit the resource segment, but the overall style is uniform.
13 tools is well-scoped for an IPAM server, covering health checks, sections, subnets, and addresses without excessive redundancy. Each tool serves a clear purpose within the domain.
Address lifecycle is well covered with allocate, release, and upsert, but sections and subnets lack update and delete operations. The ensure tools provide creation, but no way to modify or remove these entities, leaving notable gaps.