MCP tool reference
Server: https://mcp.drp.dev. Every tool returns a shareable drp.dev/r/… URL (or structured data).
Common parameters
| Param | Meaning |
|---|---|
visibility | private | team | public. Default team. |
team | Team slug to post into. Omit for your default/personal team. See list_teams. |
folder | Folder name; created automatically if new. |
Delivery workflows
drp_full
Returns the complete agent execution contract for reviewing a change, verifying findings, collecting evidence, creating the private internal report, and producing a separate public release. Ask your agent to “use drp-full” to start this workflow.
review_changes
Review a real unified diff and return merge risk, validated findings, and a required evidence plan. Stores nothing by default. Set publish: true only when a shareable technical review page is wanted.
Drp Evidence and Drp Release
Use post_report to create the private proof-backed internal report. Use duplicate_drop, update_drop, redact_content, and share to create a separate public release without modifying the source.
Posting drops
post_image
Post an image. imageBase64 (preferred - Drp hosts it) or imageUrl; contentType (e.g. image/png); + common params.
post_markdown
Post a markdown note. body (required), title? + common params.
upload_file
Upload any file. filename, contentType, contentBase64 (preferred) or contentUrl + common params. Up to 100 MB.
post_html
Share runnable HTML+JS. body (full HTML document) + common params. Rendered sandboxed/isolated.
post_code
Share code/text rendered read-only with highlighting (never executed). filename, content (text), contentType? + common params.
post_report
One page from markdown + inline images. body with  refs, images: [{ slot, imageBase64|imageUrl, contentType }] + common params. Returns incompleteSlots + a hint if any image is missing.
prepare_image_upload
Get a signed direct-upload URL for a local image/file, skipping base64. contentType (required), title?, kind? (image|file, default image), filename? + common params; or dropId + slot to attach to an existing markdown/report drop (fills ). Returns { dropId, url, uploadUrl }; PUT the raw bytes to uploadUrl (no auth header). The URL expires in ~15 minutes.
add_report_image
Add/replace one image on a markdown or report drop. dropId, slot, imageBase64|imageUrl, contentType. If the body has a  placeholder it fills that spot; otherwise the image is appended to the bottom (and a markdown drop is upgraded to a report). Add images one per call.
Reading & updating (iterative docs)
Build a document over time, e.g. "research this PR as you go, documenting changes with images".
get_drop
Read a drop you created. dropId → returns markdown body, title, kind, visibility, folder, URL, and (reports) filled assets + referenced slots.
append_drop
Add markdown to the bottom of an existing markdown or report drop without fetching and rewriting its full body. Pass dropId as an ID or Drp share link, plus content. Drp inserts a blank line and handles simultaneous appends safely.
update_drop
Edit a markdown/report drop. dropId + any of body, title, visibility, folder. Reference images as  and add the bytes with add_report_image (unplaced images append to the bottom).
duplicate_drop
Duplicate a markdown/report/html drop into a new drop in the same team, reusing its images without re-uploading. dropId (required), title? (defaults to original + " (copy)"), visibility?, folder?. Returns the new dropId and URL; then edit the copy with update_drop.
Managing
share
Change visibility / expiry. dropId, visibility, expiresIn? (e.g. 7d).
list_drops
List recent drops. team?, folder?, kind?, limit? (≤100).
create_folder / list_folders
create_folder(name, team?) (idempotent); list_folders(team?) returns folders with drop counts.
list_teams / whoami
list_teams() lists teams you can post to (with slugs). whoami() shows your account and the default team your drops land in.
Sizes & scaling
- Send content as base64: Drp hosts it; you never need to host it elsewhere.
- Soft limit ~24 MB inline per item; hard limit 100 MB.
- For a local file already on disk, prefer
prepare_image_upload: no base64, one signed PUT. - For many/large images in a report: post with a few (or none), then
add_report_imageone per call.