srikanth-mettukuru/NorthwindMCP
3.1
If you are the rightful owner of NorthwindMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
MCP Server implementation for Northwind DB
NorthwindMCP
A Model Context Protocol (MCP) Server implementation for the Northwind database with an AI-powered Streamlit chatbot interface.
🌟 Overview
This project demonstrates a modern AI-powered database assistant built with:
- MCP Server: Exposes specialized database tools and operations
- AI Agent: Uses LangChain + OpenAI to understand natural language queries
- Streamlit App: Interactive web interface for database conversations
- PostgreSQL: Northwind sample database hosted on AWS RDS
🛠️ MCP Server Tools
get_tables: Discover available database tablesget_columns: Inspect table structures and column informationquery: Execute custom SQL queries with safety checkssales_report: Generate comprehensive sales analytics with optional date filteringcustomer_orders: Analyze customer ordering patterns and history
📁 Project Structure
NorthwindMCP/
├── northwind-mcp-server/ # MCP Server Implementation
│ ├── main.py # FastMCP server entry point
│ ├── service.py # Business logic and tool implementations
│ ├── database.py # PostgreSQL connection and query execution
│ ├── unittests.py # Database layer tests
│ ├── requirements.txt # Server dependencies
│ └── .env.example # Example Server configuration
├── northwind-mcp-client/ # MCP Client & AI Agent
│ ├── mcp_client.py # MCP protocol client implementation
│ ├── agent.py # LangChain agent with OpenAI integration
│ ├── agent_tests.py # End-to-end agent tests
│ ├── requirements.txt # Client dependencies
│ └── .env.example # Example Client configuration
└── streamlit-app/ # Web Application
├── app.py # Streamlit interface
├── requirements.txt # Combined dependencies for deployment
└── .env.example # Example Deployment configuration
🔧 Technology Stack
- Backend: FastMCP, PostgreSQL, psycopg2
- AI/ML: LangChain, OpenAI GPT-4.1-mini
- Frontend: Streamlit
- Protocol: Model Context Protocol (MCP)
- Testing: pytest
- Deployment: Streamlit Cloud
📝 Usage
This project is created for educational and learning purposes.