About MCP Server Demo
An MCP-based task management demo built around a Kafka task queue, for systems where AI agents need to work with tasks and notifications. It includes task operations, notification handling, and background Kafka message processing.
Key features
- 01Create, update, and complete tasks
- 02Change task priority
- 03View task status and details
- 04Manage notifications and read status
- 05Process events through Kafka
Use cases
- 01Having an AI agent review and handle pending tasks
- 02Adjusting task priority and tracking progress
- 03Checking notifications and marking them read
MCP support
The MCP server exposes task and notification tools to AI agents, including queue retrieval, task status operations, and notification access.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP 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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.