An AI-powered home loan underwriting system using Pydantic AI, Temporal workflows, and MCP (Model Context Protocol) server.
- Agent: AI underwriter that analyzes loan applications
- Workflow: Temporal workflow for loan processing
- MCP Server: Tools for loan application management
- FakeBank: Mock banking service for testing
flowchart TD
Client["MCP Client"] --> MCP["MCP Server"]
MCP --> Temporal["Temporal Workflow"]
Temporal --> Agent["AI Agent"]
Temporal --> Bank["FakeBank Service"]
Agent --> Teams["MS Teams"]
subgraph "Loan Processing Flow"
MCP -.-> |"start_loan_application"| Temporal
MCP -.-> |"supply_bank_account"| Temporal
MCP -.-> |"get_application_status"| Temporal
Agent -.-> |"post_to_teams"| Teams
end
Install dependencies:
uv installStart Temporal server (required):
temporal server start-devStart FakeBank service:
uv run python fakebank/main.pyStart Temporal worker:
uv run python worker.pyStart MCP server:
uv run python server.pyThe MCP server provides tools for:
start_loan_application: Begin loan processingsupply_bank_account: Provide bank account verificationget_application_status: Check application statuspost_to_teams: Post application details to MS Teams for approval
Test accounts: 123-456, 654-321
Set the Teams webhook URL:
export TEAMS_WEBHOOK_URL="https://your-org.webhook.office.com/webhookb2/..."