We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/software-engineer-mj/slack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# Contributing to Slack MCP Server
Thank you for your interest in contributing! This guide will help you get started.
## Development Setup
```bash
git clone https://github.com/software-engineer-mj/slack-mcp.git
cd slack-mcp
uv sync --dev
```
## Making Changes
1. Create a branch from `main`:
```bash
git checkout -b feature/your-feature
```
2. Make your changes and ensure quality:
```bash
# Run tests
uv run pytest tests/ -v
# Lint
uv run ruff check src/ tests/
# Format
uv run ruff format src/ tests/
```
3. Commit your changes with a clear message and open a pull request.
## Adding a New Tool
1. Find the appropriate module in `src/slack_mcp/tools/` (or create a new one)
2. Add your tool function with the `@mcp.tool()` decorator:
```python
import json
from typing import Annotated
from pydantic import Field
from slack_mcp import mcp
from slack_mcp.client import slack
@mcp.tool()
async def your_tool(
param: Annotated[str, Field(description="Description of the parameter")],
) -> str:
"""Description of what this tool does."""
resp = await slack.call_bot("slack_api_method", param=param)
result = {"key": resp["key"]}
return json.dumps(result, indent=2, ensure_ascii=False)
```
3. Add tests in `tests/tools/test_<module>.py`
4. Run the full test suite to verify
## Code Style
- Follow existing patterns in the codebase
- Use `ruff` for linting and formatting (configured in `pyproject.toml`)
- Line length limit: 120 characters
- All tool functions must be `async`
## Reporting Issues
- Use GitHub Issues to report bugs or suggest features
- Include steps to reproduce for bugs
- For security vulnerabilities, see [SECURITY.md](SECURITY.md)