Pulsar Server
БесплатноНе проверенEnables interaction with Apache Pulsar clusters through MCP-compatible clients, supporting publish, consume, topic management, and connector operations.
Описание
Enables interaction with Apache Pulsar clusters through MCP-compatible clients, supporting publish, consume, topic management, and connector operations.
README
A Model Context Protocol (MCP) server for Apache Pulsar that provides tools to interact with Pulsar clusters through MCP-compatible clients.
Features
- Publish Messages: Send messages to Pulsar topics with optional properties
- Consume Messages: Receive messages from topics with configurable subscription settings
- Topic Management: Create, delete, and list topics
- Topic Statistics: Get detailed statistics and metadata about topics
- Connector Management: List, get status, and configuration of Pulsar IO connectors
- Flexible Configuration: Environment-based configuration with sensible defaults
Installation
From Source
- Clone the repository:
git clone <repository-url>
cd pulsar-mcp-server
- Install dependencies:
pip install -r requirements.txt
- Install the package in development mode:
pip install -e .
Using pip (when published)
pip install pulsar-mcp-server
Usage
Command Line
After installation, you can run the server using:
pulsar-mcp-server
The server will start and listen for MCP requests via stdio.
Programmatic Usage
from pulsar_mcp_server import main
# Run the server
main()
Cursor MCP Server Usage
In your ~/.cursor/mcp.json file, add the following:
"pulsar": {
"command": "pulsar-mcp-server",
"env": {
"PULSAR_SERVICE_URL": "pulsar://localhost:6650",
"PULSAR_WEB_SERVICE_URL": "http://localhost:8080"
}
}
Configuration
The server can be configured using environment variables or a .env file:
# Pulsar connection settings
PULSAR_SERVICE_URL=pulsar://localhost:6650
PULSAR_WEB_SERVICE_URL=http://localhost:8080
# Topic and subscription settings
TOPIC_NAME=my-topic
SUBSCRIPTION_NAME=pulsar-mcp-subscription
SUBSCRIPTION_TYPE=Shared
IS_TOPIC_READ_FROM_BEGINNING=false
# Authentication (optional)
PULSAR_TOKEN=your-jwt-token
PULSAR_TLS_TRUST_CERTS_FILE_PATH=/path/to/certs
PULSAR_TLS_ALLOW_INSECURE_CONNECTION=false
Available Tools
pulsar_publish
Publish a message to a Pulsar topic.
Parameters:
topic(string, required): The Pulsar topic to publish tomessage(string, required): The message content to publishproperties(object, optional): Message properties as key-value pairs
pulsar_consume
Consume messages from a Pulsar topic.
Parameters:
topic(string, required): The Pulsar topic to consume fromsubscription_name(string, required): The subscription namemax_messages(integer, optional): Maximum number of messages to consume (default: 10)
pulsar_create_topic
Create a new Pulsar topic.
Parameters:
topic(string, required): Name of the topic to createpartitions(integer, optional): Number of partitions (default: 1)
pulsar_delete_topic
Delete an existing Pulsar topic.
Parameters:
topic(string, required): Name of the topic to delete
pulsar_list_topics
List all topics in the Pulsar cluster.
Parameters: None
pulsar_topic_stats
Get statistics and metadata about a topic.
Parameters:
topic(string, required): Name of the topic to get stats for
pulsar_list_connectors
List all connectors of a specified type (source or sink).
Parameters:
connector_type(string, optional): Type of connectors to list ("source" or "sink", default: "source")
pulsar_connector_status
Get the status of a specific connector.
Parameters:
connector_name(string, required): Name of the connector to get status for
pulsar_connector_config
Get the configuration of a specific connector.
Parameters:
connector_name(string, required): Name of the connector to get configuration for
pulsar_all_connectors
Get all connectors organized by type (source and sink).
Parameters: None
Development
Project Structure
pulsar-mcp-server/
├── src/
│ └── pulsar_mcp_server/
│ ├── __init__.py # Package entry point
│ ├── server.py # MCP server implementation
│ ├── pulsar_connector.py # Pulsar client wrapper
│ └── settings.py # Configuration settings
├── pyproject.toml # Project configuration
├── requirements.txt # Dependencies
├── test_server.py # Test script
└── README.md # This file
Testing
Run the test script to verify the server functionality:
python test_server.py
Running with Docker
You can also run Pulsar locally using Docker for testing:
# Start Pulsar standalone
docker run -it -p 6650:6650 -p 8080:8080 apachepulsar/pulsar:latest bin/pulsar standalone
Requirements
- Python 3.12+
- Apache Pulsar cluster (local or remote)
- MCP-compatible client
Dependencies
mcp>=1.1.0,<2.0: Model Context Protocol librarypulsar-client>=3.4.0: Apache Pulsar Python clientpydantic>=2.10.3: Data validation and settings managementpydantic-settings>=2.6.1: Settings management for Pydantic
License
MIT License
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions, please open an issue on the GitHub repository.
Установка Pulsar Server
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Germain-D/pulsar-mcp-serverFAQ
Pulsar Server MCP бесплатный?
Да, Pulsar Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Pulsar Server?
Нет, Pulsar Server работает без API-ключей и переменных окружения.
Pulsar Server — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Pulsar Server в Claude Desktop, Claude Code или Cursor?
Открой Pulsar Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Pulsar Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
