MCP ExplorerExplorer

Openmetadata Mcp

@VishalYadavCFon 13 days ago
0 MIT
FreeCommunity
AI Systems
#anthropic#copilot#java#mcp#modelcontextprotocol#openmetadata#openmetadata-mcp
OpenMetadata MCP compatible with version 1.3.3

Overview

What is Openmetadata Mcp

OpenMetadata-Mcp is a Spring Boot application that integrates with the OpenMetadata Java client, providing tools and APIs for managing and querying metadata entities such as databases, tables, and schemas, compatible with version 1.3.3.

Use cases

Use cases include managing database schemas, querying metadata entities, integrating with existing data platforms, and providing backend services for applications that require metadata operations.

How to use

To use OpenMetadata-Mcp, set up the Spring Boot application, configure the OpenMetadata client with JWT authentication, and utilize the exposed tools and APIs for metadata management and operations.

Key features

Key features include OpenMetadata integration with JWT authentication, Spring Boot for easy configuration and deployment, a variety of injectable metadata management tools, integration with Spring AI’s MCP server, and extensibility for adding new tools/services.

Where to use

OpenMetadata-Mcp can be used in data management, data governance, and metadata management fields, particularly in organizations that require efficient handling of metadata resources.

Content

OpenMetadata MCP Server

This project provides a Spring Boot application that integrates with the OpenMetadata Java client and exposes a set of tools and APIs for interacting with OpenMetadata resources. It is designed to be used as a backend service for managing and querying metadata entities such as databases, tables, schemas, and more, leveraging the Model Context Protocol (MCP) and Spring AI tooling.

Features

  • OpenMetadata Integration: Connects to an OpenMetadata server using JWT authentication.
  • Spring Boot: Built with Spring Boot for easy configuration and deployment.
  • Tooling Services: Exposes a variety of metadata management tools as injectable Spring services, including database, schema, and table operations.
  • MCP Server: Integrates with Spring AI’s MCP server for tool registration and management.
  • Extensible: Easily add new tools/services for additional OpenMetadata APIs.

Project Structure

openmetadata-mcp-server/
├── src/
│   ├── main/
│   │   ├── java/com/redcat/tutorials/openmetadatamcpserver/
│   │   │   ├── AppConfig.java                # Spring configuration for OpenMetadata client
│   │   │   ├── CustomOpenMetadata.java       # Custom Feign client builder for OpenMetadata
│   │   │   ├── OpenMetadataClientConfig.java # Beans for OpenMetadata API clients
│   │   │   ├── OpenmetadataMcpServerApplication.java # Main Spring Boot application
│   │   │   └── tools/
│   │   │       ├── OpenMetadataToolsService.java      # Abstract base for tool services
│   │   │       └── impl/
│   │   │           ├── OpenMetadataDatabaseToolsService.java
│   │   │           ├── OpenMetadataDbSchemasToolsService.java
│   │   │           └── OpenMetadataTablesToolsService.java
│   │   └── resources/
│   │       └── application.properties        # Application configuration
├── pom.xml                                  # Maven build file
└── README.md                                 # Project documentation

Dependency Summary

This project uses the following main dependencies (see pom.xml for details):

  • Spring Boot Starter Web: Provides core Spring Boot web application features.
  • Spring AI MCP Server WebMVC: Integrates Spring AI’s Model Context Protocol (MCP) server for tool registration and management.
  • OpenMetadata Java Client: Official Java client for interacting with OpenMetadata APIs (version 1.3.3).
  • Lombok: Reduces boilerplate code in Java (optional, used for annotations).
  • Gson: For JSON serialization/deserialization.
  • Spring Boot Starter Test: For testing support (test scope).
  • Spring AI BOM: Manages Spring AI dependency versions.

All dependencies are managed via Maven, and Java 17 is required.

Getting Started

Prerequisites

  • Java 17+
  • Maven
  • Access to an OpenMetadata server

Configuration

Set the following properties in src/main/resources/application.properties:

openmetadata.jwt.token=YOUR_JWT_TOKEN
openmetadata.server.host=https://your-openmetadata-server

Build and Run

mvn clean install
java -jar target/openmetadata-mcp-server-0.0.1-SNAPSHOT.jar

Tool Services

The following tool services are available and can be extended:

  • OpenMetadataDatabaseToolsService: Database operations (list, get by FQN/ID, etc.)
  • OpenMetadataDbSchemasToolsService: Database schema operations
  • OpenMetadataTablesToolsService: Table operations (list, get, export, profiles, etc.)

Each service exposes methods annotated with @Tool for integration with Spring AI MCP.

Extending

To add new OpenMetadata tools:

  1. Create a new service class in tools/impl/ extending OpenMetadataToolsService.
  2. Inject the relevant OpenMetadata API client.
  3. Annotate methods with @Tool and implement the logic.
  4. The service will be auto-registered at startup.

License

This project is for educational/tutorial purposes. See OpenMetadata for upstream licensing.

Author

VishalYadavCF a.k.a (Gato_Malo)

Example Prompt to Use For Better Effectivness:

Yet to decide

Tools

No tools

Comments