ServiceNow MCP Server
# Contributing to ServiceNow MCP Server
Thank you for considering contributing to the ServiceNow MCP Server! This document provides guidelines and instructions for contributing to this project.
## Code of Conduct
By participating in this project, you agree to abide by our code of conduct. Please be respectful and considerate of others.
## How to Contribute
### Reporting Bugs
If you find a bug, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the issue
- Steps to reproduce the bug
- Expected behavior
- Actual behavior
- Screenshots (if applicable)
- Environment information (OS, Python version, etc.)
### Suggesting Enhancements
If you have an idea for an enhancement, please create an issue on GitHub with the following information:
- A clear, descriptive title
- A detailed description of the enhancement
- Any relevant examples or mockups
- Why this enhancement would be useful
### Pull Requests
1. Fork the repository
2. Create a new branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run the tests (`pytest`)
5. Commit your changes (`git commit -m 'Add some amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request
## Development Setup
1. Clone the repository
```bash
git clone https://github.com/michaelbuckner/servicenow-mcp.git
cd servicenow-mcp
```
2. Create a virtual environment
```bash
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install development dependencies
```bash
pip install -e ".[dev]"
```
4. Create a `.env` file with your ServiceNow credentials (see `.env.example`)
5. Run the tests
```bash
pytest
```
## Coding Standards
- Follow PEP 8 style guide
- Use type hints
- Write docstrings for all functions, classes, and methods
- Write tests for all new features and bug fixes
## Testing
- All tests should be written using pytest
- Run tests with `pytest`
- Ensure all tests pass before submitting a pull request
## Documentation
- Update the README.md with any necessary changes
- Document all new features and changes in the code
## License
By contributing to this project, you agree that your contributions will be licensed under the project's MIT License.