Connect Alchemer to Claude: Administer Teams & Contact Directories
Learn how to connect Alchemer to Claude using a managed MCP server. Automate team administration, contact directories, and survey deployment directly from Claude.
If your team uses AI Agents, check out our guide on connecting Alchemer to AI Agents and if you use OpenAI, see our guide on connecting Alchemer to ChatGPT.
Alchemer is a sprawling platform. What starts as a simple tool for collecting feedback quickly evolves into an enterprise-wide system of record for customer sentiment, market research, and employee engagement. As your organization scales, managing the administrative overhead - provisioning account teams, updating contact lists, deploying survey campaigns, and reporting on quotas - becomes a full-time operational burden.
Connecting Alchemer to Claude allows your IT administrators and operations teams to interact with this complex system using natural language. Instead of navigating multiple dashboards to assign a new hire to a specific survey team, an admin can simply tell Claude to do it. But giving a Large Language Model (LLM) read and write access to a platform like Alchemer requires an integration layer capable of handling strict schemas, complex object hierarchies, and specific authentication protocols.
You can spend weeks building and maintaining custom infrastructure to handle this translation, or you can use a managed platform like Truto to dynamically generate a Model Context Protocol (MCP) server. This guide breaks down exactly how to use Truto to spin up an Alchemer MCP server, configure it securely for Claude, and execute administrative workflows using natural language.
The Engineering Reality of the Alchemer API
Building a custom MCP server is an exercise in managing technical debt. While the open MCP standard provides a predictable framework for LLMs to discover and invoke tools, the actual implementation must accommodate the specific quirks of the underlying vendor API.
If you choose to build a custom MCP server for Alchemer, you own the entire lifecycle of that integration. You are not just building a bridge - you are maintaining a highly stateful translation engine. Here are the specific engineering challenges you will encounter when integrating Alchemer:
Deeply Nested Resource Hierarchies
Alchemer's data model is highly relational and deeply nested. For example, to create a survey option, you cannot just push a payload to an /options endpoint. You must interact with a 4-level deep hierarchy: /survey/{survey_id}/surveypage/{page_id}/surveyquestion/{question_id}/surveyoption. Exposing this to an LLM requires strict state management. If Claude hallucinates a page_id or forgets to pass a survey_id it retrieved in a previous step, the API call will fail. A properly designed MCP server must inject these dependencies as explicitly required parameters in the JSON Schema, forcing the model to construct the context chain perfectly.
Bifurcated Identity Models
Alchemer strictly separates internal administrative identities from external survey respondents. Internal access is governed by account_team and account_user resources. External respondents are managed via contact_list and survey_contact resources. When a user tells Claude to "add John to the system", a generic integration will fail or guess incorrectly. Your MCP tool descriptions must explicitly delineate between internal enterprise users and external campaign contacts to prevent the LLM from poisoning your directories.
Strict Rate Limiting and 429 Errors Alchemer enforces rate limits to maintain platform stability. If an AI agent attempts to bulk-export thousands of survey responses in a tight loop, Alchemer will throw an HTTP 429 Too Many Requests error.
Factual note on rate limits: Truto does not retry, throttle, or apply backoff on rate limit errors. When an upstream API returns HTTP 429, Truto passes that error directly to the caller. Truto normalizes the upstream rate limit information into standardized headers (ratelimit-limit, ratelimit-remaining, ratelimit-reset) per the IETF specification. The caller (the AI agent or underlying framework) is entirely responsible for implementing its own retry and exponential backoff logic.
How to Generate an Alchemer MCP Server
Instead of writing and maintaining the boilerplate to handle these API complexities, you can use Truto to generate a managed MCP server. Truto dynamically derives MCP tool definitions from Alchemer's existing API resources and schemas. The result is a self-contained, authenticated URL that exposes Alchemer operations as Claude-ready tools.
You can create this server using either the Truto user interface or the Truto REST API.
Method 1: Creating the Server via the Truto UI
If you prefer a visual interface, you can generate the server directly from your Truto dashboard.
- Navigate to the Integrated Accounts page in your Truto dashboard and select your connected Alchemer account.
- Click the MCP Servers tab.
- Click the Create MCP Server button.
- Select your desired configuration. You can assign a human-readable name, restrict the server to specific HTTP methods (e.g., only
readoperations), filter by tags, and set an expiration date. - Click Save, and copy the generated MCP server URL (e.g.,
https://api.truto.one/mcp/a1b2c3d4e5f6...). Keep this URL secure, as it contains a cryptographic token that authenticates requests.
Method 2: Creating the Server via the API
For platform engineers building automated provisioning flows, you can generate an MCP server programmatically using the Truto API. This creates a database record, generates a secure hashed token, and returns the ready-to-use URL.
Make a POST request to /integrated-account/:id/mcp:
curl -X POST https://api.truto.one/integrated-account/YOUR_ALCHEMER_ACCOUNT_ID/mcp \
-H "Authorization: Bearer YOUR_TRUTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Alchemer Admin Ops MCP",
"config": {
"methods": ["read", "write"]
}
}'The API validates that Alchemer has tools available and returns the configuration along with the URL:
{
"id": "abc-123",
"name": "Alchemer Admin Ops MCP",
"config": { "methods": ["read", "write"] },
"expires_at": null,
"url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}How to Connect the MCP Server to Claude
Once you have your Truto MCP server URL, you need to register it with Claude. You can do this through the Claude application settings or by manually editing the configuration file.
Method A: Via the Claude UI
If you are using the Claude Desktop application or an enterprise web interface that supports visual connector management:
- Open Claude and navigate to Settings.
- Find the Integrations or Connectors section.
- Click Add MCP Server or Add Custom Connector.
- Paste the Truto MCP server URL you copied earlier.
- Click Add. Claude will automatically perform a handshake with Truto, fetch the available Alchemer tools, and integrate them into your workspace.
Method B: Via Manual Config File
For developers managing their environments as code, you can inject the server directly into Claude's JSON configuration file. Truto provides a Server-Sent Events (SSE) endpoint at the generated URL. You can instruct Claude to connect to it using the standard Model Context Protocol SSE client.
Locate your claude_desktop_config.json file (typically found in %APPDATA%\Claude on Windows or ~/Library/Application Support/Claude on macOS) and update it:
{
"mcpServers": {
"alchemer-admin": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"https://api.truto.one/mcp/YOUR_TRUTO_TOKEN_HERE"
]
}
}
}Restart Claude Desktop. The application will initialize the connection, and Claude will instantly understand how to read and write to your Alchemer instance.
Hero Tools for Alchemer
Truto exposes dozens of endpoints for Alchemer, but the highest leverage operations involve managing teams, navigating contact lists, and handling complex survey deployments. Here are the hero tools your AI agent will rely on.
list_all_alchemer_account_teams
Before an agent can assign users or alter permissions, it must understand the internal team structure. This tool lists all configured account teams within the Alchemer tenant.
Contextual usage: LLMs use this to map natural language requests (e.g., "the marketing team") to explicit system IDs required by downstream provisioning tools.
"Claude, retrieve a list of all account teams in Alchemer and identify the exact team ID for the Market Research division."
create_a_alchemer_account_team_user
This tool handles the association of a specific Alchemer account user to an established team. It modifies internal administrative access.
Contextual usage: Requires the team_id. The LLM should execute a list or get operation first to confirm the ID before attempting to bind the user.
"Now that we have the Market Research team ID, add the user record for Sarah Jenkins to that team so she can access their internal surveys."
list_all_alchemer_contact_lists
To run a successful survey campaign, you need an audience. This tool returns the available contact lists that house external survey respondents.
Contextual usage: Helps the AI agent audit which audiences are available before configuring a deployment campaign.
"List all external contact lists in our Alchemer account and find the list ID associated with our Q3 Enterprise Beta Customers."
create_a_alchemer_survey
This is the foundational write operation for research workflows. It provisions a new top-level survey object in the system.
Contextual usage: Returns the id of the newly created survey. This ID must be strictly maintained in the agent's context window, as every subsequent tool call (pages, questions, campaigns) depends on it.
"Create a new Alchemer survey titled 'Enterprise Feature Satisfaction Q3' and return the generated survey ID."
create_a_alchemer_survey_campaign
Surveys are useless without distribution. This tool creates a campaign configuration, attaching a specific survey to a distribution method.
Contextual usage: The agent must pass the survey_id to establish the relationship. This tool is often chained immediately after survey creation.
"Using the survey ID you just created, set up a new email survey campaign targeting the enterprise beta list."
list_all_alchemer_survey_responses
This tool fetches the actual submitted data from a deployed survey.
Contextual usage: Often paginated. Because Truto normalizes pagination into a standard limit and next_cursor schema, Claude knows exactly how to iterate through hundreds of responses without hallucinating arbitrary offset numbers.
"Fetch the first 100 survey responses for the Enterprise Feature Satisfaction survey and summarize the primary complaints regarding the new dashboard."
For the complete tool inventory and detailed JSON schemas, view the Alchemer integration page.
Workflows in Action
Individual tool calls are useful, but the real power of an MCP integration emerges when Claude chains multiple tools together to automate complex, multi-step personas.
Workflow 1: IT Admin - Onboarding a New Team
When a new division is spun up, IT administrators must provision the internal infrastructure in Alchemer, ensuring the new team has an isolated environment and the correct managers are assigned.
"Claude, we are standing up a new 'Product Analytics' team in Alchemer. Please create the team, retrieve the user ID for our analytics lead (jane.doe@company.com), and add her to the newly created team."
Execution Steps:
- Claude calls
create_a_alchemer_account_teampassing the title 'Product Analytics'. It stores the resulting team ID. - Claude calls
list_all_alchemer_account_usersto search the directory and locates Jane Doe's user ID. - Claude calls
create_a_alchemer_account_team_userutilizing both the new team ID and Jane's user ID to lock in the assignment.
Result: The agent successfully provisions the infrastructure and outputs a confirmation to the IT admin, eliminating the need to click through Alchemer's user management settings manually.
Workflow 2: Market Researcher - Survey Deployment Audit
Market researchers frequently need to audit existing campaigns before launching new ones to ensure audiences aren't being fatigued by overlapping surveys.
"Claude, check our Alchemer system for the 'Annual Churn Analysis' survey. I need to know how many campaigns are currently running against it, and what contact lists those campaigns are hitting."
Execution Steps:
- Claude calls
list_all_alchemer_surveysto search for the specific title and extracts the underlyingsurvey_id. - Claude calls
list_all_alchemer_survey_campaignsusing thatsurvey_idto fetch the active distribution configurations. - For each active campaign, Claude inspects the payload to identify attached contact lists, optionally calling
get_single_alchemer_contact_list_by_idif more metadata is required.
Result: The researcher receives a highly contextual summary of exactly which audiences are currently receiving the churn survey, allowing them to make immediate decisions on future campaign targeting without manually cross-referencing multiple dashboards.
Security and Access Control
Connecting an AI agent to an enterprise platform like Alchemer requires strict guardrails. Truto provides multiple mechanisms to restrict what an MCP server can do.
- Method Filtering: You can enforce immutability by setting
methods: ["read"]during server creation. This ensures Claude can query surveys and teams, but absolutely cannot create, update, or delete records. - Tag Filtering: Limit the agent's scope to specific domains. By applying tags like
["directory"], you can expose user and team management tools while hiding sensitive survey response data from the LLM. - Additional Authentication: For high-security environments, enable
require_api_token_auth: true. This forces the MCP client to pass a valid Truto API token in the Authorization header, ensuring that possession of the URL alone is not enough to execute tools. - Time-to-Live (TTL): Use the
expires_atproperty to create temporary MCP servers. This is ideal for granting a contractor or temporary automated agent access that automatically revokes itself after a set duration, leaving no stale credentials behind.
Modernizing Alchemer Operations
Administrating an enterprise survey platform does not have to mean endless clicking through nested settings menus. By bridging Alchemer to Claude via a managed MCP server, you transform complex directory management, survey deployment, and data extraction tasks into simple, conversational requests.
Using Truto eliminates the need to build custom infrastructure, manage tedious OAuth flows, or decipher Alchemer's specific pagination nuances. You generate a secure URL, plug it into your model, and let the agent do the heavy lifting.
FAQ
- What is an Alchemer MCP server?
- An Alchemer MCP server translates Model Context Protocol requests from AI agents like Claude into authenticated REST API calls against the Alchemer platform, enabling models to read and write survey and account data.
- How does Truto handle Alchemer rate limits?
- Truto normalizes Alchemer's rate limit headers into the IETF standard but does not automatically retry requests. When Alchemer returns a 429 error, Truto passes it to the caller, leaving the backoff logic up to the AI agent.
- Can I restrict Claude to read-only access in Alchemer?
- Yes. When generating the MCP server in Truto, you can pass method filters like ['read'] to ensure Claude can only retrieve data and cannot modify surveys or user accounts.