The Assembled MCP server lets you connect Assembled to AI tools like Claude and ChatGPT so you can ask questions about your workforce and support data in plain English — no exports, no spreadsheets, no analyst in the loop.
Server URL: https://data.mcp.assembledhq.com/mcp
Note: If you're trying to set up MCP tools for your AI agents to call during chat conversations (e.g., a get_customer_info tool), see MCP Connectors for Assembled AI instead. That's a separate feature from the data MCP server described in this article.
Why use the Assembled MCP server?
The Assembled MCP server brings your workforce and support data into the AI tools your team already uses. With it, you can:
- Get answers in seconds, not hours. Ask operational questions in plain English instead of waiting on a report, export, or analyst Slack thread.
- Combine Assembled data with the rest of your stack. Your AI tool can join Assembled with HRIS, BI tools, incident trackers, and anything else it has access to.
- Generate exec summaries, root-cause analyses, and audits on demand. No more rebuilding the same Monday deck every week.
Who can use MCP?
Plan availability: MCP is included in the Pro and Enterprise plans at no additional cost. Contact support@assembled.com if you're unsure whether your plan includes MCP.
Access: MCP comes with the Admin role by default. Admins can also grant MCP access to other roles (like Team Leads or Managers) from Roles & Permissions → Configure, under the "Assembled MCP" permission, without giving those roles full Admin access. This permission has two levels: viewing data through MCP, and additionally creating or publishing overtime, voluntary time off, and forecast adjustments through MCP.
You connect with your own Assembled account. Setup uses OAuth — you'll sign in to Assembled when prompted, or connect automatically if you're already logged in. Keep in mind that MCP access isn't scoped down to match a restricted role's usual view in Assembled; see "What data does MCP access?" below for details.
What data does MCP access?
The Assembled MCP only connects to your Assembled account. That data is strictly workforce management information: schedules, forecasts, adherence, and performance metrics. It does not touch patient data or any other systems outside Assembled.
Important: MCP access is all-or-nothing, not scoped to a role's usual view in Assembled. Granting the "Assembled MCP" permission to a role gives that role full read access to all of this data across your entire company, even if that role is otherwise restricted to a subset of it (like a single team) in the Assembled UI. Keep this in mind before granting MCP access to roles other than Admin.
What isn't available through MCP yet?
- AI agent resolution data (chat, email and voice AI metrics), which sits outside the WFM metrics platform.
- Staffing metrics.
- Pending time off requests. You can query approved time off and total time off hours requested per agent, but not pending dates or request types.
- People page and headcount data, such as agent skill timelines and queue assignments.
- Some AI metrics, which are being added as part of the metrics platform migration.
Does MCP give AI agents access to my systems?
No. The Assembled MCP data server is completely separate from Assembled's AI agents, which handle autonomous customer case resolution. Enabling MCP does not activate AI agents or give them access to your systems. MCP is simply a way for your WFM admins to query Assembled data using tools like Claude or ChatGPT.
What can I query with MCP?
MCP connects to Assembled's APIs and metrics platform. Current capabilities include:
Analytics / metrics
- Browse the metrics catalog (namespaces, metrics, dimensions).
- Run flexible metric queries for agent, team, queue, SLA, CSAT, and related operational metrics.
What you can query depends on which metrics namespaces are enabled for your company.
Forecasts
- Forecasted vs actual (volume, handle time, service level, staffing).
- List and create forecast adjustments (creating adjustments requires approving that tool).
- List and create forecast outliers.
Workforce configuration
- Resolve queue, site, team, skill, and channel names to the IDs other tools need.
Scheduling
- Read schedules (shifts and activities for agents in a time window).
- Agent time summaries (overtime, PTO, and voluntary time off totals).
Overtime and voluntary time off (OT / VTO)
- View existing OT and VTO slots.
- Publish new OT and VTO slots (creating slots requires approving that tool).
Keep in mind: Assembled MCP queries data available from October 2025 onward. If queries return no data for older periods, that's why — older data isn't currently surfaced through MCP.
What are some example questions I can ask?
Once connected, ask questions in natural language. Here are some examples.
Diagnosing SLA misses
"Where and why did we miss SLA last week? Break it down by interval and tell me whether it was shrinkage, AHT, or volume."
Scenario planning
"If volume jumps 25% next week, where do we go into deficit, and what RPH do we need to still hit SLA?"
Vendor / BPO oversight
"Which BPO partner is delivering the best $/CSAT this quarter?"
Cross-system analysis
"Pull hire dates from HRIS. If I exclude agents with less than 90 days tenure, does the AHT creep persist?"
Real-time intraday
"Chat actuals are well below forecast. Find anything in the last 24 hours that explains it."
Quick lookups
- "What was our SLA last week by team?"
- "Show handle time by queue for the past 7 days."
- "How did forecasted volume compare to actuals for phone last week?"
- "Who is on the schedule tomorrow for the Billing queue?"
- "How much overtime does each agent have this week?"
How do I write good prompts?
You don't need metric names or filter syntax. Plain English works, and more context gets more precise answers.
- Use specific dates, like "the week of June 9" or "June 1-14", instead of "last week."
- Name the channel or queue, like "on chat" or "for the phone queue."
- Ask follow-up questions. The AI keeps the context of the conversation.
- If your AI tool isn't pulling from Assembled, add "Use Assembled" to your prompt.
- Start broad, then narrow down. "What metrics can I analyze?" is a good first prompt.
- If a query returns no data, the metric may not be available yet or the dates may be before October 2025. Try rephrasing or changing the time frame.
More example prompts
Take action (these use write tools, so you'll be asked to approve them):
- "Apply a +40% volume override to chat for Sunday 1pm to 11pm ET across all US queues."
- "Publish OT on phone for every interval next week where forecast exceeds scheduled coverage by more than 10%."
- "Generate VTO offers for any 30-minute interval this week where email is more than 15% overstaffed."
Daily and weekly check-ins:
- "Show me yesterday's volume by queue across all sites."
- "Did all queues hit SLA yesterday?"
- "Show SLA, AHT, and adherence for each team this week, ranked."
- "Summarize SLA performance for the week of June 9 for a leadership update."
MCP can't tell you who changed a schedule or when. For that, use the Scheduling history panel on the Staffing timeline.
How do I compare forecast vs. actual?
Comparing what was planned with what happened shows whether a service gap came from the forecast, from staffing, or from unexpected demand. You can compare:
- Volume: actual contacts against forecast, and where volume ran above or below plan.
- Handle time: whether cases took longer or shorter than forecast.
- Staffing: agents required against agents scheduled, and how far over or under you were.
- Service level: whether actual SLA matched what the forecast predicted.
Results are grouped by the length of the time window:
| Time window | Interval |
|---|---|
| Less than 1 day | 15 minutes |
| 1 day to 1 week | 1 hour |
| More than 1 week | 1 day |
- Channel is required (email, chat, or phone). There's no combined all-channels view. If you're not sure which channels you use, ask and the MCP will look them up.
- Queue is optional. Leave it out to include all queues, or name one.
- Time range: works best for windows up to about 6 months. For longer analysis, use the metrics query tools.
Example prompts: "How did actual email volume compare to forecast last week?" or "What was the staffing gap for the chat queue over the past two weeks, and where was it most short?"
When you read the results, keep in mind that a staffing gap isn't always a forecasting problem: if volume was accurate but you were still short, check adherence and scheduling. A volume miss can come from a launch, outage or campaign. Results use your master schedule, not draft or alternative schedules.
How do I choose the right tool for my question?
- Broad performance and SLA questions → metrics tools (
get_metrics_catalog_and_query_usage, thenquery_metrics). - Forecast vs actual comparisons → forecast tools (for example,
get_forecasted_vs_actual). - Who is working when → schedule tools (for example,
get_schedule).
If OAuth fails or tools return authorization errors, confirm you have the right Assembled permissions and that you're logged into Assembled in the same browser session.
Important: Only connect MCP using your organization's approved AI client and policies. Anyone with MCP access can read all company data through it, not just what they can see in the Assembled UI, so treat approvals and credentials like any other integration.
How do I set up Assembled MCP in Claude.ai?
Server URL: https://data.mcp.assembledhq.com/mcp
Before you begin:
- You need an Admin Assembled account (or the appropriate MCP access permission — check with your Assembled admin if you're unsure).
- You'll sign in to Assembled via OAuth during setup, so make sure you have your login ready.
Step 1: Open Connectors in Claude.ai
Open Claude.ai and go to Settings > Connectors.
Step 2: Add a custom connector
Select Add custom connector.
Step 3: Enter the Assembled MCP details
In the dialog that appears, enter:
- Name: Assembled
-
Remote MCP server URL:
https://data.mcp.assembledhq.com/mcp
Select Add.
Step 4: Configure tool permissions
Under Tool permissions, enable at least:
get_metrics_catalog_and_query_usagequery_metrics
We recommend Needs approval when you first connect. You can allow additional tools (forecasts, schedule, and so on) as you use them. Some tools can create forecast adjustments or OT/VTO slots, so keep those on Needs approval until you're ready to let the AI act on your behalf.
Step 5: Sign in to Assembled
When prompted, log in to Assembled to complete OAuth (or connect automatically if you're already logged in).
Step 6: Test the connection
Start a new chat in Claude and try a question like:
"What Assembled metrics can I analyze?"
If Claude returns results, you're connected.
Troubleshooting
OAuth fails or tools return authorization errors. Confirm you have the right Assembled permissions and that you're logged into Assembled in the same browser session.
Tools aren't showing up. Check that you enabled them under Tool permissions in the connector settings.
How do I set up Assembled MCP in Claude Code?
Server URL: https://data.mcp.assembledhq.com/mcp
The steps above are for Claude.ai, which has a UI for adding connectors. Claude Code doesn't have that UI, so you register the server from the command line instead. Same server, same OAuth sign-in — just a different way to add it.
Before you begin:
- You need an Admin Assembled account (or the appropriate MCP access permission — check with your Assembled admin if you're unsure).
- Claude Code installed and authenticated, with a terminal open in the project directory you want to use.
- You'll sign in to Assembled via OAuth during setup, so make sure you have your login ready.
Step 1: Add the server from your terminal
Run this in your terminal, not inside a Claude Code session — you're configuring the server before starting a conversation:
claude mcp add --transport http assembled https://data.mcp.assembledhq.com/mcpThat registers Assembled as a remote MCP server. The parts of the command:
-
claude mcp add— registers a server with Claude Code. -
--transport http— the server is hosted at a URL rather than run as a local process. -
assembled— a name you choose. Claude Code uses it to label the server's tools in its output and to refer to the server in commands likeclaude mcp remove. -
https://data.mcp.assembledhq.com/mcp— the Assembled MCP server URL.
Step 2: Choose the scope (optional)
By default the server is added at local scope: available only to you, only in the current project. If you start Claude Code in a different directory, Assembled won't be there. To register it once for every project, add --scope user to the original command:
claude mcp add --scope user --transport http assembled https://data.mcp.assembledhq.com/mcp| Scope | Available to | When to use it |
|---|---|---|
| local (default) | Only you, only this project | Trying MCP out in one repo or working directory. |
| user | Only you, all projects | Most WFM admins — you want Assembled available wherever you work. |
| project | Everyone who clones the project | Sharing the server definition with teammates via a checked-in file. |
Scope is fixed when you add a server, so changing it means removing the entry and re-adding it: claude mcp remove assembled, then run the add command again with the scope you want.
Step 3: Check that it registered
claude mcp listAssembled should appear in the list with a status of Needs authentication. That's expected — Assembled uses OAuth, and the next step completes the sign-in.
Step 4: Sign in to Assembled
Start a Claude Code session and open the MCP panel:
claudeThen, inside the session, run:
/mcpSelect assembled from the list, press Enter, and choose Authenticate. Your browser opens the Assembled sign-in page — approve the connection there, and the server's status changes to connected back in Claude Code.
Step 5: Test the connection
In the same session, ask:
"What Assembled metrics can I analyze?"
If Claude returns results, you're connected. The first time Claude calls an Assembled tool, it asks for permission — approve it to continue. Tool calls in Claude's output are labeled with the assembled server name, which is how you confirm the answer came from your live Assembled data rather than the model's general knowledge.
Approving write tools: Claude Code asks for permission per tool the first time it's used, rather than up front in a settings screen. Tools that create forecast adjustments or publish OT/VTO slots write back into Assembled, so approve those only when you're ready to let the AI act on your behalf — and don't grant blanket "always allow" permissions to them.
Keep in mind: If you've already added Assembled as a connector in Claude.ai and you sign in to Claude Code with that same account, it may load automatically — check /mcp before adding it again.
Troubleshooting
/mcp shows "No MCP servers configured." You most likely ran claude mcp add from a different project. Local-scoped servers are tied to the directory where you added them. Re-add it from the project you're in now, or use --scope user so it isn't tied to a project.
Status shows "Needs authentication." That's the normal state before sign-in. Run /mcp, select assembled, and choose Authenticate.
OAuth fails or the browser doesn't open. Run /mcp, select the server, and choose Authenticate again. If the browser still doesn't open, copy the URL shown in the terminal and open it manually. Confirm you have the right Assembled permissions.
"Server already exists." You've added a server with that name at the same scope already. Remove it with claude mcp remove assembled and add it again, or choose a different name.
Connected, but no tools appear. Run /mcp and select the server to see its tool list, then run claude mcp get assembled to check the URL you configured matches the server URL above.
How do I set up Assembled MCP in ChatGPT?
Server URL: https://data.mcp.assembledhq.com/mcp
Before you begin:
- You need an Admin Assembled account (or the appropriate MCP access permission — check with your Assembled admin if you're unsure).
- You need a ChatGPT account that supports custom apps and developer mode.
- You'll sign in to Assembled via OAuth during setup, so make sure you have your login ready.
Step 1: Open ChatGPT settings
Open ChatGPT and select your profile (bottom left) → Settings.
Step 2: Go to Apps
In Settings, go to Apps.
Step 3: Turn on Developer mode
Open Advanced settings and turn on Developer mode.
Keep in mind: Developer mode allows unverified connectors. Read the risk notice and only enable it if you accept those terms for your organization.
Step 4: Create a custom app
Go back to Apps. You should see a Create app button next to Advanced Settings. If you don't, refresh the page.
Select Create app and enter:
- Name: Assembled MCP (or any name you prefer)
- Description (optional): Access data from Assembled
-
MCP server URL:
https://data.mcp.assembledhq.com/mcp - Authentication: OAuth
Step 5: Review and save
Review Advanced OAuth settings if shown, then continue. Check the box to acknowledge that custom MCP servers introduce risk, then save the app.
Some tools can create forecast adjustments or OT/VTO slots, so keep those on approval-required until you're ready to let the AI act on your behalf.
Step 6: Sign in to Assembled
When prompted, sign in to Assembled to complete OAuth.
Step 7: Test the connection
Start a new chat in ChatGPT, select your Assembled app if required, and test with a question like:
"What Assembled metrics can I analyze?"
If ChatGPT returns results, you're connected.
Troubleshooting
The connection fails. Return to Apps > Advanced settings and confirm Developer mode is on. Some setups also require Enforce CSP in developer mode to be off so the app can reach the MCP server.
OAuth fails or tools return authorization errors. Confirm you have the right Assembled permissions and that you're logged into Assembled in the same browser session.
You don't see a Create app button. Refresh the page after turning on Developer mode. If it still doesn't appear, confirm your ChatGPT plan supports custom apps.
Can I use other AI clients?
Yes. Any client that supports remote MCP servers can connect with the same server URL and sign-in. See the setup guides for Claude Desktop, Goose, and Dust.
Frequently asked questions
My company uses enterprise ChatGPT and IT won't allow custom connectors. What can I do?
Assembled has applied to ChatGPT's app directory, but the timing isn't in our control. Your CSM can share security documentation for your IT team to review.
I set it up, but it isn't pulling from Assembled. What's wrong?
Add "Use Assembled" to your prompt. If that doesn't help, check that you're logged in to Assembled in the same browser, that your account has MCP access, and that the tool permissions are set to "Needs approval" or "Always allow".
Does my query return data for my whole company or just me?
Your whole Assembled instance. MCP returns the organization's data that your login can access.
How far back does data go?
Data is available from October 2025 onward.
My query returned nothing. Is the data missing?
The metric may not be available yet, the dates may be before October 2025, or the question may need to be more specific. Try asking "What metrics can I analyze?"
Can I query more than one Assembled instance at once?
No. The connection uses the instance you logged in to. To switch, disconnect the MCP server, reconnect, and log in with the account for the other instance.
Is my Assembled data used to train AI models?
No. Assembled doesn't use customer data to train models. The model runs in your AI client, and that provider's policies apply.
Does Assembled log what I ask?
Assembled logs standard operational data for troubleshooting, such as which tool was called, timing, and success or failure. It doesn't store your prompts.
What compliance certifications does Assembled hold?
SOC 2 Type II, GDPR, CCPA, and HIPAA. Data is encrypted in transit and at rest. See trust.assembled.com for details.
What's the difference between the Assembled MCP server and MCP connectors in Assembled AI?
The MCP server lets your AI tool query Assembled's workforce data. MCP connectors let Assembled's AI agents connect to your other tools, like a ticketing system or CRM, to take actions during customer conversations.
Questions? Contact support@assembled.com and we'll be glad to help.