Skip to main content
Read-only. The Wavelength MCP server can look things up. It cannot send an email, change a field, or delete anything.

What you can do with it

Once connected, you can ask things like:
  • “What meetings do I have this week, and what do I need to know before each one?”
  • “Give me a brief on Vanta — health, open deals, what’s happened recently.”
  • “Which of my accounts are at risk and renewing in the next 60 days?”
  • “What did we say to Acme about the SSO request? Pull the actual thread.”
  • “Who at Flosum have we talked to in the last month?”
  • “What open requests are assigned to me?”
The typical loop is: start with your week, pull a brief for an account, then dig into the underlying conversations when something needs a closer look.

What it can’t do (yet)

One difference you may notice. MCP can surface meeting notes that the Wavelength web app currently hides. Notes ingested from some notetakers are marked inactive in the app but are still real, still yours, and still useful context — so MCP reads them rather than pretending they don’t exist. If a note shows up here that you can’t find in the web app, that is why, not a bug.

Before you start

  • A Wavelength account with an active login.
  • An MCP-compatible client: Claude (desktop, web, or Code), Cursor, ChatGPT, or your own client built on the MCP SDK.
  • MCP is enabled for all Wavelength organizations by default — there is nothing to switch on. If a connection fails with “mcp is not enabled for this organization”, MCP has been paused for your org; contact support.
You sign in with your normal Wavelength login. You do not need an API key.

Server details

Setup

1

Open Settings → Connectors

Find the Connectors section in your Claude settings.
2

Add a custom connector

Click Add custom connector.
3

Enter the server details

Name: Wavelength. URL: https://mcp.askassembly.app/mcp.
4

Connect and approve

Click Connect. A browser window opens; sign in to Wavelength and approve.
5

Confirm

The connector shows as connected, with the Wavelength tools listed.

Tools

All tools are read-only, and all are scoped to your organization automatically. You never pass an organization or user id — the server takes both from your sign-in.

wavelength_v1_api_read_get_my_week

Your booked meetings over a window, each with the account it belongs to and its pre-meeting brief.
  • Default window: 7 days. Maximum: 30 days.
  • Covers meetings you are the assignee on.

wavelength_v1_api_read_get_brief

A fixed-size snapshot of one account or one person. entity: "company" returns, in a single call: entity: "contact" returns their role, account, and details. Every section reports an exact total, like "deals": "10 of 47". A section showing fewer rows than its total has been capped, not emptied — use list_deals or list_contacts for the rest, and get_content for a note’s full transcript. The brief is deliberately bounded. It is designed to be cheap enough to call before every meeting, so it summarises rather than dumps. Accepts a name or an id. If a name is ambiguous, you get the candidates back rather than a guess.

wavelength_v1_api_read_list_deals

Deals across your organization, filterable by:
  • stages — deal stage names, matched exactly. The tool description lists your organization’s actual stages.
  • amount{operator, value}, or {operator: "is_between", min_value, max_value}.
  • close_date — a date, or a relative window like the next 90 days.
  • company_ids / company_name — narrow to one account.
Sorted by close date, newest first. Returns an exact total and pages via offset. A query matching too many deals returns that total plus a request to narrow, rather than a truncated list that looks complete. Not yet filterable: deal type. It also does not appear in the results — the underlying query does not return it. Coming in a later release. No pipeline sums. This tool lists deals; it does not total them. See the metrics note below.

wavelength_v1_api_read_list_contacts

Every contact on one account, with role and email. Requires company_id or company_name. Returns an exact total and pages via offset.

wavelength_v1_api_read_list_accounts

Filter your book by criteria you supply: health pulse, renewal date, last interaction, tier, stage, tags, custom attributes.
  • Returns thin rows plus a total.
  • Capped at 25 rows per call.
  • At least one filter is required. “List all my accounts” is refused on purpose — the answer would be thousands of rows nobody reads.
  • If the filter still matches too many accounts, the server returns a count and asks you to narrow it, rather than returning a truncated list that looks complete. That is deliberate — it is not an error and not an empty result.
Meaning-based search over one corpus at a time — interactions (email and support threads) or notes (meeting notes and recordings).
  • corpus is required — one per call. Ask for two things and your client will make two calls.
  • Scope search to an account for meaning-based results. Ask about a named company and it will resolve automatically.
  • With no account, interactions searches your own inbox instead. It matches on both meaning and literal words, and covers only the mailbox connected under your own email address — never a colleague’s. If you have no mailbox connected, it says so rather than returning nothing.
  • Returns summaries plus a total. Use get_content to read the full thing.

wavelength_v1_api_read_list_interactions

Structured filtering over support tickets, email threads, and conversations. Use this when the question is about fields rather than wording: open requests, status, assignee, source, account, or time window.
  • Defaults to the last 90 days unless you pass start_time / end_time.
  • assignee accepts "me", "unassigned", or a teammate’s name.
  • Returns up to 25 rows, newest first, with total_count.
  • count_only returns just the count when the number is the answer.
  • If more than 1000 interactions match, it returns a refusal and asks you to narrow the query rather than paging through an unbounded result set.
Use search instead when the question is about what was said, meaning, phrasing, or keywords.

wavelength_v1_api_read_get_content

The full text behind a search result, by the ids a search returned.
  • Notes and recordings return the full note, summary, action items, and the transcript where one exists.
  • Interactions (email and support threads) return the subject and the thread summary. Individual message bodies are not stored, so they cannot be returned — if you need the exact wording of one message, open the thread in Wavelength or your inbox.

What you can see in email

Everything that is not email — support tickets, Slack-sourced threads, and the rest — is visible to everyone in your organization, as it is in the app. Email is narrower: So a colleague’s personal correspondence never appears in your results, and yours never appears in theirs. A shared mailbox such as support@ belongs to no individual, so mail there that was never linked to an account is not reachable through these tools at all — open it in Wavelength instead. One practical consequence: get_content can return fewer items than the ids you gave it. That is this rule at work, not an error.

wavelength_v1_api_read_resolve

Turns free text into a specific company, contact, team, or teammate. Used automatically by the other tools; you rarely call it directly. When a name is ambiguous it returns every candidate, so the model can pick using context from your conversation rather than guessing.

wavelength_v1_api_read_search_semantics

Looks up what Wavelength’s own terms mean — what “at risk” counts as, what each health driver measures, what a routine is, what a given metric includes and excludes. The model uses this so it answers in your definitions rather than inventing its own.

wavelength_v1_api_read_get_metric

Numbers come from a fixed list of defined metrics, not from a general “sum this column” tool. Each result carries its own definition inline, so you can see exactly what was counted. Available today — five support metrics, all filterable by team, source, assignee, and date window: Every result carries its own definition inline, including what it excludes. All are wall-clock, not business hours.
Not available: deal totals, pipeline sums, ARR, account-level aggregates, and timer totals. If a number is not in the table above, the server says so rather than approximating it. That is on purpose: a plausible wrong number in a QBR is worse than no number.

How your data is scoped

  • Everything is limited to one organization — the one on your sign-in. There is no cross-organization read, search, or comparison, and no tool accepts an organization as a parameter.
  • Currently, access is organization-wide, not per-user. Any connected user can read any account in their organization, including other reps’ notes, meetings, and persisted email bodies. This matches what the Wavelength web app already allows. If your organization needs tighter limits, talk to us before rolling MCP out broadly.
  • Authorization is checked on every request, not once per session. Token validation is cached briefly, so revocation can take up to about a minute to take effect.
  • Read-only. No tool can change anything in Wavelength.

Limits

Rate limits

Limits are per organization — shared across everyone in your org who has connected — and are set per tier, because the tools do very different amounts of work. search_semantics is not rate limited. Tiers are counted separately, so heavy searching never uses up the budget for cheap lookups. If you hit a limit you get a clear error naming the tier and how many seconds to wait — never a silent truncation and never an empty result.

Other limits

Results are never silently cut short. Every list response tells you both how many rows came back and how many matched in total. If a query is too broad, the server says so and tells you how to narrow it.

Troubleshooting

Your admin has not turned MCP on. Contact them, or email support.
Check that you signed in with the same email you use for Wavelength, and that the account belongs to the organization you expect.
Two common causes: the name did not resolve (try the exact account name, or ask the model to resolve it first), or the time window excluded it (search defaults to a recent window — say “in the last year” explicitly).
Your token expired or was revoked. Reconnect from your client’s connector settings.
Broad filters over tens of thousands of accounts take longer. Narrowing the filter is faster than paging.

FAQ

Talk to your Wavelength account team.
Yes — it is a standard MCP server over Streamable HTTP with OAuth 2.1. Nothing about it is Claude-specific.
Yes, in the sense that any tool result your client requests is passed to the model you are using, the same as anything you paste into a chat. The MCP server itself does not send your data anywhere else.
This release is deliberately read-only. Write support is the next thing we are scoping.
The wavelength_v1_ prefix is a version marker. Names within v1 are stable; a breaking change ships as v2 alongside it.

Support

Email support@askassembly.app. Include your organization name, the client you are using, and the question you asked.