Help
Help
AI assistants
Your AI assistant can run FreshVisit for you: start journeys, Explores, and audits, wait for them, and read back every step and finding. It connects over MCP, the standard most assistants now speak, with an access key from your settings.
Get an access key
- 1
Open Settings
Sign in, then go to Settings and find AI assistants. The card shows the Server URL every assistant connects to.
- 2
Create a key
Name it for where it will live (“Cursor on my laptop”) and press Create key. Copy it right away: it’s shown only once.
- 3
Add it to your assistant
Pick yours below. Each snippet has YOUR_ACCESS_KEY where the key goes.
https://www.freshvisit.app/api/mcpConnect your assistant
Claude Code
Run this in a terminal. Settings has a Copy Claude Code command button that fills in your key for you.
claude mcp add --transport http freshvisit https://www.freshvisit.app/api/mcp \
--header "Authorization: Bearer YOUR_ACCESS_KEY"Add --scope project to save it in the project’s .mcp.json for everyone who works there. Then put the key in an environment variable and write the header as "Bearer ${FRESHVISIT_MCP_KEY}" so the key stays out of the repository.
Claude (web and desktop app)
In Claude, open Customize, then Connectors, choose Add, then Add custom connector. Name it, paste the Server URL, and choose Continue. Set Authentication to No sign in, then under Request headers add Authorization with the value Bearer followed by your key.
A connector you add on the web shows up in the desktop app too. On a Team or Enterprise plan, an owner adds it under Organization settings, then each person connects.
Cursor
Add this to .cursor/mcp.json in a project, or ~/.cursor/mcp.json for every project.
{
"mcpServers": {
"freshvisit": {
"url": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer ${env:FRESHVISIT_MCP_KEY}"
}
}
}
}It reads the key from the FRESHVISIT_MCP_KEY environment variable. Or write the key in its place.
VS Code with GitHub Copilot
Add this to .vscode/mcp.json in a workspace, or run MCP: Open User Configuration for every workspace. Note the top-level key is servers.
{
"inputs": [
{
"type": "promptString",
"id": "freshvisit-key",
"description": "FreshVisit access key",
"password": true
}
],
"servers": {
"freshvisit": {
"type": "http",
"url": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer ${input:freshvisit-key}"
}
}
}
}VS Code asks for the key the first time the server starts and stores it for you, so it never sits in the file.
OpenAI Codex
Add this to ~/.codex/config.toml, or .codex/config.toml in a trusted project.
[mcp_servers.freshvisit]
url = "https://www.freshvisit.app/api/mcp"
bearer_token_env_var = "FRESHVISIT_MCP_KEY"Then set FRESHVISIT_MCP_KEY to your key in the shell Codex runs from.
Gemini CLI
Run this in a terminal (add -s user to use it in every project).
gemini mcp add --transport http \
--header "Authorization: Bearer YOUR_ACCESS_KEY" \
freshvisit https://www.freshvisit.app/api/mcpEditing ~/.gemini/settings.json by hand? The address goes under httpUrl, not url.
Windsurf (Devin Desktop)
Open the MCP settings in Cascade and edit the raw config (mcp_config.json).
{
"mcpServers": {
"freshvisit": {
"serverUrl": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer ${env:FRESHVISIT_MCP_KEY}"
}
}
}
}The address goes under serverUrl. It reads the key from FRESHVISIT_MCP_KEY, or write the key in its place.
Zed
Run zed: open settings file and add this.
{
"context_servers": {
"freshvisit": {
"url": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_KEY"
}
}
}
}Cline
Choose the MCP Servers icon, then Configure MCP Servers, and add this.
{
"mcpServers": {
"freshvisit": {
"type": "streamableHttp",
"url": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_KEY"
},
"disabled": false
}
}
}Keep type as streamableHttp: without it, Cline tries an older protocol and can’t connect.
JetBrains IDEs (Junie and AI Assistant)
For Junie, add this to ~/.junie/mcp/mcp.json, or .junie/mcp/mcp.json in a project (Tools, then Junie, then MCP Settings).
{
"mcpServers": {
"freshvisit": {
"url": "https://www.freshvisit.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_ACCESS_KEY"
}
}
}
}AI Assistant’s MCP settings don’t take headers yet. Add it there as a command instead: npx mcp-remote with the Server URL, plus --header and the Authorization line.
Goose
Add this under extensions in ~/.config/goose/config.yaml (on Windows, %APPDATA%\Block\goose\config\config.yaml).
freshvisit:
type: streamable_http
name: freshvisit
enabled: true
uri: "https://www.freshvisit.app/api/mcp"
headers:
Authorization: "Bearer ${FRESHVISIT_MCP_KEY}"
env_keys: [FRESHVISIT_MCP_KEY]
timeout: 300Goose reads FRESHVISIT_MCP_KEY from your environment.
ChatGPT
Not yet. ChatGPT’s custom connectors only sign in with OAuth, and FreshVisit uses access keys for now. Codex, OpenAI’s coding assistant, works today (see above).
What your assistant can do
Once connected, your assistant has these tools. You don’t call them by name: ask in plain words and it picks the right one.
start_journey- Starts a goal journey (“find the refund policy”) or, without a goal, an Explore. Pick the devices and the most steps.
start_audit- Starts an audit: accessibility and style checks on every page it reaches.
run_again- Runs a journey or audit you already have once more.
get_run- How a run went: the verdict, every step, the answer, and what changed since the run before. It can wait up to 50 seconds at a time for a run that’s still going.
get_audit_findings- Every issue an audit found, with the elements, their CSS selectors, and a prompt to fix each one.
list_journeys- Your journeys and audits, newest first.
Runs take one to ten minutes, so the assistant starts one, then checks back until it’s done. Starts and lists use your personal space unless you name a workspace you’re in.
Things to ask
- Findability
- “Can a first-time visitor find the refund policy on example.com, on a phone?”
- After a release
- “Run my checkout journeys again and tell me which ones changed.”
- Fix what it finds
- “Audit example.com, then fix the accessibility issues it finds in this codebase.”
- Competitors
- “Compare how many clicks pricing takes on our site and on two competitors’.”
If it doesn’t connect
- It says unauthorized
- The key is missing, mistyped, or revoked. Check the header reads Authorization: Bearer, a space, then the whole key. Make a new key if you’ve lost it.
- It can’t reach my site
- Start pages must be public sites. An assistant can check a preview or your live site, but not one running on your own computer.
- It ran out of runs
- Runs from an assistant count toward your plan. Your plan shows how many are left this month.
- I’m done with a key
- Revoke it in Settings, under AI assistants. It stops working at once; runs it started keep going.