Matchmaking criteria editor
Read as MarkdownChoose an action to read its inputs, results, and usage guidance. Your connection determines which tools are available to you.
The Matchmaking criteria editor changes questions used to match an existing Project with funding recipients. This edits the criteria form, rather than completing its answers. To prepare criteria questions for future Projects, use Application definitions.
Request access
This MCP toolset requires a specific grant and is not assigned by default. Use Request an integration in the documentation header to request Matchmaking criteria editor access, or contact Support. Documentation describes the tools; your connection's live discovery determines which you can use. A toolset grant does not grant access to additional applications or Portals.
Edit an existing form
- Use
providers.listto choose a Portal andprojects.listto find the Project. Copy the Project’s returnedworkspace_slugtogether withprovider_slugfor everymatchmaking_application_editor.*call. Useprojects.get_matchmakingwith that workspace to check its current criteria and the Project’s returned links first. Both selectors must identify the same Portal and matching workspace; do not use an application or storage ID. - Read
matchmaking_application_editor.get_configandget_config_schema. Include all existing and proposedblock_kindswhen using its schema to validate a complete document. Retain the current draft and live revisions, and preserve the completeconfig_version,config_type, andapplication_runtime_structuredocument. Reads do not create drafts. Useview: "live"to compare published questions with an existing draft;config_sourceidentifies the returned document while both state tokens remain current. Useopen_draftto start or reuse the editable draft, then read it again. - Change only the requested structure. Preserve retained question identities and answer shapes. Call
validate_configwith the complete candidate. Review the returned answer impacts as well as structural findings. - Explain the exact candidate's effects and save the validated draft directly with
matchmaking_application_editor.replace. Pass the unchanged candidate andreview_digest; copylive_revisiontoexpected_live_revisionanddraft_revisiontoexpected_draft_revision. Supply a uniqueclient_request_id; identical retries reuse that key. Read the saved draft to confirm it. Draft edits do not require human approval oruser_confirmed, and do not publish the form or delete stored answers.
For an optional file question, change only request.is_required to false. Keep its two ordered request.fields: file / FileValue / is_required: true, followed by file_name / CharValue / is_required: false. These fixed fields describe an uploaded response; they do not make the question mandatory. Start from the block catalog's default_config.
allow_destructive_changes defaults to false for publication. Draft removal leaves stored answers intact. For a deliberately reviewed destructive publication, set the flag consistently in publish_review and publish. Publishing removal of an answered scalar question requires an explicit reviewed decision: it permanently deletes its question and stored answer records, and uploaded files become inaccessible. Restoring the question structure does not restore deleted answers. Unsupported field identity or type conversions, list scope changes, and loss of existing repeated data remain blocked. Do not invent replacement identities to bypass protection.
Work with JSON files
For a large form, use get_config_download (optionally view: "live") and GET the returned URL with transfer_token as a Bearer credential outside the model. Keep the returned state tokens. Open the draft before reviewing edits. Edit the complete UTF-8 JSON envelope locally, preserving identities, then call prepare_config_validation with a JSON filename, exact content_sha256, size_bytes, and both expected revisions. POST the file as multipart field config within five minutes. Files must be at most 1 MiB; validation does not save.
Read the HTTP response's findings and answer impact. If valid, explain the exact change and call prepare_config_replacement directly with its validation_token and client_request_id. POST the same reviewed bytes as multipart config using the returned capability. The response is the saved draft receipt. Changed bytes or state require fresh validation. Identical uncertain retries reuse the same capability, bytes, and request key. Keep credentials private; live access is checked again at redemption.
Change template PDFs
The attachments inventory in get_config identifies template PDFs by stable_block_id. These templates are separate from submitted answer files. Only file questions support template changes; signature templates are unsupported. Use get_attachment_download with the selected block and expected revisions to read a template. Choose view: "live" when comparing the published template to a staged replacement.
For a replacement, call review_attachment_change with action: "set", the PDF filename, exact SHA-256 digest, and size. PDFs must be nonempty and at most 25 MiB. Explain the returned effects and call prepare_attachment_upload directly, passing the exact reviewed metadata, digest, revisions, and request key. POST the reviewed bytes as multipart attachment with the returned Bearer credential within five minutes. Preparation alone does not save; the upload response confirms the staged template.
To remove a template, review action: "remove" without replacement file metadata, then call remove_attachment directly with the review digest, expected revisions, and request key. Template changes affect the draft; publishing and notifications require a separate review and confirmation. Submitted answer files remain unchanged by these attachment actions.
Review publication and notifications
The selected Portal controls its Project’s criteria. Read projects.get_matchmaking_application_contract and projects.get_matchmaking_application_answers to inspect existing answers separately.
Use publish_review to review the exact live criteria changes and existing-answer impacts. Publishing criteria does not send participant notifications: recipient_ids must be empty and message must be empty. Publication is still a dangerous action that requires separate consent. Saved drafts and published question changes can mark previous matching results out of date. The editor does not rerun matching, create Deals, or contact participants; use the corresponding Project tools separately when requested. Publishing criteria does not calculate matches.
Ask for human approval of those reviewed effects. Call publish with user_confirmed: true and the exact reviewed digest, preconditions, recipients, and message. If any reviewed state changes, review again and obtain fresh confirmation. Check the publication result and read the live form. If the result includes notification attempts, report their outcomes separately; a selected recipient list does not establish delivery. Do not publish again solely to retry a failed notification.
Recover unpublished changes
Read list_history, then use review_undo followed by undo for the reviewed draft change, or review_reset followed by reset to discard unpublished changes. Explain what will be lost and execute directly with the exact review digest, expected revisions, and request key. Undo and reset do not require human approval. Draft recovery does not reverse live publication or recall notifications. Publication changes the shared live form. Any other Portal drafts keep their template overrides and history, but become stale after a live form publication. Preserve the staged config with a read or download, explicitly review and reset the stale draft, then reapply and validate the intended changes against the current live form. Further draft edits do not rebase it; obtain fresh approval before publication.
Live review tokens also change after answer edits and editor events. If a revision is stale, read the application again, reconcile changes, and obtain a fresh review before retrying a draft action. Publication requires new human approval of the current review. Form edits can advance answer revisions without changing stored values; treat revisions as concurrency tokens rather than edit counts. An identical retry returns the original receipt, so its change indicator describes the original execution rather than a new update. After a timeout or uncertain write outcome, read the authoritative state before another write; do not assume the operation failed or choose a new request identity blindly.
Available tools
matchmaking_application_editor.get_config_schemaRead application form editing contractmatchmaking_application_editor.review_attachment_changeReview application template attachment changematchmaking_application_editor.get_config_downloadDownload application form configmatchmaking_application_editor.open_draftOpen application form draftmatchmaking_application_editor.prepare_attachment_uploadPrepare reviewed application template uploadmatchmaking_application_editor.list_historyRead application form draft historymatchmaking_application_editor.get_attachment_downloadRead application template PDFmatchmaking_application_editor.get_configRead existing application formmatchmaking_application_editor.remove_attachmentRemove reviewed application template PDFmatchmaking_application_editor.prepare_config_validationReview application form JSON filematchmaking_application_editor.validate_configReview proposed application form changesmatchmaking_application_editor.replaceSave reviewed application form draftmatchmaking_application_editor.prepare_config_replacementSave reviewed application form filematchmaking_application_editor.publish_reviewReview application form publicationmatchmaking_application_editor.publishPublish application form changesmatchmaking_application_editor.review_resetReview application form draft resetmatchmaking_application_editor.review_undoReview application form draft undomatchmaking_application_editor.resetReset application form draftmatchmaking_application_editor.undoUndo application form draft