Hi devs,

I would like to start a discussion about AIP-6: Introduce an MCP Server for
Apache Amoro [1].

Today, MCP clients and AI agents that inspect Amoro must understand the AMS
REST route hierarchy, authentication and request-signing rules, pagination
conventions, and response structures. AIP-6 proposes an official
standalone, read-only MCP Server backed by the existing AMS REST GET APIs.

The initial scope contains 11 tools:

- list_catalogs
- list_databases
- list_tables
- get_table_details
- list_table_snapshots
- list_optimizing_processes
- list_optimizing_tasks
- list_optimizers
- list_optimizing_tables
- list_resource_groups
- check_ams_connectivity

Snapshot access is bounded, paginated, projected, and redacted. File-level
queries, operation history, generic REST proxying, and all write actions
are out of scope.

The main security boundaries are:

- an explicit GET-only action allowlist;
- strict input validation and bounded responses;
- projection and redaction of sensitive fields;
- no arbitrary URLs, HTTP methods, or raw AMS response passthrough.

The proposal uses an independently deployable Python/FastMCP service and is
based on the AMS REST interfaces available on the current master branch.

I would especially appreciate community feedback on:

- whether the server should live in the Amoro monorepo;
- the initial public tool contract;
- the authentication model;
- release expectations.

The full proposal is available on the wiki [1], and the tracking issue is
[2].

[1]
https://cwiki.apache.org/confluence/spaces/AMORO/pages/440304643/AIP-6+Introduce+an+MCP+Server+for+Apache+Amoro
[2] https://github.com/apache/amoro/issues/4266

Best regards,
Xavier Bai

Reply via email to