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.
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 endedThe 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 /agentsThe 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.