ServiceNow MCP Server

by osomai
Verified
# Python project structure rules # This file defines the structure for a Python project with similar organization to the ServiceNow MCP project # Root directory structure root/ ├── src/ # Source code directory │ └── servicenow_mcp/ # Main package directory │ ├── __init__.py # Package initialization │ ├── server.py # Server implementation │ ├── cli.py # CLI implementation │ ├── auth/ # Authentication related code │ ├── tools/ # Tool implementations │ ├── utils/ # Utility functions │ └── resources/ # Resource definitions ├── tests/ # Test directory │ ├── __init__.py │ └── test_*.py # Test files ├── docs/ # Documentation ├── examples/ # Example code ├── scripts/ # Utility scripts ├── .env # Environment variables ├── .gitignore # Git ignore rules ├── LICENSE # License file ├── README.md # Project documentation ├── pyproject.toml # Project configuration └── uv.lock # Dependency lock file # File naming conventions *.py: - Use snake_case for file names - Test files should start with test_ - Main package files should be descriptive of their purpose # Directory naming conventions directories: - Use snake_case for directory names - Keep directory names lowercase - Use plural form for directories containing multiple items # Import structure imports: - Group imports in the following order: 1. Standard library imports 2. Third-party imports 3. Local application imports - Use absolute imports for external packages - Use relative imports for local modules # Testing conventions tests: - Each test file should correspond to a module in the source code - Test classes should be prefixed with Test - Test methods should be prefixed with test_ - Use pytest fixtures for common setup # Documentation docs: - Include docstrings for all public functions and classes - Use Google style docstrings - Keep README.md up to date with project information - Document API endpoints and usage in docs/ # Code style style: - Follow PEP 8 guidelines - Use type hints for function parameters and return values - Keep functions focused and single-purpose - Use meaningful variable and function names - Add comments for complex logic # Version control git: - Use meaningful commit messages - Keep commits focused and atomic - Include relevant issue numbers in commit messages - Use feature branches for new development # Dependencies dependencies: - Use pyproject.toml for project configuration - Keep dependencies up to date - Use uv.lock for deterministic builds - Document all external dependencies in README.md
ID: wfdzusqbvb