AI assistants (MCP)

Missived runs a Model Context Protocol server, so Claude, VS Code, Cursor and other AI assistants can read channels, search, post and more, acting as you. Every tool is an API call made with your own credentials, so the assistant can only do what you could do yourself.

What the assistant can do

Ask in your own words; the assistant picks the tools. Some things people ask:

Area For example Needs
Read and post "Summarise #general since Monday", "Reply in that thread that I'm on it" Read / Read and act
Build "Make a Spanish flash-card channel with 20 verbs", "Build a 5-question quiz about the Exodus", "Make a Projects category with #alpha and #beta" Read and act
Plan "Add the men's breakfast in two weeks at 8am, 40 places", "Start a one-year Bible reading plan in #bible-study on Monday", "Run a poll in #team" Read and act
Tables "Make a Table to track donations", "Add a Follow-up date column", "Publish a view of just the paid rows for the volunteers" Read and act (+ Invite people to publish a view)
Client portals "Set up a portal for Smith & Co with stages Intake / Docs / Review", "Ask for W-2s by Friday", "Invite [email protected]" Read and act (+ Invite people to invite)
People and settings "Invite our accountant as a guest into Finance", "Make Jo an admin", "Turn off LFG", "Delete #old-stuff" Invite people / Change settings and roles
Outside the workspace "Share the Project X category with Acme", "Tell everyone signed up it's moved to the hall" Invite people — creates the invitation directly; partner approval still required

Everything follows the app's own rules with your rights: a Member can't make an Admin, a Free workspace can't make a Table channel, a Guest sees only their categories. What an assistant changes on your behalf is listed in your Activity, with Undo where it can be undone.

Connect

The server is at https://api.missived.com/mcp (Streamable HTTP). A self-hosted server serves it at https://<your host>/api/mcp; Settings → Developer → Connect an AI assistant shows the right URL.

Sign in (recommended). Add the URL to your assistant; it opens a browser, you sign in to Missived and choose Read only or Read and act.

# Claude Code: then type /mcp, pick missived, choose Authenticate
claude mcp add --transport http missived https://api.missived.com/mcp

In Claude (web, desktop or mobile): Settings → Connectors → Add custom connector, with the URL above.

Or use a token. Make a personal token in Settings → Developer with the "For an AI assistant" quick pick, then:

claude mcp add --transport http missived https://api.missived.com/mcp --header "Authorization: Bearer msv_pat_…"

Any other client: the URL, transport "Streamable HTTP", and the header Authorization: Bearer msv_pat_….

Scopes

A token needs mcp:read for anything and mcp:write for tools that change things, plus the API scope each tool uses. tools/list shows only the tools your credential can use. A signed-in assistant gets the scopes you chose on the consent screen.

Tools

Tool Needs
list_orgs
list_channels channels:read
read_channel channels:read, messages:read
read_thread, search_messages, search_forum, get_forum_post messages:read
list_members, get_user members:read
list_meetings meetings:read
list_shifts, list_events shifts:read
post_message, reply_in_thread messages:write
add_reaction reactions:write
create_task tasks:write
list_roles members:read
schedule_meeting, update_meeting, cancel_meeting meetings:write
assign_role, remove_role roles:write
list_tables, read_table_rows tables:read
add_table_row, update_table_row tables:write
create_channel channels:write
list_categories channels:read
create_category, create_category_group channels:write
list_flashcard_decks, list_quizzes, get_quiz, get_bible_study study:read
create_flashcard_deck, add_flashcards, update_flashcard_deck, create_quiz, update_quiz, start_bible_reading_plan, set_bible_plan_status, update_bible_study_settings study:write
lookup_verse
get_event shifts:read
create_event, update_event, publish_event calendar:write
create_poll, schedule_message, create_prayer_request messages:write
list_knowledge knowledge:read
draft_knowledge_page knowledge:write
create_table channels:write, tables:manage
add_table_columns, update_table_column tables:manage
list_features
read_audit_log admin:read
update_channel channels:write
create_forum_post messages:write
list_portals, get_portal, list_portal_files, list_portal_requests, get_portal_timeline portals:read
create_portal, update_portal, update_portal_branding, set_portal_stages, move_portal_stage, create_portal_folder, create_portal_request, update_portal_request portals:write
invite_to_workspace, invite_portal_client, send_portal_reminder invites:write
set_member_role, set_features admin:write
remove_member, delete_channel, delete_category, delete_event, delete_flashcard_deck, delete_quiz, end_bible_plan, close_portal, remove_portal_client, cancel_portal_request, delete_portal_folder, update_word_filter, hand_off_category admin:write
delete_message messages:write, admin:write
delete_table_rows tables:write, admin:write
share_category, get_action_status invites:write
list_category_shares admin:read
publish_table_view tables:manage, invites:write
message_event_signups calendar:write, invites:write
list_recordings, get_recording recordings:read
get_my_booking_links, get_booking_availability bookings:read

The building tools (channels, categories, decks, quizzes, reading plans, events, polls, later posts, prayer requests, Knowledge drafts, Table columns, forum posts, channel names and topics, and a client portal's setup, stages, folders and requests) follow the same rules as the app — who may, your workspace's word filter, what your plan includes — and work with personal tokens and signed-in assistants, not app tokens. Pass idempotency_key and a retried call never makes a second one. A new event starts as a draft and a Knowledge page stays a draft: publishing a page, deleting a Table column or changing its type, cancelling an event, and seeing who signed up stay in Missived; removing and deleting need Change settings and roles (below).

get_my_booking_links and get_booking_availability read your own booking page: its link, event types and the free times a visitor would be offered — for "when am I free for a 30-minute intro next week?". They need See your booking page (bookings:read): its own box on the consent screen, unticked, offered whichever access you choose (bookings carry the names and answers of people outside your workspace), and a tick in Settings → Developer for a personal token. Apps never get it, and the tools never book or cancel anything.

Call recordings

When your workspace records calls (Business), your assistant can list the recordings you can see and fetch one with list_recordings / get_recording — for example to transcribe a meeting for you. That needs its own power, Read call recordings (recordings:read): a separate box on the consent screen, unticked, offered whichever access you choose, and a tick in Settings → Developer for a personal token. Apps and bots never get it. The answer carries a download link signed for you that stops working after 30 minutes; Missived never sends a recording to an AI service itself. Each call is listed in your workspace's audit log without what was said.

Invites, roles, switches and deletes

Inviting people (to the workspace, as a Guest into a category, or as a portal's client), reminding a client, making someone an Admin or a Member, switching features off or on, and removing or deleting things (someone from the workspace, a channel, category, event, deck, quiz, message or Table rows; closing a portal, removing its client, cancelling a request; ending a reading plan; changing the word filter; handing a category to someone for a while) need two powers you choose on their own: Invite people and share outside the workspace (invites:write) and Change settings and roles (admin:write). On the consent screen they are separate boxes under "Read and act", both unticked; in Settings → Developer they are ordinary ticks. With them, the assistant does what you ask straight away — as you, with your own rights (a Member can't invite members, only an Owner changes roles, nobody hands over ownership).

Everything it did that way is listed in your Activity — "Claude invited [email protected] to the Smith & Co portal" — with Undo for 30 days where it can be undone: an unused invite is withdrawn, a role or a switch is put back if nobody changed it since, deleted Table rows come back, a closed portal reopens, the word filter goes back (if nobody changed it since) and a hand-off ends. A reminder email can't be unsent, and a deleted channel can't come back, so those are only listed. The word filter's words are never read back to the assistant — it hears how many changed. An invitation's link goes to the person by email and is never handed to the assistant.

With Invite people and share outside the workspace it can also publish a shared view of a Table (listed with Undo, which withdraws it), message everyone signed up for an event you organise, and ask to share a category with another workspace. Sharing a category creates the invitation directly unless your Owner enabled ask-first. Give the assistant the partner Admin's full name and workspace display name along with their email (or request a one-time code); it records those supplied labels. You see I shared the "<Category>" category with "<First> <Last>" at "<Company>" in Activity, and the assistant receives the same sentence. Undo cancels a pending invitation; if accepted, Undo opens the usual ending form (reason, password and second factor when enabled), and both sides keep read-only history. With ask-first on, you confirm with your password in Missived first. The partner Admin still has to accept with their own step-up.

Ask first. A workspace's Owner can switch on Ask before the assistant shares outside the workspace (Org Settings → Integrations → AI assistants). Then invitations, client reminders, published views and event messages an assistant asks for wait for you too: the tool answers pending_confirmation with a confirm_url, the request shows in your Activity, and nothing happens until you confirm it in Missived (within 24 hours). No token can confirm one, and disconnecting the assistant cancels what it asked. get_action_status tells the assistant what became of it.

Deleting the workspace, handing over ownership, exporting it, passwords, two-step sign-in and deleting your account are never reachable by an assistant.

Resources: channel://{channel_id} (the latest 50 messages) and meeting://{meeting_id}.

What an assistant can see

Safety

Limits

Dates and missing details

Before resolving relative dates, the assistant can call get_my_context for your local date, time, saved time zone and the selected workspace's week start. If no zone has been remembered from flash-card or portal reminder settings, it asks you; a zone you supply is used for that read only. It never guesses from the server's location. Tell it if you are travelling and want a different zone.

For builders, an explicit request is enough when its required details are clear. The assistant asks when a target, date/time or intended content is ambiguous, or required details are missing.