Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
- Check existing issues before creating a new one
- Include clear steps to reproduce bugs
- Provide your environment details (Node.js version, OS)
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Run the build to ensure it compiles (
npm run build) - Commit with clear messages
- Push to your fork
- Open a Pull Request
- Use TypeScript
- Follow existing code patterns
- Add JSDoc comments for public functions
- Keep tools focused and single-purpose (MCP best practice)
When adding new MCP tools:
- Place in appropriate tier folder (
src/tools/tier1/, etc.) - Use Zod for input validation
- Write clear, LLM-friendly descriptions
- Handle errors gracefully (error messages are shown to users)
- Follow existing tool patterns
Use clear, descriptive commit messages:
feat: add get_artist_stats tool
fix: handle empty response from Your Spotify API
docs: update README with new configuration options
# Install dependencies
npm install
# Build
npm run build
# Watch mode (rebuild on changes)
npm run watchOpen an issue for questions or discussion.
By contributing, you agree that your contributions will be licensed under Apache 2.0.