bro — plan

bro is Maciek Sitkowski's personal MCP server on Cloudflare Workers. It gives his agents, and agents he lets in, one place for notes, files and speech-to-text. MCP endpoint: https://bro.sitkowski.dev/mcp (Streamable HTTP, MCP revision 2026-07-28; 2025-era clients are served statelessly).

Tools

ToolInputResultWhat it does
memo_write{ text }{ id, created_at } Saves a text note (up to 20000 characters) exactly as written.
memo_search{ query, limit? }{ notes: [{ id, text, created_at, source }] } Finds notes, newest first. Every query word must match the start of a word in the note; if none match, the whole query is tried as a substring. An empty query lists the newest notes. source names the client that saved the note.
upload{ filename, text | base64 | source_url, content_type? } { url, id, filename, size, content_type } Stores a file (up to 20971520 bytes) and returns a link under https://bro.sitkowski.dev/files/. Anyone with the link can open it.
transcribe{ url, language? }{ segments: [{ start, end, text }] } Fetches audio from the URL and turns speech into timestamped text with Cloudflare Workers AI (@cf/openai/whisper-large-v3-turbo). start and end are seconds. An upload link works as input.

Every tool declares an output schema, and every successful result returns matching structuredContent. The text content mirrors it: the same JSON, except transcribe, which gives one [start] text line per segment so long audio stays small. Expected failures (bad URL, file too large, audio that cannot be read) come back as tool results with isError: true and a message that says what to change.

Sign-in

Data it keeps