Query and manage PacketFabric NaaS: ports, virtual circuits, cloud routers, pricing, metrics.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your PacketFabric API key>
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Call any PacketFabric API endpoint by operation_id. Reads run immediately. Writes (create/modify/delete — may create billable services) are only possible when the server was started with PF_ALLOW_WRITES=true, and return a dry-run preview unless confirm=true. Always show the user the preview and get explicit approval before re-calling with confirm=true.
From pf_search_endpoints.
JSON request body for POST/PUT/PATCH.
Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all.
Path and query parameters by name, e.g. {'port_circuit_id': 'PF-AP-LAX1-1234', 'since': '1 day ago'}. Lists are sent as repeated query params.
Required true to actually execute a write. Without it, writes return a preview only.
Cap on list items returned.
Call any PacketFabric API endpoint by operation_id. Reads run immediately. Writes (create/modify/delete — may create billable services) are only possible when the server was started with PF_ALLOW_WRITES=true, and return a dry-run preview unless confirm=true. Always show the user the preview and get explicit approval before re-calling with confirm=true.
| Argument | Type | Description |
|---|---|---|
| body | any | JSON request body for POST/PUT/PATCH. |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| params | any | Path and query parameters by name, e.g. {'port_circuit_id': 'PF-AP-LAX1-1234', 'since': '1 day ago'}. Lists are sent as repeated query params. |
| confirm | boolean | Required true to actually execute a write. Without it, writes return a preview only. |
| max_items | integer | Cap on list items returned. |
| operation_id* | string | From pf_search_endpoints. |
{
"type": "object",
"title": "pf_call_endpointArguments",
"required": [
"operation_id"
],
"properties": {
"body": {
"title": "Body",
"default": null,
"description": "JSON request body for POST/PUT/PATCH."
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"params": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"title": "Params",
"default": null,
"description": "Path and query parameters by name, e.g. {'port_circuit_id': 'PF-AP-LAX1-1234', 'since': '1 day ago'}. Lists are sent as repeated query params."
},
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false,
"description": "Required true to actually execute a write. Without it, writes return a preview only."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
},
"operation_id": {
"type": "string",
"title": "Operation Id",
"description": "From pf_search_endpoints."
}
}
}Show parameters, request body schema and response shape for one endpoint. Call this before pf_call_endpoint for anything you haven't used yet.
| Argument | Type | Description |
|---|---|---|
| operation_id* | string |
{
"type": "object",
"title": "pf_describe_endpointArguments",
"required": [
"operation_id"
],
"properties": {
"operation_id": {
"type": "string",
"title": "Operation Id"
}
}
}Find PacketFabric locations / POPs (data center, address, market, status, port types).
| Argument | Type | Description |
|---|---|---|
| pop | any | POP code, e.g. LAX1. |
| city | any | |
| state | any | |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| market | any | Market code, e.g. LAX. |
| region | any | Region short name, e.g. US, UK. |
| any_type | any | Include non-primary location types. |
| max_items | integer | Cap on list items returned. |
| nat_capable | any | |
| ipsec_capable | any | |
| near_cloud_router |
Get the current PacketFabric customer account (name, account number, UUID, type). Good first call to confirm credentials work.
No arguments.
{
"type": "object",
"title": "pf_get_accountArguments",
"properties": {}
}Current and upcoming maintenance windows, optionally for a POP or market.
| Argument | Type | Description |
|---|---|---|
| pop | any | POP name, e.g. LAX1. |
| market | any | Market code, e.g. LAX. |
| max_items | integer | Cap on list items returned. |
{
"type": "object",
"title": "pf_get_maintenancesArguments",
"properties": {
"pop": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pop",
"default": null,
"description": "POP name, e.g. LAX1."
},
"market": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Market",
"default": null,
"description": "Market code, e.g. LAX."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
}
}
}Get full details for one port by circuit id (e.g. PF-AP-LAX1-1234).
| Argument | Type | Description |
|---|---|---|
| port_circuit_id* | string |
{
"type": "object",
"title": "pf_get_portArguments",
"required": [
"port_circuit_id"
],
"properties": {
"port_circuit_id": {
"type": "string",
"title": "Port Circuit Id"
}
}
}Look up list pricing (MRC/NRC) for a PacketFabric product between locations. Read-only, no order is created. vcbwc = backbone virtual circuit bandwidth.
| Argument | Type | Description |
|---|---|---|
| media | any | Optic media, e.g. LR, LR4. |
| speed | any | e.g. 1Gbps, 10Gbps, 100Gbps. |
| side_a | any | A-side location code, e.g. LAX1 (or market/region per location_type). |
| side_z | any | Z-side location code, e.g. NYC5. |
| max_items | integer | Cap on list items returned. |
| product_type* | string | |
| location_type | string | |
| service_class | any | 'metro' or 'longhaul'. |
| subscription_term | any | Months. |
Traffic rate time series for a port (or one VC on a port).
| Argument | Type | Description |
|---|---|---|
| type | string | |
| since | string | Relative start, e.g. '24 hours ago', '7 days ago'. |
| until | string | |
| interval | any | Bucket size in seconds, e.g. 300, 3600. |
| vc_circuit_id | any | If given, traffic for this VC on that port instead of the whole port. |
| port_circuit_id* | string | Port circuit id, e.g. PF-AP-LAX1-1234. |
{
"type": "object",
"title": "pf_get_trafficArguments",
"required": [
"port_circuit_id"
],
"properties": {
"type": {
"enum": [
"bps",
"pps"
],
"type": "string",
"title": "Type",
"default": "bps"
},
"since": {
"type": "string",
"title": "Since",
"default": "24 hours ago",
"description": "Relative start, e.g. '24 hours ago', '7 days ago'."
},
"until": {
"type": "string",
"title": "Until",
"default": "now"
},
"interval": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Interval",
"default": null,
"description": "Bucket size in seconds, e.g. 300, 3600."
},
"vc_circuit_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vc Circuit Id",
"default": null,
"description": "If given, traffic for this VC on that port instead of the whole port."
},
"port_circuit_id": {
"type": "string",
"title": "Port Circuit Id",
"description": "Port circuit id, e.g. PF-AP-LAX1-1234."
}
}
}List the areas (tags) of the PacketFabric API with counts of read and write operations. Use this to orient yourself before pf_search_endpoints.
No arguments.
{
"type": "object",
"title": "pf_list_api_areasArguments",
"properties": {}
}List Layer-2 cloud connections (hosted or dedicated) to AWS, Azure, Google, Oracle, IBM.
| Argument | Type | Description |
|---|---|---|
| q | any | |
| kind | string | |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| max_items | integer | Cap on list items returned. |
{
"type": "object",
"title": "pf_list_cloud_connectionsArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null
},
"kind": {
"enum": [
"hosted",
"dedicated"
],
"type": "string",
"title": "Kind",
"default": "hosted"
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
}
}
}List Cloud Router connections (AWS/Azure/GCP/Oracle/IBM, ports, IPsec) across the account or for one router.
| Argument | Type | Description |
|---|---|---|
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| max_items | integer | Cap on list items returned. |
| cloud_router_circuit_id | any | Only connections on this Cloud Router (PF-L3-CUST-…). Omit for all. |
{
"type": "object",
"title": "pf_list_cloud_router_connectionsArguments",
"properties": {
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
},
"cloud_router_circuit_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cloud Router Circuit Id",
"default": null,
"description": "Only connections on this Cloud Router (PF-L3-CUST-…). Omit for all."
}
}
}List Cloud Routers (L3 NaaS routers) on the account with ASN, capacity, regions.
| Argument | Type | Description |
|---|---|---|
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| max_items | integer | Cap on list items returned. |
{
"type": "object",
"title": "pf_list_cloud_routersArguments",
"properties": {
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
}
}
}List point-to-point (wavelength-style) services.
| Argument | Type | Description |
|---|---|---|
| q | any | |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| max_items | integer | Cap on list items returned. |
{
"type": "object",
"title": "pf_list_point_to_pointArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
}
}
}List the account's ports (physical access ports, LAGs, cloud ports) with speed, status, POP.
| Argument | Type | Description |
|---|---|---|
| q | any | Free-text filter: description, circuit id, POP, region. |
| pop | any | POP code, e.g. LAX1. |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| is_lag | any | |
| is_ptp | any | |
| market | any | Market code, e.g. LAX, NYC. |
| is_cloud | any | |
| max_items | integer | Cap on list items returned. |
{
"type": "object",
"title": "pf_list_portsArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "Free-text filter: description, circuit id, POP, region."
},
"pop": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pop",
"default": null,
"description": "POP code, e.g. LAX1."
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"is_lag": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Lag",
"default": null
},
"is_ptp": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Ptp",
"default": null
},
"market": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Market",
"default": null,
"description": "Market code, e.g. LAX, NYC."
},
"is_cloud": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Cloud",
"default": null
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
}
}
}List the account's virtual circuits / services (backbone VCs, cloud connections, IX, marketplace).
| Argument | Type | Description |
|---|---|---|
| q | any | Free-text filter: description, VC circuit id, interface POP/port. |
| fields | any | Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all. |
| max_items | integer | Cap on list items returned. |
| service_type | any | Filter by one or more service types. |
| port_circuit_id | any | Only VCs on this port. |
{
"type": "object",
"title": "pf_list_servicesArguments",
"properties": {
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Q",
"default": null,
"description": "Free-text filter: description, VC circuit id, interface POP/port."
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
},
"service_type": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"backbone",
"cloud_dedicated",
"cloud_hosted",
"cr_connection",
"ix",
"marketplace_cloud_dedicated",
"marketplace_cloud_hosted",
"ptp",
"test",
"marketplace"
],
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Service Type",
"default": null,
"description": "Filter by one or more service types."
},
"port_circuit_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Port Circuit Id",
"default": null,
"description": "Only VCs on this port."
}
}
}Search all PacketFabric API endpoints by keyword. Returns operation_ids to pass to pf_describe_endpoint / pf_call_endpoint.
| Argument | Type | Description |
|---|---|---|
| tag | any | Restrict to one API area from pf_list_api_areas. |
| limit | integer | |
| query | string | Keywords, e.g. 'cloud router bgp', 'port metrics', 'aws hosted'. |
| read_only | any | True = only safe reads, False = only writes. |
{
"type": "object",
"title": "pf_search_endpointsArguments",
"properties": {
"tag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tag",
"default": null,
"description": "Restrict to one API area from pf_list_api_areas."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"title": "Query",
"default": "",
"description": "Keywords, e.g. 'cloud router bgp', 'port metrics', 'aws hosted'."
},
"read_only": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Read Only",
"default": null,
"description": "True = only safe reads, False = only writes."
}
}
}| any |
{
"type": "object",
"title": "pf_find_locationsArguments",
"properties": {
"pop": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pop",
"default": null,
"description": "POP code, e.g. LAX1."
},
"city": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City",
"default": null
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "State",
"default": null
},
"fields": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Fields",
"default": null,
"description": "Only return these keys from each item (dot paths allowed, e.g. 'interfaces'). Omit for all."
},
"market": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Market",
"default": null,
"description": "Market code, e.g. LAX."
},
"region": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Region",
"default": null,
"description": "Region short name, e.g. US, UK."
},
"any_type": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Any Type",
"default": null,
"description": "Include non-primary location types."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
},
"nat_capable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Nat Capable",
"default": null
},
"ipsec_capable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Ipsec Capable",
"default": null
},
"near_cloud_router": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Near Cloud Router",
"default": null
}
}
}{
"type": "object",
"title": "pf_get_pricingArguments",
"required": [
"product_type"
],
"properties": {
"media": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Media",
"default": null,
"description": "Optic media, e.g. LR, LR4."
},
"speed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Speed",
"default": null,
"description": "e.g. 1Gbps, 10Gbps, 100Gbps."
},
"side_a": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Side A",
"default": null,
"description": "A-side location code, e.g. LAX1 (or market/region per location_type)."
},
"side_z": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Side Z",
"default": null,
"description": "Z-side location code, e.g. NYC5."
},
"max_items": {
"type": "integer",
"title": "Max Items",
"default": 100,
"maximum": 5000,
"minimum": 1,
"description": "Cap on list items returned."
},
"product_type": {
"enum": [
"aggregate_capacity",
"cloud_dedicated",
"cloud_dedicated_vc",
"cloud_hosted",
"crossconnect",
"pointtopoint",
"port",
"port_enni",
"vcbwc",
"cloud_router",
"cr_connection",
"vc_ix",
"vc_marketplace",
"add_on_fee",
"high_performance_internet",
"ip_subnet",
"alert_credits"
],
"type": "string",
"title": "Product Type"
},
"location_type": {
"enum": [
"site",
"pop",
"market",
"country",
"region"
],
"type": "string",
"title": "Location Type",
"default": "pop"
},
"service_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Service Class",
"default": null,
"description": "'metro' or 'longhaul'."
},
"subscription_term": {
"anyOf": [
{
"enum": [
1,
12,
24,
36
],
"type": "integer"
},
{
"type": "null"
}
],
"title": "Subscription Term",
"default": null,
"description": "Months."
}
}
}