Business.ai.demo
This project demonstrates how to integrate AI capabilities into a typical business application with .NET Platform It showcases a common scenario where business events flow through the system and get processed, stored, and then made available for AI-powered interactions.
Installation
npx business-ai-demoAsk AI about Business.ai.demo
Powered by Claude Β· Grounded in docs
I know everything about Business.ai.demo. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Business AI Integration Demo
This project demonstrates how to integrate AI capabilities into a typical business application with .NET Platform It showcases a common scenario where business events flow through the system and get processed, stored, and then made available for AI-powered interactions.
What This Project Shows
This is a hands-on learning project that combines:
- Event-driven architecture with Kafka for processing business data
- AI integration using Model Context Protocol (MCP) to interact with stored data
- Modern development practices with .NET Aspire for orchestration
- .NET Platform features for building AI applicatΔ±on
The demo simulates a simple e-commerce flow where orders are generated, processed, and stored - then made accessible through an AI chat interface that can answer questions about the business data.
Projects
ποΈ Demo.Host (.NET Aspire Orchestrator)
The main orchestrator that manages all services and provides a unified development experience with observability and monitoring.
To run the complete demo:
dotnet run --project Demo.Host
Opens Aspire dashboard with unified logging, metrics, and service management
π Kafka.Producer
Generates mock e-commerce order events to simulate real business activity.
Features:
- Creates realistic order data every 5-10 seconds
- Publishes events to the
order-eventsKafka topic
π₯ Kafka.Consumer
Processes incoming order events and stores them in the database for later use.
Features:
- Consumes messages from Kafka topics
- Stores order and payment data in PostgreSQL
- Handles business logic like fee calculations
π§ AI.Agent.Custom
A custom AI agent implementation(just some dummy agent) using Microsoft's Agent Framework, exposed as an MCP tool for learning and experimentation.
Features:
- Implements
CustomAgentusing Microsoft Agent Framework - Maintains conversation context through persistent thread storage
- Thread state is preserved across application restarts in
{BaseDirectory}/thread/agent_thread.json
Key Components:
CustomAgent: Custom agent implementation with thread persistenceCustomAgentThread: Thread management with JSON serialization/deserialization- Thread reuse: Automatically loads existing threads on startup to maintain conversation history
π€ MCP.Server
Provides AI tools that can access business data stored in the database and hosts the custom AI agent.
Features:
- Exposes business data through MCP protocol
- Hosts the
CustomAgentas an MCP tool - Allows AI to retrieve recent payments
- Caches frequently accessed data for performance
Listing Tools for MCP Server
curl -X POST https://localhost:5001/ \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'MCP-Protocol-Version: 2025-06-18' \
-d '{
"jsonrpc":"2.0",
"id":2,
"method":"tools/list",
"params":{}
}'
Result
event: message
data: {
"result": {
"tools": [
{
"name": "get_random_number",
"description": "Generates a random number between the specified minimum and maximum values.",
"inputSchema": {
"type": "object",
"properties": {
"min": {
"description": "Minimum value (inclusive)",
"type": "integer",
"default": 0
},
"max": {
"description": "Maximum value (exclusive)",
"type": "integer",
"default": 100
}
}
}
},
{
"name": "accountant_does_financial_calculations",
"description": "Accountant Agent that can perform financial calculations for net amounts for orders payments",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"description": "Input query to invoke the agent.",
"type": "string"
}
},
"required": [
"query"
]
}
},
{
"name": "get_recent_payments",
"description": "Returns recent payment transactions from the payment system",
"inputSchema": {
"type": "object",
"properties": {
"count": {
"description": "Number of payments",
"type": "integer",
"default": 7
}
}
}
}
]
},
"id": 2,
"jsonrpc": "2.0"
}
π¬ MCP.Host
A web interface where users can chat with AI about their business data.
Features:
- Interactive chat interface
- AI can answer questions about business related data such payments
- Connects to external AI models through GitHub Models
Architecture
βββββββββββββββββββ
β ποΈDemo.Host β
β (.NET Aspire) β
β - Orchestration β
β - Observability β
β - Configuration β
βββββββββββββββββββ
β
β manages development environment
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββ βββββββββββββββββββββ PostgreSQL
β Producer β β Consumer β βββββββββββββββ
β β β β β Orders β
β - Order Events β β - Event ProcessingββββΊβ Table β
β - Mock Data β β - Business Logic β β β
β - Publishing β β - Data Storage β βββββββββββββββ€
βββββββββββββββββββ βββββββββββββββββββββ β Payments β
β β² β β Table β
β β β βββββββββββββββ€
β β β β Fees β
β β β β Table β
β βββββββββββββββββββ β β βββββββββββββββ
β β Kafka β β β β
β β β β β β
βββββββββββΊ β - Topics β βββββββββββ β
β - order-eventsβ β
β β β
βββββββββββββββββββ provides dataβ
β
β
ββββββββββββββββββββ β
β AI.Agent β β
β (CustomAgent) β β
β β β
β - Agent Frameworkβ β
β - Thread State βββββββββ β
β - Persistence β βAgent used as a tool β
ββββββββββββββββββββ β β
β β
β β
| β
βββββββββββββββββββ β
β MCP.Server β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β - Business APIs β
β - Data Caching β
β - MCP Tools β
β - Agent Hosting β
βββββββββββββββββββββββ
β β
β β
β β βββββββββββββββββββ
β ββββββΊβ Cache(Valkey) β
β β β
β β β
β βββββββββββββββββββ
β
β
β MCP protocol
βΌ
βββββββββββββββββββ External AI
β MCP.Host(web) β βββββββββββββββββββ
β βββββ GitHub Models β
β - Web Interface β β β
β - AI Integrationβ β - LLMs β
β - Chat Features β β β
βββββββββββββββββββ βββββββββββββββββββ
How It Works
- Data Generation: The Producer generates realistic order events with some payment info also. And publishes the order event to a
Kafkatopic.
- Event Processing: The Consumer processes events from given Kafka topic and stores business data. Also some mock fancy business operation is done. And all related data is inserted into
PostgreSQLdatabase.
-
AI Access: An MCP Server exposes business data through standardized APIs within .NET Platform. It is a remote MCP endpoint. .NET Platform has a template to create a minimal MCP Server:
dotnet new mcpserver -
User Interaction: Users chat with AI through the web interface to get insights about their business data. Based on one of .NET templates:
dotnet new aichatwebFor this demonstration,gpt-4o-miniis used viaGitHub Models
- In this view within a given simple prompt, host application can understand which MCP tool to be invoked and
get_recent_paymentstool is called remotly. - MCP server's
get_recent_paymentsreturns just some data from a database. - Host application uses the result from MCP server to generate more responsive and effective result for given prompt.
This demonstrates a practical approach to building AI-powered business applications using modern development tools and patterns with .NET.
