MCP Server Demo
by never2average
A production-ready task management system built with MCP (Model Control Protocol) and Kafka. It enables AI agents to interact with a Kafka-based task queue.
Last updated: N/A
MCP Server Demo
A production-ready task management system built with MCP (Model Control Protocol) and Kafka.
Overview
This project demonstrates a robust task management system using MCP to enable AI agents to interact with a Kafka-based task queue. The system allows for:
- Task management (creating, updating, completing tasks)
- Notification handling
- Real-time event processing via Kafka
Features
- Task Management: Create, update, prioritize, and complete production tasks
- Notification System: Real-time notifications with priority levels
- Kafka Integration: Reliable message queuing and event streaming
- MCP Tools: AI-friendly interfaces for task and notification operations
- Consumer Services: Background processing of Kafka messages
Requirements
- Python 3.13+
- Kafka cluster (local or AWS MSK)
- Confluent Kafka Python client
Installation
# Clone the repository
git clone https://github.com/yourusername/mcp-server-demo.git
cd mcp-server-demo
# Install dependencies
pip install -e .
Configuration
Update the Kafka configuration in kafka_config.py
with your actual Kafka cluster details:
KAFKA_CONFIG = {
'bootstrap.servers': 'your-kafka-bootstrap-servers',
'security.protocol': 'SASL_SSL',
'sasl.mechanisms': 'SCRAM-SHA-512',
'sasl.username': 'your-username',
'sasl.password': 'your-password',
}
Usage
Starting the Server
python main.py
Loading Test Data
To populate the system with sample tasks and notifications:
python kafka_test_data.py
MCP Tools
The system exposes the following MCP tools for AI agents:
Task Management
fetch_queue
: Get a list of pending taskschange_task_priority
: Update task prioritypickup_task
: Mark a task as in progresscomplete_task
: Mark a task as completedget_task_details
: Get detailed information about a taskcheck_task_status
: Check the current status of a task
Notification Management
check_notification_count
: Get count of unread notificationsget_notification_list
: Get a filtered list of notificationsmark_notification_as_read
: Mark a notification as read
Architecture
The system consists of several components:
- MCP Server: Exposes tools for AI agents to interact with the system
- Kafka Producers: Send messages to Kafka topics
- Kafka Consumers: Process messages from Kafka topics
- Task Service: Business logic for task management
- Notification Service: Business logic for notification handling
Development
Project Structure
mcp-server-demo/
├── main.py # MCP server initialization
├── kafka_config.py # Kafka configuration
├── consumer_service.py # Kafka consumer services
├── task_service.py # Task management logic
├── notification_service.py # Notification handling logic
└── kafka_test_data.py # Test data generator
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.