Skip to content
This repository was archived by the owner on Jul 27, 2026. It is now read-only.

Latest commit

 

History

History
106 lines (80 loc) · 2.96 KB

File metadata and controls

106 lines (80 loc) · 2.96 KB

Contributing to Uberall MCP Server

Thank you for your interest in contributing to the Uberall MCP Server! We welcome contributions from the community.

🚀 Getting Started

Prerequisites

  • Java 17 or later
  • Gradle 7.0 or later
  • Docker (optional, for container testing)

Setup

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/your-username/uberall-mcp-server.git
  3. Create a new branch: git checkout -b feature/your-feature-name

🛠️ Development

Building the Project

./gradlew build

Running Tests

./gradlew test

Running the Server Locally

export UBERALL_URL="https://sandbox.uberall.com"
export UBERALL_ACCESS_TOKEN="your_token_here"
./gradlew run

📝 Code Style

  • Follow Kotlin coding conventions
  • Add KDoc comments for public APIs
  • Keep functions focused and small
  • Use meaningful variable and function names

🔍 Testing

  • Add unit tests for new functionality
  • Ensure all tests pass before submitting PR
  • Include integration tests for API interactions when possible

📋 Pull Request Process

  1. Create an Issue: For significant changes, create an issue first to discuss the approach
  2. Write Tests: Add tests for your changes
  3. Update Documentation: Update README.md if your changes affect usage
  4. Commit Messages: Use clear, descriptive commit messages
  5. Pull Request: Submit a PR with a clear description of changes

PR Checklist

  • Tests pass (./gradlew test)
  • Code builds successfully (./gradlew build)
  • Documentation updated (if applicable)
  • KDoc comments added for public APIs
  • Changes are backwards compatible (if applicable)

🐛 Bug Reports

When reporting bugs, please include:

  • Operating System and version
  • Java version
  • Steps to reproduce
  • Expected vs actual behavior
  • Relevant logs or error messages

💡 Feature Requests

We welcome feature requests! Please:

  • Check existing issues first
  • Provide clear use cases
  • Consider implementation complexity
  • Be open to discussion about the approach

📞 Questions?

Feel free to open an issue with questions about:

  • How to implement a feature
  • Architecture decisions
  • API usage
  • Contributing process

🔒 Security Guidelines

Sensitive Information

  • Never commit credentials - No API keys, tokens, or passwords in code
  • Use environment variables - All sensitive config should use env vars
  • Redact logs - Remove sensitive data from logs before sharing
  • Private communication - For security issues, contact maintainers privately first

Reporting Security Issues

If you discover a security vulnerability:

  1. DO NOT create a public issue
  2. Contact the maintainers privately via email or private message
  3. Provide detailed information about the vulnerability
  4. Allow time for the issue to be patched before public disclosure

📄 License

By contributing, you agree that your contributions will be licensed under the MIT License.