One Python MCP server can reach multiple Apache Iceberg REST catalogs, but the shared server code is only part of the setup. Each catalog has its own endpoint and authentication path, and reading table files may also require storage credentials and Python adapters. In a September 2026 test, author xbill exercised six catalog environments; Databricks Unity Catalog was listed but not tested. The author’s report describes a bounded test, not a compatibility guarantee for every deployment.
What the Iceberg MCP server does
The project exposes four read-only tools: iceberg_list_tables lists tables, iceberg_describe_table returns table details, iceberg_count_rows reports a count, and iceberg_scan_table reads sample data and reports scan results. Configuration selects the catalog while the server implementation is reused. The code and test assets are available in the project repository.
As an Amazon Associate I earn from qualifying purchases.
This is one author-built project. Its behavior should not be taken to mean every MCP server or every Iceberg catalog uses the same settings.
Which catalog paths were exercised?
The report names seven catalog paths. Six were exercised: local Apache Polaris plus managed Google BigLake, Microsoft OneLake, AWS Glue, Amazon S3 Tables, and Snowflake Horizon. Databricks Unity Catalog was not run because the author’s trial account had ended.
#1 Best Overall
- 【Powerful Load-bearing】12U Network Rack Open Frame is constructed from durable cold rolled steel; Rack shelf supports enhance stability, wall-mounted capacity of 130lbs, the ground-mounted up to 260lbs
- 【Considerate Designs】Open-frame layout, including a top panel adding space, anti-slip shelf stops fixing devices and compatible racks for stack and expansion to meet requirements of home server rack
- 【Complete Accessories】A 12U open frame server rack, two ventilated shelves, four shelf stops, four velcro straps and a set of equipment mounting screws
- 【Versatile Application】Ideal for space-efficient multi-device setups in warehouses, retail, classrooms, offices and more; Excellent choices as AV Rack/IT Rack
- 【Effortless Setup】 Network Rack includes hardware, a comprehensive manual, mounting hole drilling template and an online assembly video to simplify setup
| Catalog | Reported authentication and configuration | Scan and storage details | Test status |
|---|---|---|---|
| Apache Polaris | OAuth 2.0 client ID and secret | Local file storage in the described setup | Tested locally; catalog version 1.7.0 |
| Google BigLake | gcloud login/token and a project header in the described setup |
gs:// file access |
Tested |
| Microsoft OneLake | Azure CLI login | adlfs adapter and abfss:// access |
Tested |
| AWS Glue | AWS login with SigV4; botocore[crt] was noted for this login path |
s3:// access |
Tested in us-east-1 |
| Amazon S3 Tables | AWS login with SigV4 | s3fs and botocore[crt]; catalog-issued storage credentials |
Tested |
| Snowflake Horizon | Snowflake key-pair JWT | Catalog-issued storage credentials described | Tested |
| Databricks Unity Catalog | No successful setup reported | Not established | Not run |
These are configurations from the reported test, not permanent or universal vendor requirements. Check the relevant service’s current documentation before applying them to a live environment.
Why metadata access is not the same as scanning
In the reported run, listing, describing, and counting read catalog metadata and worked with PyIceberg alone. A scan goes further: it reads the table’s data files from object storage. That means a successful catalog connection does not, by itself, prove that the client has the right storage credentials or file-system adapter.
Rank #2
- For the tested OneLake scan path, the report identifies
adlfsandabfss://access. - For the tested S3 Tables scan path, it identifies
s3fs,botocore[crt], and catalog-issued storage credentials. - The AWS Glue setup also noted
botocore[crt]for its AWS login path. - For BigLake, the described scan path used
gs://access.
The author observed that S3 Tables used a vended-credentials request header, while Horizon returned storage credentials without that request. Those details describe the tested configurations; they should not be assumed for all accounts or future service behavior.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →What the September 2026 test establishes—and what it does not
Author xbill reports that all four tools returned without error across the six exercised catalog environments. The sweep consisted of one run per catalog on September 18 and 19, 2026 UTC. It used iceberg_mcp.py 1.0.0, PyIceberg 0.12.0, PyArrow 25.0.1, Python 3.14.7, and the listed storage and authentication packages. The local Polaris catalog was version 1.7.0; the AWS test ran in us-east-1. Managed catalog versions were not reported.
Rank #3
- Used Book in Good Condition
That is evidence that this project’s four tools worked in those particular runs. It is not a repeated benchmark, a comparison of catalog speed, or a guarantee that another account, region, version, permission set, or dataset will behave the same way.
Why the reported OneLake timings should not be treated as a benchmark
The article gives conflicting timing pairs for scanning three OneLake rows: its narrative reports 858.5 seconds with DefaultAzureCredential and 3.4 seconds with AzureCliCredential, while its summary reports 553.1 seconds and 0.6 seconds, respectively. Because those figures conflict within the same report, neither pair can be treated as definitive here.
Rank #4
The report also provides individual call timings but says they show scale only. The catalogs used different tables and row counts, so those calls are not a like-for-like performance comparison.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Quick Recap
Best Value
- 12U network rack is made from Cold Rolled Steel,the maximum load-bearing capacity is up to 110lbs;The IT rack has a depth of 18 inches;16 inches apart Mounting holes;Square hole or tapped hole installation can be switched
- The swing gate open frame rack can opens from left or right,the swinging door of wall mount server rack can also completely removed ,easy to install, manage, and maintain equipment
- This 19 inch rack is open frame design,convenient for heat dissipation to ensure optimal performance of your networking and AV components;12U open frame server rack with versatility in mind, providing the flexibility to meet your needs
- 12U Wall Mountable Rack can be placed horizontally or hung on the wall,electrostatic powder coat preventing rust and corrosion,making it ideal for office,home,small server rooms or data closets
- This Wall Mount Rack provide corresponding accessories, instructions and video explanation for reference,easy to assemble;multiple specifications to choose,Compliant EIA/ECA-310-E
How to choose a path for your use case
- If you only need catalog metadata: the tested project’s list, describe, and count tools used PyIceberg without reading table files. Still configure the catalog endpoint and its authentication.
- If you need sample data or scans: plan for the object store as well as the catalog. Confirm that credentials can reach the underlying files and install the required adapter for the tested storage path.
- If you are evaluating a catalog not exercised here: treat the project configuration as a starting point, not proof of compatibility. Unity Catalog, in particular, was not tested in this report.
- If performance matters: run repeated tests on comparable tables in your own region and account. The report’s one-call-per-catalog observations do not support a speed ranking.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

