# Salesforce MCP Server

A local development server that mocks Salesforce CLI commands for testing and development purposes.

## Features

- Mock Salesforce CLI commands
- Local development environment
- Configurable endpoints
- Logging and error handling
- Security features (CORS, Helmet)
- Environment-based configuration

## Prerequisites

- Node.js (v14 or higher)
- npm (v6 or higher)

## Installation

1. Clone the repository:
```bash
git clone <repository-url>
cd mcp-server
```

2. Install dependencies:
```bash
npm install
```

3. Configure environment variables:
```bash
cp .env.example .env
# Edit .env with your configuration
```

## Usage

### Development Mode

```bash
npm run dev
```

### Production Mode

```bash
npm run build
npm start
```

### Testing

```bash
npm test
```

## Configuration

The server can be configured using environment variables in the `.env` file:

- `PORT`: Server port (default: 6101)
- `HOST`: Server host (default: localhost)
- `NODE_ENV`: Environment (development/production)
- `LOG_LEVEL`: Logging level (info/debug/error)
- `CORS_ORIGIN`: CORS origin
- `API_KEY`: API key for authentication
- `SF_LOGIN_URL`: Salesforce login URL
- `SF_API_VERSION`: Salesforce API version

## API Endpoints

The server mocks the following Salesforce CLI commands:

- Apex Test Execution
- Org Management
- Package Management
- Source Management

## Security

- CORS is enabled and configurable
- Helmet is used for security headers
- API key authentication
- Request validation
- Error handling

## Logging

Logs are written to:
- Console (development)
- `error.log` (error logs)
- `combined.log` (all logs)

## Contributing

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

## License

MIT 