Apply2Volunteer
Preview or grade a volunteer form. No API key. Free sign-up to publish.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"apply2volunteer": {
"url": "https://applytovolunteer.com/mcp"
}
}
}Remote endpoints
https://applytovolunteer.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (10)
🟡preview_volunteer_form(url, text)
Convert a blank volunteer application into an online form preview. No account and no API key. Send either a PDF or page url, or pasted form text, not both. Uses the on-server parser only: Workers AI and other models stay off, so this call has no model charge. Returns previewUrl (/tools/p/{token}) and claimUrl, the sign-up link (/login?next=/tools/p/{token}&utm_source=mcp) labeled sign up free to publish. The parsed form is stored for 24 hours and the daily cleanup deletes it. The URL is fetched once. File contents are not logged. Restricted fields such as Social Security numbers are left out. Anonymous use is limited per network and by a daily cap; over the cap, sign up free.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"text": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_preview(previewId)
Read an unexpired converter preview by previewId. No API key. Returns the title, fields, stages, and expiresAt already shown on the public preview page (/tools/p/{previewId}), whether or not that preview was claimed. Unknown or expired ids are not found and include the converter URL. Does not return organization ids or saved form ids.
Input Schema
{
"type": "object",
"properties": {
"previewId": {
"type": "string",
"minLength": 1
}
},
"required": [
"previewId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢grade_form(url, text)
Grade a blank volunteer form from pasted text or a document URL. No API key. Send a url or text, not both. Uses the on-server grader only: Workers AI and other models stay off. Returns the score and reportUrl (/tools/r/{id}) for the public share page when one is stored. Restricted fields such as Social Security numbers are left out of parsed; the score still counts them. Anonymous use shares the Form Grader limit of 5 per network per day and counts toward the daily anonymous MCP cap. An organization hourly limit applies when an org API key with the forms:read scope is sent. Does not grade a saved form.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"text": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪convert_pdf_preview(url)
Convert a PDF URL into a stored preview for the authenticated organization. Requires an org API key with the forms:read scope. Returns the preview id and expiry. For a preview without a key, use preview_volunteer_form.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_forms
List forms that belong to the authenticated organization. Requires an org API key with the forms:read scope.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_form(id)
Get one form by id when it belongs to the authenticated organization. Requires an org API key with the forms:read scope.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_applications(formId)
List applications for one form in the authenticated organization. Requires an org API key with the applications:read scope.
Input Schema
{
"type": "object",
"properties": {
"formId": {
"type": "string"
}
},
"required": [
"formId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_application(id)
Get one application by id when it belongs to the authenticated organization. Requires an org API key with the applications:read scope.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_application_status(id, status, declineReason)
Set an application's status for the authenticated organization. Requires an org API key with the applications:write scope. A decline requires a decline reason. This writes the status; it does not delete the application.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"new",
"in_review",
"advanced",
"accepted",
"declined",
"withdrawn",
"on_hold"
]
},
"declineReason": {}
},
"required": [
"id",
"status"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_form_from_pdf(url, title)
Fetch a PDF or page URL and save a draft form in the authenticated organization, the same way claiming a preview does. Requires an org API key with the forms:write scope. Uses the on-server parser only: Workers AI and other models stay off. Returns formId and editorUrl (/app/forms/{formId}). Does not publish the form. File contents are not logged.
Input Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
}
},
"required": [
"url"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence