Developers · curl

Say something in a meeting with curl

A curl program that says something in the meeting, with what it printed when it was run.

Ran on 10 November 2026Language curlJob Speak

What it does

No socket: the speak tool on the MCP endpoint puts words into a meeting from a single request, which suits a shell script, a cron job or a CI step.

It needs a key and a meeting code in MEETFUL_KEY and MEETING. Two curl requests make both. MEETFUL_URL is optional and defaults to https://meetful.com.

curl and jq, which most machines already have.

The code

# Say something in a Meetful meeting with curl: the speak tool on the MCP endpoint.
BASE=${MEETFUL_URL:-https://meetful.com}
TEXT=${1:-"Noted: the launch moves to the third of March."}

curl -s -X POST "$BASE/mcp" \
  -H "authorization: Bearer $MEETFUL_KEY" \
  -H 'content-type: application/json' \
  -d "$(jq -n --arg m "$MEETING" --arg t "$TEXT" \
        '{jsonrpc:"2.0", id:1, method:"tools/call", params:{name:"speak", arguments:{meeting:$m, text:$t}}}')" \
  | jq -r '.result.content[0].text // .error.message'

Run it

MEETFUL_KEY=tmk_… MEETING=abc-defg-hij bash speak.sh "Noted: the launch moves to the third of March."

What it printed

spoken in the meeting and added to the transcript

Run on 10 November 2026 against a Meetful server built from the same code as meetful.com, with two people — Dana and Sam — in the meeting saying three lines. Nothing above was edited.

How it works

jq -n --arg builds the JSON body, so quotes and apostrophes in what you say cannot break it. The answer is one line of text from the tool.

The words go into the transcript under the key's name and, on a server with a voice, are read out loud. The last line of the transcript guide below is this script's.

What can go wrong

That did not work: no meeting abc-defg-hij — it was never started, or it has ended

The MCP answer for a meeting that does not exist. It comes back as a result marked isError, not as an HTTP error, so check isError as well as the status.

this key was replaced or switched off — sign in again, or make a new one at /agents

The MCP endpoint's answer to a key it does not know.

Next

In curl: start a meeting · get the transcript

The same in Node.js · Python · Go

The whole API · Every socket message and webhook · All guides

Try Meetful

Meetings that take their own notes

Free video meetings in the browser: every line of the transcript under the name of who said it, and the summary and action items when you hang up. Nothing to install — guests just open the link.