Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Stashcat Api

БесплатноНе проверен

MCP server for the Stashcat messenger API. Enables AI assistants to read and send messages, manage channels, conversations, files, polls, and more.

GitHubEmbed

Описание

MCP server for the Stashcat messenger API. Enables AI assistants to read and send messages, manage channels, conversations, files, polls, and more.

README

MCP (Model Context Protocol) server for the Stashcat / schul.cloud messenger API.

Allows AI assistants (e.g. Claude Desktop) to interact with Stashcat: read and send messages, manage channels and conversations, browse files, and more.

Requirements

  • Node.js 20+
  • A Stashcat account

Installation

git clone https://github.com/dclausen01/stashcat-api-mcp.git
cd stashcat-api-mcp
npm install
npm run build

Configuration

Copy .env.example to .env and fill in your credentials:

cp .env.example .env
STASHCAT_BASE_URL=https://api.stashcat.com/
[email protected]
STASHCAT_PASSWORD=your-password
STASHCAT_APP_NAME=stashcat-mcp
STASHCAT_DEVICE_ID=              # Optional; auto-generated if omitted
STASHCAT_SECURITY_PASSWORD=      # Optional; defaults to STASHCAT_PASSWORD
                                 # Enables automatic E2E message decryption

SESSION_FILE_PATH=./stashcat-session.json

The server logs in once, unlocks E2E encryption, and persists the session to SESSION_FILE_PATH. On subsequent starts it reuses the saved session and only re-authenticates when the session has expired. E2E decryption is re-unlocked automatically on each start.

Usage with Claude Desktop

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "stashcat": {
      "command": "node",
      "args": ["/absolute/path/to/stashcat-api-mcp/dist/index.js"],
      "env": {
        "STASHCAT_EMAIL": "[email protected]",
        "STASHCAT_PASSWORD": "your-password",
        "STASHCAT_BASE_URL": "https://api.stashcat.com/"
      }
    }
  }
}

Available Tools

Tool Description
get_me Profile of the authenticated user
get_user Profile of a specific user
list_companies Companies the user belongs to
get_company Details of a company
list_company_members Members of a company
get_all_company_members Get all members (no pagination)
list_managed_users List managed users (for admins)
list_groups List company groups
list_channels Subscribed channels of a company
search_channels Search visible/joinable channels
get_channel_info Detailed info about a channel
get_channel_members Members of a channel
join_channel Join a channel
quit_channel Leave a channel
create_channel Create a new channel
edit_channel Edit channel settings
delete_channel Delete a channel permanently
invite_users_to_channel Invite users to a channel
accept_channel_invite Accept a channel invitation
decline_channel_invite Decline a channel invitation
remove_user_from_channel Remove a user from a channel
add_channel_moderator Grant moderator status
remove_channel_moderator Revoke moderator status
set_channel_favorite Mark/unmark channel as favorite
enable_channel_notifications Enable push notifications
disable_channel_notifications Disable push notifications
list_conversations All direct messages and group chats
get_conversation Details of a conversation
create_conversation Create a new encrypted conversation
archive_conversation Archive a conversation
set_conversation_favorite Mark/unmark conversation as favorite
get_messages Fetch messages from a channel or conversation
send_message Send a text message
delete_message Delete a message
mark_as_read Mark messages as read
like_message Like a message
get_flagged_messages Get flagged messages
unlike_message Remove like from a message
list_likes List users who liked a message
flag_message Flag a message
unflag_message Unflag a message
list_files List files and folders
get_file_info Metadata for a file
get_storage_quota Storage quota info
rename_file Rename a file
delete_files Delete one or more files
upload_file Upload a file to a channel/conversation/personal
download_file Download a file as base64
move_file Move a file to another folder
copy_file Copy a file to another location
create_folder Create a new folder
delete_folder Delete a folder
get_notifications Recent notifications
get_notification_count Number of unread notifications
get_account_settings Account settings
list_active_devices Active devices
change_status Change status message
change_password Change account password
deactivate_device Deactivate an active device
store_profile_image Upload profile image (base64)
reset_profile_image Reset profile image to default
delete_notification Delete a specific notification
list_events List calendar events in a time range
get_event_details Details for a specific event
create_event Create a new calendar event
edit_event Edit an existing event
delete_events Delete calendar events
respond_to_event Accept/decline event invitation
invite_to_event Invite users to an event
list_available_calendars CalDAV sync URLs
list_channels_having_events Channels with events
list_broadcasts List all broadcast lists
create_broadcast Create a new broadcast list
delete_broadcast Delete a broadcast list
rename_broadcast Rename a broadcast list
add_broadcast_members Add members to a broadcast list
remove_broadcast_members Remove members from a broadcast list
list_broadcast_members List members of a broadcast list
get_broadcast_content Get messages from a broadcast list
send_broadcast_message Send a message to a broadcast list
Polls (Surveys)
list_polls List polls by constraint (created/invited/archived)
get_poll_details Get full poll details with questions
create_poll Create a new poll (as draft)
edit_poll Edit an existing poll
delete_poll Delete a poll
publish_poll Publish a draft poll
archive_poll Archive or unarchive a poll
invite_to_poll Invite users or channels to a poll
list_poll_participants List users who answered a poll
create_poll_question Create a question in a poll
edit_poll_question Edit a question
delete_poll_question Delete a question
create_poll_answer Create an answer option
list_poll_answers List answers with vote counts
vote_poll Submit votes for a question
export_poll Export poll results as CSV
watch_poll Start/stop watching a poll
list_poll_invited_users List users invited to a poll
list_poll_invites List poll invites with pagination
edit_poll_answer Edit an answer option
delete_poll_answer Delete an answer option
Realtime
create_realtime_connection Connect to Socket.io for live events
disconnect_realtime Disconnect from realtime
send_typing_indicator Send "typing..." indicator

Building

npm run build      # compile with esbuild → dist/index.js
npm run typecheck  # TypeScript type check only
npm run clean      # remove dist/

License

MIT

from github.com/dclausen01/stashcat-api-mcp

Установка Stashcat Api

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/dclausen01/stashcat-api-mcp

FAQ

Stashcat Api MCP бесплатный?

Да, Stashcat Api MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Stashcat Api?

Нет, Stashcat Api работает без API-ключей и переменных окружения.

Stashcat Api — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Stashcat Api в Claude Desktop, Claude Code или Cursor?

Открой Stashcat Api на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Stashcat Api with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai