# Use Apply2Volunteer from an AI assistant

https://applytovolunteer.com/ai

Preview or grade a blank volunteer form with no API key. Organization tools use an a2v_ API key. The server is a remote MCP endpoint, and the same product is an OpenAPI document.

## Ask your AI assistant

You do not need to install anything. Pick the assistant you already use. The link opens the assistant with a prefilled question. The question asks the assistant to explain Apply2Volunteer and direct you to the page where you upload your PDF.

- [ChatGPT](https://chatgpt.com/?q=Read%20https%3A%2F%2Fapplytovolunteer.com%2Fllms.txt%20and%20explain%20Apply2Volunteer.%20Direct%20me%20to%20upload%20my%20PDF%20volunteer%20application%20at%20https%3A%2F%2Fapplytovolunteer.com%2Ftools%2Fpdf-to-online-form%3Futm_source%3Dai-prompt%26utm_content%3Dchatgpt%26utm_campaign%3Dchatgpt)
- [Claude](https://claude.ai/new?q=Read%20https%3A%2F%2Fapplytovolunteer.com%2Fllms.txt%20and%20explain%20Apply2Volunteer.%20Direct%20me%20to%20upload%20my%20PDF%20volunteer%20application%20at%20https%3A%2F%2Fapplytovolunteer.com%2Ftools%2Fpdf-to-online-form%3Futm_source%3Dai-prompt%26utm_content%3Dclaude%26utm_campaign%3Dclaude)
- [Grok](https://grok.com/?q=Read%20https%3A%2F%2Fapplytovolunteer.com%2Fllms.txt%20and%20explain%20Apply2Volunteer.%20Direct%20me%20to%20upload%20my%20PDF%20volunteer%20application%20at%20https%3A%2F%2Fapplytovolunteer.com%2Ftools%2Fpdf-to-online-form%3Futm_source%3Dai-prompt%26utm_content%3Dgrok%26utm_campaign%3Dgrok)
- [Perplexity](https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Fapplytovolunteer.com%2Fllms.txt%20and%20explain%20Apply2Volunteer.%20Direct%20me%20to%20upload%20my%20PDF%20volunteer%20application%20at%20https%3A%2F%2Fapplytovolunteer.com%2Ftools%2Fpdf-to-online-form%3Futm_source%3Dai-prompt%26utm_content%3Dperplexity%26utm_campaign%3Dperplexity)

MCP endpoint: https://applytovolunteer.com/mcp

Add to your assistant: Connect in Claude uses https://applytovolunteer.com/mcp and OAuth sign-in. A new account gets a free organization, then a consent screen names the client and the scopes. No sign-in still reaches the anonymous tools. Request headers are in beta and only some organizations see them; the header name is authorization and the value is Bearer a2v_... including the word Bearer and the space. Connect in ChatGPT is ChatGPT Plugins, Add custom MCP server, https://applytovolunteer.com/mcp, then OAuth sign-in. Documented authentication there is OAuth, No authentication, or mixed. Choose No authentication only for the anonymous tools. GPT Actions import https://applytovolunteer.com/openapi.json and can send an API key as Bearer a2v_.... The REST API does not implement OAuth. Cursor uses .cursor/mcp.json or ~/.cursor/mcp.json with mcpServers.apply2volunteer.url and an optional headers.Authorization of Bearer ${env:A2V_API_KEY}. The one-click install link is on https://applytovolunteer.com/ai and does not include a key. VS Code uses .vscode/mcp.json with servers.apply2volunteer, type http, url https://applytovolunteer.com/mcp, and an optional headers.Authorization of Bearer ${input:a2v-key}. Grok custom connector is grok.com/connectors, New Connector, then Custom, with server URL https://applytovolunteer.com/mcp. Those steps do not name a header for an org API key. Grok Business and Enterprise need a team admin to add it in the cloud console with + Add Connector, Other, and the same URL. The xAI API remote MCP tool sets server_url to https://applytovolunteer.com/mcp and server_label to apply2volunteer. authorization is the a2v_... key and is sent as Authorization: Bearer followed by that key, so the value does not include the word Bearer. headers are additional headers. The xAI SDK calls that parameter extra_headers. allowed_tools lists the tool names this key should call. Omit it and every tool the server exposes is injected. The keyed example sets allowed_tools to the read-only organization tools list_forms, get_form, list_applications, get_application. The xAI SDK calls that parameter allowed_tool_names. list_applications and get_application need the applications:read scope. A new key does not have applications:read. New keys default to forms:read and forms:write.

## Connect from other clients

Anonymous tools need no API key. One-click links leave the key out. Where a client documents a header or a token field, the note names that field and the snippet omits it.

### VS Code

https://applytovolunteer.com/ai#vscode

[Install in VS Code](vscode:mcp/install?%7B%22name%22%3A%22apply2volunteer%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapplytovolunteer.com%2Fmcp%22%7D)

[Install in VS Code Insiders](vscode-insiders:mcp/install?%7B%22name%22%3A%22apply2volunteer%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapplytovolunteer.com%2Fmcp%22%7D)

[VS Code's MCP extension guide](https://code.visualstudio.com/api/extension-guides/ai/mcp) describes the install link. The links do not include an API key.

Put this in `.vscode/mcp.json`. [VS Code's MCP configuration reference](https://code.visualstudio.com/docs/copilot/reference/mcp-configuration) uses `servers`, and remote HTTP needs `type` `http` plus `url`.

```json
{
  "servers": {
    "apply2volunteer": {
      "type": "http",
      "url": "https://applytovolunteer.com/mcp"
    }
  }
}
```

Organization tools use `headers` and an input prompt so the key is not written into the file. The prompt value is the `a2v_` key. The header value includes Bearer and the space. VS Code's reference says a server that uses an input variable is not forwarded to the session. The anonymous config has no input.

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "a2v-key",
      "description": "Apply2Volunteer API key",
      "password": true
    }
  ],
  "servers": {
    "apply2volunteer": {
      "type": "http",
      "url": "https://applytovolunteer.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:a2v-key}"
      }
    }
  }
}
```

### GitHub Copilot

https://applytovolunteer.com/ai#copilot

[Install MCP server in VS Code](vscode:mcp/install?%7B%22name%22%3A%22apply2volunteer%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fapplytovolunteer.com%2Fmcp%22%7D)

```text
copilot mcp add --transport http apply2volunteer https://applytovolunteer.com/mcp
```

Put this in `~/.copilot/mcp-config.json`. [GitHub's Copilot CLI docs](https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers) describe adding an MCP server. Those docs also describe `headers`. This anonymous config omits them. The install link does not include an API key.

```json
{
  "mcpServers": {
    "apply2volunteer": {
      "type": "http",
      "url": "https://applytovolunteer.com/mcp",
      "tools": [
        "*"
      ]
    }
  }
}
```

### Claude Code

https://applytovolunteer.com/ai#claude-code

```text
claude mcp add --transport http apply2volunteer https://applytovolunteer.com/mcp
```

The optional flag is `--header` with value `Authorization: Bearer a2v_...`. The command leaves that flag off. [Claude Code's MCP docs](https://code.claude.com/docs/en/mcp) say HTTP is the remote transport.

```json
{
  "mcpServers": {
    "apply2volunteer": {
      "type": "http",
      "url": "https://applytovolunteer.com/mcp"
    }
  }
}
```

### Claude Desktop

https://applytovolunteer.com/ai#claude-desktop

Add a custom connector. On Free, Pro, and Max, open Customize, then Connectors, then Add custom connector. The Free plan can add one custom connector. On Team plans, Owners and Primary Owners add it. On Enterprise plans, Owners, Primary Owners, and people with a custom role that includes Manage access to Libraries can add it. Add it under Organization settings, then Connectors, then Add, then Custom, then Web. Name it Apply2Volunteer. Set the remote MCP server URL to `https://applytovolunteer.com/mcp`. [Claude's Desktop connector article](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) says this connector is available in Claude Desktop. Claude connects to that URL from Anthropic's servers.

Choose No sign-in for the anonymous tools. Choose Sign in now or Sign in when needed for organization tools. A new account gets a free organization, then a consent screen names the client and the scopes. [Claude's custom connector docs](https://claude.com/docs/connectors/custom/add-unlisted) describe those choices.

Request headers are in beta. If the dialog shows Request headers, organization tools can use header name `authorization` and the value `Bearer a2v_...`. [Claude's custom connector docs](https://claude.com/docs/connectors/custom/add-unlisted) say Claude sends that value as entered, including the word Bearer and the space. `claude_desktop_config.json` is the local server file. [Claude's Desktop connector article](https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp) calls that file a separate mechanism. This page does not put the remote URL in that file.

### Codex

https://applytovolunteer.com/ai#codex

Put this in `~/.codex/config.toml`. [Codex's MCP docs](https://learn.chatgpt.com/docs/extend/mcp) describe the server table.

```toml
[mcp_servers.apply2volunteer]
url = "https://applytovolunteer.com/mcp"
```

`bearer_token_env_var` is the documented key field. OAuth is the default when no token is set. This block is the anonymous URL alone. The snippet does not set `bearer_token_env_var`.

### Gemini CLI

https://applytovolunteer.com/ai#gemini

```text
gemini mcp add -s user --transport http apply2volunteer https://applytovolunteer.com/mcp
```

The command writes `~/.gemini/settings.json` because `-s user` sets the scope. The default scope is project, which writes `.gemini/settings.json` in the current directory. Streamable HTTP uses `httpUrl`. `headers` is the documented key field. This anonymous config omits headers. [Gemini CLI's MCP docs](https://geminicli.com/docs/tools/mcp-server/) describe that field and the scope flag.

```json
{
  "mcpServers": {
    "apply2volunteer": {
      "httpUrl": "https://applytovolunteer.com/mcp"
    }
  }
}
```

Unpaid tier and Google One users: Gemini CLI was replaced by Antigravity CLI on June 18, 2026. [Google's announcement](https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli) also stops Gemini CLI for Google AI Pro and Ultra on that date. Paid Gemini Code Assist Standard and Enterprise licenses, and paid Gemini API keys, keep Gemini CLI. Antigravity CLI stores MCP servers in a different file and uses `serverUrl`. [Antigravity's Gemini CLI migration](https://antigravity.google/docs/cli/gcli-migration/) describes that file.

### Windsurf Cascade

https://applytovolunteer.com/ai#windsurf

Cascade reads this file. On macOS and Linux the path is `~/.config/devin/mcp_config.json`. When `XDG_CONFIG_HOME` is set, the path is `$XDG_CONFIG_HOME/devin/mcp_config.json`. On Windows the path is `%APPDATA%\devin\mcp_config.json`. You can open it from Cascade, then the MCP menu, then Open MCP config file. [Windsurf's Cascade MCP docs](https://docs.windsurf.com/windsurf/cascade/mcp) give that path. `~/.codeium/windsurf/mcp_config.json` is a legacy file. Cascade reads it only when discovery from other sources is on. [Windsurf's editor discovery docs](https://docs.devin.ai/windsurf/plugins/cascade/mcp) describe that setting.

```json
{
  "mcpServers": {
    "apply2volunteer": {
      "serverUrl": "https://applytovolunteer.com/mcp"
    }
  }
}
```

The docs also accept `url`. This block uses `serverUrl`. `headers` is a documented map. A value can use the documented env interpolation `${env:VAR}`. The snippet omits headers.

### LM Studio

https://applytovolunteer.com/ai#lm-studio

[Install in LM Studio](lmstudio://add_mcp?name=apply2volunteer&config=eyJ1cmwiOiJodHRwczovL2FwcGx5dG92b2x1bnRlZXIuY29tL21jcCJ9)

The config is `{"url":"..."}` and is not wrapped in `mcpServers`. The link does not include an API key. [LM Studio's deeplink docs](https://lmstudio.ai/docs/app/mcp/deeplink) describe that config.

### Goose

https://applytovolunteer.com/ai#goose

[Install in Goose](goose://extension?url=https%3A%2F%2Fapplytovolunteer.com%2Fmcp&type=streamable_http&timeout=300&id=apply2volunteer&name=Apply2Volunteer&description=Preview%20or%20grade%20with%20no%20key.%20Claim%20and%20publish%20with%20OAuth%20or%20an%20API%20key.)

`type` is `streamable_http`. `timeout` is 300. The link does not include an API key. [Goose's extension docs](https://goose-docs.ai/docs/getting-started/using-extensions) describe the install link.

### JetBrains AI Assistant

https://applytovolunteer.com/ai#jetbrains

Open Settings, then Tools, then AI Assistant, then Model Context Protocol, then Add. Paste this JSON. [JetBrains' MCP docs](https://www.jetbrains.com/help/ai-assistant/mcp.html) use `url` for a remote Streamable HTTP server.

```json
{
  "mcpServers": {
    "apply2volunteer": {
      "url": "https://applytovolunteer.com/mcp"
    }
  }
}
```

The `url` is the MCP endpoint. Those docs do not name a request header or an API key field, so this block does not send an org API key. Anonymous tools need no key. Settings, then Tools, then MCP Server is a different screen. It exposes the IDE as a server.

### Zed

https://applytovolunteer.com/ai#zed

Open Settings, then AI, then MCP Servers. Choose Add Server, then Add Remote Server. Open the settings file with the `zed: open settings file` action. [Zed's MCP docs](https://zed.dev/docs/ai/mcp) put a remote server under `context_servers`.

```json
{
  "context_servers": {
    "apply2volunteer": {
      "url": "https://applytovolunteer.com/mcp"
    }
  }
}
```

`headers` is the documented key field. Set `Authorization` to `Bearer a2v_...`, including the word Bearer and the space. This anonymous block omits `headers`. With no `Authorization` header, Zed starts the standard MCP OAuth sign-in.
