Skip to main content
Glama
260,860 tools. Last updated 2026-07-05 08:54

"How to read and respond to messages on Slack" matching MCP tools:

  • Read messages from a Roomcomm room. Core read operation for every tick of your polling loop. Pass the `id` of the last message you saw as `since` to receive only new messages. Omit `since` on the very first tick to get the full (or most recent) history. Returns {messages: [{id, agent_id, text, timestamp}], has_more}. Track the largest `id` as your new `last_id`. Args: uuid: Room UUID or full room URL. since: Return only messages with id > since. limit: Maximum messages to return (default 100, max 500). Example: read_messages("a1b2…", since=42) on each tick.
    Connector
  • List a workspace's Slack channels whose name contains a substring (paged). Reads the indexed channel directory, so it's fast. Read-only — to confirm a specific channel before saving an automation, use slack_channel_resolve. Behavior: - not_connected: Slack isn't connected — connect it via integration_manage (operation "connect") first. - directory_synced: false with an empty result means the directory hasn't been indexed yet — run slack_channel_refresh, then search again. Examples: - `{ "query": "feedback", "limit": 25 }` - `{ }` (list all indexed channels)
    Connector
  • Refresh a workspace's Slack channel directory from Slack and wait for it. Only needed when a channel can't be found via slack_channel_search / slack_channel_resolve — most channels (including newly created ones and channels the bot was just invited to) are indexed automatically within seconds, so try those first. A full refresh can take a while on large workspaces, so confirm with the user before running one (unless a resolve reported "refresh_required"). Behavior: - Starts a refresh, or joins the one already running for the workspace (only one runs at a time). - Long-polls up to wait_ms, then returns "running" — call slack_channel_refresh_status to keep waiting (it won't start a new crawl). - After "completed", use slack_channel_search / slack_channel_resolve to find the channel.
    Connector
  • Read messages from a consultation thread (own thread for responders; any thread for askers). WHEN TO USE - Before replying to a consultation thread — check the full history first. - To retrieve a scope_proposal's deliverable_type and metadata before sending scope_accepted. - To check if an extension_request was accepted. WHEN NOT TO USE - For full consultation content (question, responses) — use get_consultation. BEHAVIOR - Read-only. Auth required. Rate-limited to 60 req/min. - Visibility: askers see all threads on their consultation; responders see only their own thread. - Returns messages in chronological order (oldest first) with kind, body, metadata, from_agent_id, created_at. WORKFLOW - Responders: call read_messages before send_message to avoid duplicate proposals. - Askers: call read_messages with responder_agent_id to check a specific thread before sending scope_accepted.
    Connector
  • Read messages from a conversation thread. Use text_contains to find specific messages by content. Returns the most recent messages, including sender info and timestamps. Voice calls: each row carries a `meta` object with allowlisted keys (`event_type` ∈ 'call_started'|'call_ended'|null, `source` ∈ 'voice_transcript'|null, `call_id`, `speaker_display_name`, `duration_seconds`, `outcome`, `direction`) plus per-message `channel`. To find calls without scanning every row, use `calls.list_history` instead. Usage: 1. Get thread_id from threads.list first, OR 2. Use contact_name to auto-resolve thread_id Examples: - User: 'show me messages from chat with [contact]' → read_history(contact_name='[contact]', limit=10) - User: 'last 5 messages from thread 571' → read_history(thread_id=571, limit=5)
    Connector
  • Answer questions using knowledge base (uploaded documents, handbooks, files). Use for QUESTIONS that need an answer synthesized from documents or messages. Returns an evidence pack with source citations, KG entities, and extracted numbers. Modes: - 'auto' (default): Smart routing — works for most questions - 'rag': Semantic search across documents & messages - 'entity': Entity-centric queries (e.g., 'Tell me about [entity]') - 'relationship': Two-entity queries (e.g., 'How is [entity A] related to [entity B]?') Examples: - 'What did we discuss about the budget?' → knowledge.query - 'Tell me about [entity]' → knowledge.query mode=entity - 'How is [A] related to [B]?' → knowledge.query mode=relationship NOT for finding/listing files, threads, or links — use search.files / search.threads / search.links for that.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Transform any blog post or article URL into ready-to-post social media content for Twitter/X threads, LinkedIn posts, Instagram captions, Facebook posts, and email newsletters. Pay-per-event: $0.07 for all 5 platforms, $0.03 for single platform.

  • 日本の住所と郵便番号を相互変換するMCPサーバー。住所から郵便番号を検索、郵便番号から住所を逆引きします。

  • Returns the canonical guide for using TMV from a coding-agent context. Covers the fix-test-retest loop, how to write a good test prompt, how to read the actionTrail / consoleErrors / failedRequests outputs, and common gotchas. Call this first if you're a new agent on a project — it'll save you a debug session. The same content is served at https://testmyvibes.com/docs/coding-agents.
    Connector
  • GET /rooms/:roomID/messages — List messages in a room List messages in a room you are a member of. **Read-only — no write side effects, no unread-state mutation, no reactions/posts/edits.** Cursor-paginated newest-first. **Access:** strict — the caller must be a subscribed member of the room (same `seen` doc check used by the web inbox). For browsable public channels, any DCer can read. Private rooms, DMs (`dm`), group DMs (`group`), event rooms, and city/country/mastermind rooms hard-block non-members with 403. Hidden/deleted/sunk messages are excluded. **Pagination:** pass `?before=<nextCursor>` from a previous response to fetch the next (older) page. Default page size 50, max 50. **See also:** For specific content in this room (`did anyone mention X?`), `POST /search/messages` with `q=` and `roomID=` searches body text directly — far faster than paginating with `?before`. This endpoint is the right call when you want a chronological window (last N messages, conversation reconstruction); search is the right call when you want a topic.
    Connector
  • Resolve one exact Slack channel by name ('general' / '#general') or ID ('C0123ABCD') and verify it live against Slack. A "resolved" result is safe to hand to automation_create / automation_update as resource_id. Not read-only: verifying refreshes the indexed directory (adds the confirmed channel, drops it if it has gone away). Behavior: - not_connected: Slack isn't connected — connect it via integration_manage (operation "connect") first. - not_found: the channel doesn't exist, or — for a private channel — the bot hasn't been invited. Newly created channels and channels the bot was just invited to are indexed automatically within a few seconds, so a quick retry often resolves them; otherwise ask the user before refreshing the full list via slack_channel_refresh. - refresh_required: the directory hasn't been indexed yet — run slack_channel_refresh, then retry. Example: `{ "channel": "#product-feedback" }`
    Connector
  • Preview (and get send guidance for) a message to a Signal chat. NOTE: Signal Desktop exposes no local send API — the Signal integration reads the local database read-only — so LMCP cannot transmit Signal messages directly. The first call (confirm=false or omitted) returns a preview. Pass confirm=true to get step-by-step guidance for completing the send. The chat_id should come from a previous signal_list_chats call — never fabricate IDs.
    Connector
  • Report what this session controls: the master account/subaccount, whether it can trade or is read-only, and the exact on-chain authorization scope (which messages, which subaccount, and that it CANNOT withdraw/transfer). Call this first.
    Connector
  • Report what this session controls: the master account/subaccount, whether it can trade or is read-only, and the exact on-chain authorization scope (which messages, which subaccount, and that it CANNOT withdraw/transfer). Call this first.
    Connector
  • Creates an automation on a perspective. Triggers: per_interview (fires on every completed conversation) or scheduled (daily/weekly digest). Channels: webhook, email, slack, hubspot. Execution modes: direct (fast, deterministic) or agent (LLM-powered). Behavior: - Each call creates a new automation — even if name/config matches an existing one. - Once enabled, the automation starts firing on real events: per_interview sends on every completed conversation going forward; scheduled sends a real message on the configured cadence (daily/weekly). - Webhook URLs are validated. For HubSpot, the workspace's HubSpot connection is required — errors with "Could not resolve HubSpot portal ID — please reconnect HubSpot" if not connected. - Errors when the perspective is not found or you do not have access. When to use this tool: - The user wants ongoing notifications on every completed conversation (per_interview). - Building a daily/weekly digest delivered to Slack, email, HubSpot, or a webhook (scheduled). When NOT to use this tool: - Trying a one-off send before going live — create the automation, then use automation_test (use override_email / override_webhook to avoid hitting real recipients). - Editing or toggling an existing automation — use automation_update. - Connecting Slack or HubSpot — use integration_manage first; the provider must be connected before slack/hubspot channels work. Example — per-conversation Slack notify (resolve the channel with slack_channel_resolve first, then pass it as resource_id): ``` { "perspective_id": "...", "automation": { "name": "Notify Slack", "trigger": { "type": "per_interview" }, "execution_mode": "agent", "channel": { "type": "composio", "delivery_config": { "provider": "slackbot", "tool_slug": "SLACKBOT_SEND_MESSAGE", "resource_id": "C0123ABCD", "resource_name": "#research" } } } } ``` resource_id is the Slack channel ID or name. The channel is re-verified live on create; an unresolvable channel is rejected. Typical flow: 1. integration_manage (operation: "list"/"connect") → ensure Slack / HubSpot is connected (only needed for those channels) 2. For Slack: slack_channel_search / slack_channel_resolve → find/verify the channel to use as resource_id 3. automation_create → create the automation 4. automation_test (with overrides) → verify delivery before relying on it
    Connector
  • Post a sanitized market signal brief to Slack via incoming webhook. Proprietary data policy enforced server-side: price levels, EMA values, and raw indicator readings are stripped — only direction labels, confidence %, regime, risk level, and text thesis are delivered to Slack. Pass webhook_url to target your own Slack channel, or omit to post to the SML shared channel (requires SLACK_WEBHOOK_URL env var on this server). Free.
    Connector
  • [BROWSE] List open design briefs, creative challenges and collaboration requests posted by brands seeking designers and creators. These are NOT products for sale. Call this when asked about briefs, collaborations, creative challenges, or what brands are looking for. Returns brief title, brand name, description, and brief ID. Use a brief ID with submit_design to respond. To see products for sale, use list_drops instead.
    Connector
  • [BROWSE] List open design briefs, creative challenges and collaboration requests posted by brands seeking designers and creators. These are NOT products for sale. Call this when asked about briefs, collaborations, creative challenges, or what brands are looking for. Returns brief title, brand name, description, and brief ID. Use a brief ID with submit_design to respond. To see products for sale, use list_drops instead.
    Connector
  • List all personal AI tags. AI tags are automatic message filters: the system runs a lightweight classifier on every incoming message and applies matching tags to threads. This lets AI agents skip expensive full analysis on most messages — they only act on threads that match relevant tags, dramatically cutting LLM costs. When to use: - Check which auto-classification filters exist before creating one - Get tag IDs for add_to_thread / remove_from_thread - See how many threads each tag currently matches Returns all tags with thread counts (non-archived, included threads only).
    Connector
  • Browse public buy requests — what users are looking to buy but haven't found through normal supply. The demand side of Partle. Use this when an agent wants to **offer matches** (cross-reference open requests against `search_products` and surface hits) or just survey unmet demand. Every result is a public posting — users put these up specifically so suppliers can reach them. Buy requests are independent of personal inventory (which is private): these are sales-facing ads, not workshop tracking notes. Read-only. No authentication. Rate-limited 100 req/hour per IP. Args: query: Free-text filter over title + description (case-insensitive substring). Omit to list everything, newest first. limit: Max results (1–100, default 20). offset: Pagination offset. Returns: A list of open buy requests. Each includes ``id``, ``title``, ``description`` (markdown — read the full text for specs and constraints), ``quantity``, ``max_price`` + ``currency`` (if the poster set a ceiling), ``contact`` (if they left an email/phone/handle), ``reference_url`` (sample or datasheet link if any), ``posted_by`` (display name), and ``created_at``. If the poster left a ``contact`` value, that's how a supplier should respond — Partle doesn't broker the conversation.
    Connector
  • List all personal AI tags. AI tags are automatic message filters: the system runs a lightweight classifier on every incoming message and applies matching tags to threads. This lets AI agents skip expensive full analysis on most messages — they only act on threads that match relevant tags, dramatically cutting LLM costs. When to use: - Check which auto-classification filters exist before creating one - Get tag IDs for add_to_thread / remove_from_thread - See how many threads each tag currently matches Returns all tags with thread counts (non-archived, included threads only).
    Connector
  • Read your DM inbox. Returns messages addressed to your handle (free or paid). Use `since` to paginate from a specific message id (exclusive). Default returns up to 100 most-recent messages (24h retention, 500 msg cap). Reading from a free identity extends its 24h activity TTL — the response includes `expires_at_iso` + `upgrade_hint` so you can prompt the human to mint a permanent @handle if they want it to last forever.
    Connector