Skip to content

[Feature]: Build an Amoro MCP server #4266

Description

@xxubai

Description

Build a standalone MCP server for Apache Amoro using Python and FastMCP. The server should expose lightweight tools backed by existing AMS REST APIs, allowing MCP clients and AI agents to inspect Amoro tables and their optimizing status.

Use case/motivation

AI assistants currently need detailed knowledge of AMS REST APIs to inspect Amoro catalogs, tables, optimizing configurations, and process status.

An official MCP server would provide a standardized interface for discovering tables, diagnosing table health, checking self-optimizing behavior, and monitoring optimizing processes.

Describe the solution

Create a Python-based Amoro MCP server using FastMCP. The initial tools should include:

  • list_catalogs: List available Amoro catalogs.
  • list_databases: List databases in a catalog.
  • list_tables: List tables in a database.
  • get_table_info: Return table schema, properties, format, and summary information.
  • get_table_optimizing_status: Return the current table optimizing status and related information.
  • list_table_optimizing_processes: Return paginated optimizing process status and history.
  • ...

The MCP server should connect to AMS through its REST APIs and support configuration of the AMS address and authentication information.

Heavy-I/O queries such as files, snapshots, and operations are out of scope.

Related issues

None.

Are you willing to submit a PR?

  • Yes I am willing to submit a PR!

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions