Skip to main content
Glama

mcp-server-tree-sitter

by wrale
MIT License
175
  • Apple
  • Linux
CONTRIBUTING.md2.7 kB
# Contributing to MCP Tree-sitter Server Thank you for your interest in contributing to MCP Tree-sitter Server! This guide will help you understand our development process and coding standards. ## Development Setup 1. Clone the repository: ```bash git clone https://github.com/organization/mcp-server-tree-sitter.git cd mcp-server-tree-sitter ``` 2. Install with development dependencies: ```bash make install-dev ``` 3. Install language parsers (optional): ```bash make install-languages ``` ## Code Style and Standards We follow a strict set of coding standards to maintain consistency throughout the codebase: ### Python Style - We use [Black](https://black.readthedocs.io/) for code formatting with a line length of 88 characters - We use [Ruff](https://github.com/charliermarsh/ruff) for linting - We use [MyPy](https://mypy.readthedocs.io/) for static type checking ### Exception Handling - Use specific exception types rather than catching generic exceptions when possible - When re-raising exceptions, use the `from` clause to preserve the stack trace: ```python try: # Some code except SomeError as e: raise CustomError("Meaningful message") from e ``` ### Testing - Write tests for all new functionality - Run tests before submitting: ```bash make test ``` ### Documentation - Document all functions, classes, and modules using docstrings - Follow the Google Python Style Guide for docstrings - Include type hints for all function parameters and return values ## Development Workflow 1. Create a branch for your feature or bugfix: ```bash git checkout -b feature/your-feature-name ``` 2. Make your changes and ensure they pass linting and tests: ```bash make format make lint make test ``` 3. Commit your changes with a clear message describing the change 4. Submit a pull request to the main repository ## Running the Server You can run the server in different modes: - For development and testing: ```bash make mcp-dev ``` - For direct execution: ```bash make mcp-run ``` - To install in Claude Desktop: ```bash make mcp-install ``` ## Project Architecture The project follows a modular architecture: - `config.py` - Configuration management - `language/` - Tree-sitter language handling - `models/` - Data models for AST and projects - `cache/` - Caching mechanisms - `resources/` - MCP resources (files, AST) - `tools/` - MCP tools (search, analysis, etc.) - `utils/` - Utility functions - `prompts/` - MCP prompts - `server.py` - FastMCP server implementation ## Seeking Help If you have questions or need help, please open an issue or contact the maintainers.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wrale/mcp-server-tree-sitter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server