Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FIREGEX_MCP_BASE_URLNoFiregex base URLhttp://localhost:4444
FIREGEX_MCP_PASSWORDYesUsed at /api/login
FIREGEX_MCP_LOG_LEVELNoDEBUG/INFO/WARNING/ERROR/CRITICALINFO
FIREGEX_MCP_TIMEOUT_SECONDSNoHTTP request timeout30

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_firegex_statusA

Return Firegex global status: init (no password yet) or run.

Also reports the API version and whether the current session is logged in.

set_passwordA

Set the initial Firegex password. Only valid while status == 'init'.

change_passwordA

Change the Firegex password (status == 'run' only).

expire=True rotates the server JWT secret, invalidating all current sessions; the MCP client transparently re-logs in on the next call.

list_interfacesA

List the IPv4 and IPv6 interfaces visible to Firegex.

reset_firegexA

Reset Firegex's nftables state.

DANGEROUS when delete=True: this also wipes all SQLite databases (services, regexes, rules). Use delete=False to only flush nftables rules and reload the saved config.

login_probeA

Force the auth lifecycle and return the (now-authenticated) status.

Useful for verifying connectivity, credentials, and that the server has been initialised. Raises FiregexNotInitializedError when status='init'.

list_nfregex_servicesA

List nfregex services (one Firegex service = one TCP/UDP port being filtered).

get_nfregex_serviceA

Get a single nfregex service by id.

add_nfregex_serviceB

Register a new nfregex service.

proto must be 'tcp' or 'udp'. ip_int is the bind interface (IPv4/IPv6 literal, '0.0.0.0' for all). fail_open=True means traffic flows when the regex engine cannot start.

start_nfregex_serviceC

Start the nfregex engine for this service.

stop_nfregex_serviceB

Stop the nfregex engine (traffic flows through unfiltered).

delete_nfregex_serviceC

Delete a service and all its regexes.

rename_nfregex_serviceD

Rename a service.

update_nfregex_service_settingsB

Change service settings (causes restart). Only provided fields are updated.

list_regexesB

List regexes attached to a service. The regex field is plain text.

get_regexA

Get a single regex by numeric id.

add_regexB

Add a PCRE2 regex to a service.

regex is plain text (the client base64-encodes for the wire). mode: 'C' = client→server only, 'S' = server→client only, 'B' = both.

enable_regexA

Enable a previously-disabled regex without deleting it.

disable_regexA

Disable a regex (kept in DB, not applied).

delete_regexC

Permanently delete a regex.

get_nfregex_metricsA

Prometheus-format metrics for the nfregex module (blocked_packets, active).

list_nfproxy_servicesA

List nfproxy services (Python-pluggable inline proxy for TCP/HTTP).

get_nfproxy_serviceC

Get a single nfproxy service by id.

add_nfproxy_serviceC

Register a new nfproxy service. proto is 'tcp' or 'http'.

start_nfproxy_serviceC

Start the nfproxy engine.

stop_nfproxy_serviceC

Stop the nfproxy engine.

delete_nfproxy_serviceB

Delete a service and its filter code.

rename_nfproxy_serviceD

Rename a service.

update_nfproxy_service_settingsB

Change settings of an existing nfproxy service (causes restart).

list_pyfiltersC

List Python filters discovered in the service code.

enable_pyfilterC

Enable a single pyfilter by name.

disable_pyfilterB

Disable a single pyfilter by name.

get_pyfilter_codeA

Read the current Python filter source for a service (empty string if unset).

set_pyfilter_codeC

Replace the Python filter source for a service.

The code must import pyfilter from firegex.nfproxy and decorate one or more handlers. Firegex compiles the code server-side and returns 400 on syntax/import errors.

set_pyfilter_code_from_fileA

Load Python filter code from a local file and push it to Firegex.

The path is read on the machine running the MCP server. UTF-8 only. Files larger than 1 MiB are rejected.

get_firewall_settingsA

Read the firewall meta-settings (loopback, established, ICMP, mDNS, ...).

set_firewall_settingsB

Replace the firewall settings. All fields are required (no partial update).

enable_firewallA

Activate the nftables firewall ruleset.

disable_firewallA

Deactivate the nftables firewall ruleset (all rules unloaded).

list_firewall_rulesB

Return current rules, policy ('accept'/'drop'/'reject'), and enabled state.

replace_firewall_rulesA

Atomically replace the entire rule list.

Firegex performs DELETE FROM rules; INSERT ... in one transaction — there is no per-rule CRUD. Read with list_firewall_rules, mutate, then write back.

list_phj_servicesA

List port-hijack rules (each redirects public_port → proxy_port on ip_dst).

get_phj_serviceB

Get a single porthijack rule.

add_phj_serviceA

Add a porthijack rule.

ip_src is the inbound bind interface; ip_dst is the new destination. public_port is what clients connect to; traffic is rewritten to ip_dst:proxy_port. Use this to plug your own proxy in front of a service.

start_phj_serviceC

Activate a porthijack rule.

stop_phj_serviceB

Deactivate a porthijack rule (traffic is no longer redirected).

delete_phj_serviceC

Remove a porthijack rule permanently.

rename_phj_serviceC

Rename a porthijack rule.

change_phj_destinationB

Repoint an existing porthijack rule to a new ip_dst:proxy_port.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/umbra2728/firegex-mcp'

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