OpenMetadata-Mcp
OpenMetadata-Mcp is an open-source platform for metadata management. It assists in cataloging, tracking, and governance of data, making visualization and analysis easier. It is particularly designed to integrate metadata from different data sources, allowing users to understand data usage effectively.
GitHub Stars
0
User Rating
Not Rated
Favorites
0
Views
27
Forks
0
Issues
0
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:
- Create a new service class in
tools/impl/extendingOpenMetadataToolsService. - Inject the relevant OpenMetadata API client.
- Annotate methods with
@Tooland implement the logic. - 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
0
Followers
0
Repositories
0
Gists
0
Total Contributions
aws-s3-mcp is a TypeScript library that simplifies interactions with AWS S3. It allows developers to easily perform operations such as uploading, downloading, and deleting data without directly handling AWS APIs, providing a user-friendly interface. This tool is particularly useful for streamlining workflows involving cloud storage.