Hosted connector¶
Give an AI assistant one URL. It signs you in through your browser, and from then on it can read your feedback, draft your replies, and — if you let it — approve testimonials.
Nothing is installed. No key is pasted into a chat.
You will find the URL for a specific project, and the Client ID some assistants ask for, on the project's own page under Connect an AI agent.
Which URL to hand over¶
The URL is the boundary. An assistant given the narrow one cannot see anything else, no matter what it is asked.
| URL | What it reaches |
|---|---|
…/mcp |
every team you belong to |
…/mcp/t/{team} |
one team |
…/mcp/t/{team}/p/{project} |
one project |
Start narrow. You can always connect a second time with a wider URL, and the two grants stay separate — a token issued for one project is refused on every other URL, so a wider connection is a deliberate act rather than something that happens by accident.
Connecting¶
Settings → Connectors → Add custom connector. Paste the URL, set Authentication to "Always required" and the OAuth client to "Use Anthropic's hosted client metadata". Click Connect and approve in the window that opens. No Client ID is needed.
Turn on developer mode in Settings, then add an MCP server with the URL. Choose OAuth authentication, then Create and approve in the window that opens. ChatGPT's default method works — no Client ID or secret is needed.
Settings → Tools & MCP → New MCP Server, then:
A browser window opens for you to approve.
grok.com/connectors → New Connector → Custom, then paste the URL.
Checking it worked¶
Paste this into the assistant:
Using the withfeedback tools, list the testimonials waiting for review in this project. For each one give me the author, a one-line summary, and whether you would publish it.
If it answers with your actual pending testimonials, you are connected.
What it can do¶
The same seventeen tools as the local MCP server, under the same scopes and the same roles.
| Tool | Needs |
|---|---|
list_teams |
read:teams |
list_projects, list_submissions, get_submission |
read:feedback |
approve_submission, reject_submission |
moderate:submissions |
create_testimonial, import_testimonials |
write:testimonials |
list_widgets, get_widget_embed_code |
read:widgets |
create_widget, update_widget, delete_widget |
write:widgets |
get_nps_summary |
read:surveys |
create_survey, update_survey, publish_survey_version |
write:surveys |
You choose which of these to grant on the consent screen, in the browser, before anything is connected.
What it cannot do¶
Publish on its own. A testimonial an assistant writes lands as pending, the same as one that arrives through a form. A person approves it. That is not a setting — there is no version of this where an assistant publishes to your website unattended.
Exceed your own permissions. The connection carries your role. If you are a viewer on a team, an assistant connected to it can read and cannot moderate, whatever it is told to do.
Act invisibly. Every approval and rejection is recorded in the moderation trail marked as coming from an agent, with your name as the actor. You can see afterwards exactly what it did.
If it does not connect¶
"Your plan does not include agent access." The connector needs Pro or above, the same as the API.
It signs in but every tool refuses. The assistant probably did not send the
resource parameter that the MCP specification requires, so the token it
received is not bound to any URL. Disconnect, reconnect, and if it persists
tell us which assistant and version — that one is worth our knowing about.
Nothing happens at all. Check the URL has no trailing slash and no typo in
the team or project slug. The endpoint answers POST only; opening it in a
browser is meant to fail.
Prefer to install something?¶
The local MCP server still exists and still works. It runs on your machine with a token you create, which some people prefer for CI or for an assistant that never leaves their laptop. The hosted connector is the one to reach for when you want to hand somebody a URL.