Skip to main content
Glama
oschwald

MaxMindDB MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MAXMINDDB_MCP_CONFIGNoConfig file path. An explicit path must point to an existing `.toml` file or a file named `GeoIP.conf`. A missing explicit file is an error. Do not set alongside `MAXMINDDB_MCP_DOWNLOAD_ENABLED`.
MAXMINDDB_MCP_EDITIONSNoComma- or whitespace-separated editions. Defaults to `GeoLite2-City,GeoLite2-ASN`.
MAXMINDDB_MCP_LOG_LEVELNoLog level: `debug`, `info` (default), `warn`, `error`.
MAXMINDDB_MCP_ACCOUNT_IDNoPositive account ID, required for downloads.
MAXMINDDB_MCP_LOG_FORMATNoLog format: `text` (default), `json`.
MAXMINDDB_MCP_LICENSE_KEYNoLicense key, required for downloads.
MAXMINDDB_MCP_DATABASE_DIRNoOne database folder. Required for existing files. Downloads default to the OS user cache directory under `maxminddb-mcp/databases`.
MAXMINDDB_MCP_DOWNLOAD_ENABLEDNo`true` for MaxMind downloads, `false` for existing MMDB files. Setting this selects the environment configuration source and skips automatic config-file discovery.

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

CapabilityDetails
tools
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
compare_databasesA

Compare lookup answers in two loaded databases within a CIDR, for example before and after an update. Returns paginated added, removed, and changed address ranges. Equal answers with different network boundaries are unchanged. Pages scan at most 10,000 segments and can contain no changes while has_more is true. Continue until has_more is false.

inspect_databaseA

Read MMDB metadata and sample field paths, types, and examples. Use this to choose fields, filter paths, or a summarize_network group_by field. Sampling starts at the first network record, so observed fields are not a complete schema. Use verify_database to check file integrity.

install_databaseA

Download and load a database from an HTTP or HTTPS URL. Accepts MMDB, gzip, tar, tar.gz, or ZIP with exactly one MMDB. Downloads and expanded data are limited to 1 GiB. Uses the configured download folder, or the first folder in directory mode. Does not use MaxMind credentials or save the URL for updates.

list_databasesA

List loaded databases, their metadata, download status, and setup instructions. Call this first to choose exact database filenames for other tools. An empty list can mean the initial download is still running. If status is downloading, wait and call again without starting another update.

lookup_ipA

Look up one IP address in local MMDB databases. Returns the matching record and network, with found=false when no record matches. Use lookup_ips for a batch of addresses or lookup_network to enumerate records in a CIDR.

lookup_ipsA

Look up a batch of IP addresses in local MMDB databases. Each result contains the matching record and network, found=false for no match, or an error for that address. Other addresses are still processed after an error. Use lookup_ip for a single address.

lookup_networkA

Find stored network records overlapping a CIDR, with optional filters and field selection. Returned networks may extend beyond the requested CIDR. Use lookup_range for start/end bounds or summarize_network for grouped counts. Repeat the network and database on each page. Stop when has_more is false.

lookup_rangeA

Find stored network records overlapping an inclusive start/end IP range, with optional filters and field selection. Use lookup_network when the bounds are a CIDR. Returns each overlapping network once, including networks extending beyond the bounds. Repeat the endpoints and database on each page. Stop when has_more is false.

summarize_networkA

Group matching records by a scalar field, such as country.iso_code or autonomous_system_number. Count records and covered addresses within a CIDR. Use lookup_network to retrieve individual records. IPv4 aliases are excluded. Exceeding 10,000 scanned records or 100 groups returns an error. Use a smaller CIDR if a limit is reached.

verify_databaseA

Check a loaded MMDB for structural corruption, such as after importing a database or encountering decode errors. Returns valid=true on success or a verification error. Use inspect_database for metadata and field samples. Only one verification runs at a time. Cancellation can stop a queued request, but verification runs to completion once started.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.5/5.0

Scored across 10 tools

Disambiguation5/5

The lookup family is cleanly split by input shape: single IP (lookup_ip), batch (lookup_ips), CIDR (lookup_network), and start/end range (lookup_range), and descriptions explicitly cross-reference each other to steer selection. Database tools (list, inspect, verify, compare, install) each target a distinct operation with no overlap.

Naming Consistency5/5

All ten tools follow a consistent snake_case verb_noun pattern (lookup_*, summarize_network, compare_databases, inspect_database, list_databases, verify_database, install_database). No mixing of conventions or vague verbs.

Tool Count5/5

Ten tools is well-scoped for an MMDB lookup server, covering query, aggregation, diffing, metadata, integrity, listing, and installation without redundancy. Every tool appears to earn its place.

Completeness4/5

The surface covers the full read/query lifecycle plus database installation, inspection, verification, and comparison. Minor gaps exist: no explicit unload/remove or in-place update tool, though install and list largely cover database management.

Maintenance

ActivityMaintained
ResponsivenessNo issues