# Sales MCP Server
A Model Context Protocol (MCP) server that provides sales data tools, resources, and prompts to AI assistants.
## What is This?
This MCP server gives AI assistant, Cline, the ability to:
- Fetch real sales data for different quarters
- Access available quarter information
- Generate sales analysis prompts
## Project Structure
```
MCP/
├── app/
│ ├── server.py # Main MCP server
│ ├── tools/
│ │ └── sales_tools.py # Sales data functions
│ ├── resources/
│ │ └── sales_resources.py # Available quarters
│ └── prompts/
│ └── sales_prompts.py # Sales analyst prompts
├── config/
│ └── settings.py # Configuration
├── .venv/ # Virtual environment
├── pyproject.toml # Project dependencies
└── test_server.py # Test script
```
## Setup Instructions
### 1. Create Virtual Environment
```bash
python -m venv .venv
source .venv/Scripts/activate # Windows Git Bash
# or
.venv\Scripts\activate # Windows CMD
```
### 2. Install Dependencies
```bash
# Install uv (fast Python package manager)
python -m pip install uv
# Install MCP and FastMCP
pip install mcp
uv pip install fastmcp
```
### 3. Create Project Configuration
Create a `pyproject.toml` file:
```toml
[project]
name = "sales-mcp"
version = "0.0.0"
dependencies = []
[dependency-groups]
dev = [
"mcp",
]
```
### 4. Add MCP as Dev Dependency
```bash
uv add --dev mcp
```
## Testing Your Server
### Option 1: Test Functions Directly
```bash
python test_server.py
```
### Option 2: Run the Server
```bash
uv run fastmcp run app/server.py
```
## Using with AI Clients
### Cline (VS Code Extension) - RECOMMENDED
1. Install Cline extension in VS Code
2. Add to Cline's MCP config at:
`C:\Users\<YourName>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json`
```json
{
"mcpServers": {
"sales-mcp": {
"command": "C:\\Users\\<YourName>\\MCP\\.venv\\Scripts\\fastmcp.exe",
"args": [
"run",
"C:\\Users\\<YourName>\\MCP\\app\\server.py"
]
}
}
}
```
3. Reload VS Code
4. Ask Cline: "What are the available quarters?"
```
## Available Tools
### `get_total_sales(quarter: str)`
Get sales data for a specific quarter.
**Example:**
```python
get_total_sales("Q1")
# Returns: {'quarter': 'Q1', 'total_sales': 120000}
```
### Resource: `list_quarters()`
Returns available quarters: `["Q1", "Q2", "Q3"]`
### Prompt: `sales_summary_prompt(quarter: str)`
Generates a sales analyst prompt for the specified quarter.
## Key Technical Details
- **FastMCP**: Uses the FastMCP framework for easy MCP server creation
- **Resources**: URI format `resource://sales/quarters` (must be valid URL)
- **Transport**: STDIO (standard input/output) for client communication
- **Python Version**: >=3.11
## Troubleshooting
**Server won't start:**
- Make sure you're in the virtual environment
- Check that all dependencies are installed: `pip list | grep mcp`
## Next Steps
Want to extend this server? Add more tools:
- Sales forecasting
- Customer analytics
- Product performance
- Revenue calculations
- Data visualization helpers
Each tool is just a Python function that AI can call!
## Repository
GitHub: https://github.com/usafhulk/MCP