Zhianii opened a new pull request, #17:
URL: https://github.com/apache/pulsar-java-contrib/pull/17

   <!--
   ### Contribution Checklist
     
     - PR title format should be *[type][component] summary*. For details, see 
*[Guideline - Pulsar PR Naming 
Convention](https://pulsar.apache.org/contribute/develop-semantic-title/)*. 
   
     - Please fill out the template below to describe the changes contributed 
by this pull request, so that reviewers have the necessary context.
     
     - Each pull request should address only one issue, not mix code from 
multiple issues.
     
     - Each commit in the pull request must have a meaningful commit message.
   
     - Once all checklist items are addressed, remove the above text and keep 
only the filled-out template below.
   -->
   
   Fixes #PCIP-6 Implement the MCP for Pulsar Admin Tool
   Main Issue: #PCIP-6 Implement the MCP for Pulsar Admin Tool
   
   ### Motivation
   
   This PR introduces the **MCP (Model Context Protocol) server 
implementation** for Pulsar Admin operations.  
   The motivation is to enable **AI assistants** (such as Claude Desktop) to 
interact with Apache Pulsar clusters using natural language.  
   Through MCP, Pulsar administration capabilities are exposed via a 
standardized protocol, improving automation and intelligent integration.  
   
   ### Modifications
   
   - Added **MCP server layer**: `StdioMCPServer` and `HttpMCPServer`, 
supporting **STDIO** and **HTTP Streaming** transports  
   - Implemented **PulsarClientManager** to manage the lifecycle of 
`PulsarAdmin` and `PulsarClient`, with lazy initialization and thread safety  
   - Developed **70 MCP tool commands**, covering:
     - Cluster / Tenant / Namespace / Topic / Subscription management
     - Schema operations
     - Monitoring and backlog analysis
     - Message send and receive
   - Introduced **BasePulsarTools** base class for parameter validation, error 
handling, and response encapsulation  
   - Enhanced documentation with **Quick Start, FAQ, and natural language 
interaction demos** (README)
   
   ### Verifying this change
   
   - Verified in local Standalone Pulsar environment 
(`pulsar://localhost:6650`, `http://localhost:8080`)  
   - Tested both transport modes:
     - **STDIO mode**: Successfully integrated with Claude Desktop
     - **HTTP mode**: Server responded correctly at `/mcp`
   - Example validation:
     - Successfully executed `list-tenants`, `create-namespace`, 
`get-topic-stats`, etc.
     - Verified schema upload and compatibility checks
     - Validated backlog analysis and health check tools
   
   *(This change has been tested through new integration tests and validated 
against a real Pulsar cluster.)*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to