Skip to main content
Glama
MaxMindDB MCP Server

MaxMindDB MCP Server

Install a database from a URL

install_database
Destructive

Download, validate, and load a database from an HTTP or HTTPS URL. Use install_edition, when available, for MaxMind editions with managed updates. Accepts MMDB, gzip, tar, tar.gz, or ZIP with exactly one MMDB.

Instructions

Download, validate, and load a database from an HTTP or HTTPS URL. Use install_edition, when available, for MaxMind editions with managed updates. 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. Existing files require overwrite: true and are replaced only after validation. Does not use MaxMind credentials or save the URL for updates.

Input Schema

NameRequiredDescriptionDefault
urlYesDatabase download URL. Requests can reach any HTTP(S) host accessible to this server.
databaseYesDestination filename ending in .mmdb, without a directory path. A name loaded from another folder is rejected, even with overwrite. MaxMind updates can replace imports named after configured or API-installed editions.
overwriteNoReplace an existing database with this name. Defaults to false.

Output Schema

NameRequiredDescriptionDefault
sizeNo
errorNo
updatedYes
databaseYes
last_updateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.0
    • changedInput schema / properties / database / description
      Previous value: -"Destination filename ending in .mmdb, without a directory path."New value: +"Destination filename ending in .mmdb, without a directory path. A name loaded from another folder is rejected, even with overwrite. MaxMind updates can replace imports named after configured or API-installed editions."
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructive, openWorld and non-idempotent, but the description adds substantial behavior beyond them: accepted formats, the exactly-one-MMDB constraint, a 1 GiB cap on download and expanded data, the destination folder rule (configured folder vs. first folder in directory mode), and the replace-only-after-validation ordering. That is precisely the context needed to call a destructive import safely.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences, front-loaded with the core action and then descending into constraints, limits, and caveats in priority order. Dense but every sentence carries a distinct constraint; only the format enumeration and the folder-mode clause could be trimmed slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, open-world install operation with an output schema already documenting returns, the description covers formats, size limits, overwrite semantics, validation ordering, and credential behavior. Nothing an agent needs in order to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns above baseline by tying overwrite to the existence check ('Existing files require overwrite: true') and by explaining which folder the database parameter is resolved into. The remaining gap is minor: it does not restate the no-directory-path / .mmdb suffix rule that the schema carries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific three-step verb chain (download, validate, load) against a specific resource (database from HTTP/HTTPS URL). It also names the sibling it is not (install_edition) and the condition that selects that sibling, so an agent can distinguish them without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to install_edition 'when available, for MaxMind editions with managed updates,' and closes with a negative exclusion ('Does not use MaxMind credentials or save the URL for updates'). This gives when-to-use, when-not-to-use, and the alternative in one pass.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.