Skip to content

feat: Add Slack Canvas API support to slack tool #1924

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

fredespi
Copy link

Adds support for the following Slack Canvas API endpoints:

  • canvases.access.delete
  • canvases.access.set
  • canvases.create
  • canvases.delete
  • canvases.edit
  • canvases.sections.lookup
  • conversations.canvases.create

This includes:

  • TypeScript interfaces for API arguments and responses.
  • Definitions for each new API method.
  • Implementation of these methods in the SlackClient.
  • Updates to the CallToolRequest and ListToolsRequest handlers.

Unit tests were written for the new functionality and added in src/slack/index.test.ts. Jest dependencies and configuration were added to package.json and jest.config.js. However, due to persistent issues within the sandbox environment related to Jest, ES Modules, and TypeScript compilation, I could not successfully execute the tests during development. The test code is believed to be complete and correct based on the requirements.

Description

Server Details

  • Server:
  • Changes to:

Motivation and Context

How Has This Been Tested?

Breaking Changes

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Protocol Documentation
  • My changes follows MCP security best practices
  • I have updated the server's README accordingly
  • I have tested this with an LLM client
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have documented all environment variables and configuration options

Additional context

Adds support for the following Slack Canvas API endpoints:
- canvases.access.delete
- canvases.access.set
- canvases.create
- canvases.delete
- canvases.edit
- canvases.sections.lookup
- conversations.canvases.create

This includes:
- TypeScript interfaces for API arguments and responses.
- Definitions for each new API method.
- Implementation of these methods in the SlackClient.
- Updates to the CallToolRequest and ListToolsRequest handlers.

Unit tests were written for the new functionality and added in `src/slack/index.test.ts`.
Jest dependencies and configuration were added to `package.json` and `jest.config.js`.
However, due to persistent issues within the sandbox environment related to Jest, ES Modules, and TypeScript compilation, I could not successfully execute the tests during development. The test code is believed to be complete and correct based on the requirements.
@olaservo
Copy link
Member

Thanks for contributing this PR. This server has been moved to the archived repository at https://github.com/modelcontextprotocol/servers-archived to reduce maintenance overhead, so we can focus our efforts on a smaller set of core servers.
Since we're no longer accepting contributions to this server, we won't be able to merge this PR. If you're interested in contributing similar functionality, we recommend checking out the alternatives listed in the Readme.

@olaservo olaservo closed this May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants