# Assembly MCP

> Assembly MCP manages your professional service data. It lets any compatible AI client read structured information from your Assembly platform, handling clients, companies, users, workspaces, and internal notes. Instead of logging into multiple dashboards to gather records, you can ask your agent to list all active clients or pull the full details for a specific company record. This is essential for building automated workflows around service account data.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** client-management, workspace-management, crm, professional-services, data-retrieval

## Description

Managing client relationships means juggling dozens of different pieces of information—who the main contact is, what companies they work with, and what notes were taken last month. This MCP lets your agent read all that structured data from Assembly. You can ask it to list every active user or check out details for a specific workspace record. It pulls together client records, company profiles, and internal notes into a single stream of information you can act on. Instead of manually navigating through tabs or running separate reports, your AI client accesses the core data directly. Vinkius hosts this MCP so that whether you use Claude, Cursor, or any other compatible agent, you get one place to manage all your professional service data.

## Tools

### get_client
Gets all details for one specific client record.

### get_company
Retrieves the full information set for a single company.

### get_note
Fetches the content of one specific note by its ID.

### get_user
Gets all details about an individual user account.

### get_workspace
Retrieves the contents and members of a single operational workspace.

### list_clients
Lists every client record available in your Assembly account.

### list_companies
Provides a list of all companies linked to your platform.

### list_notes
Lists metadata for all internal notes created in the system.

### list_users
Returns a complete list of every user account.

### list_workspaces
Lists metadata for all active workspaces.

## Prompt Examples

**Prompt:** 
```
List all clients in Assembly.
```

**Response:** 
```
I retrieved your clients. Here are the active ones: 'Vinkius', 'Google'.
```

**Prompt:** 
```
Get companies in my account.
```

**Response:** 
```
Here are your companies, including 5 active clients.
```

**Prompt:** 
```
Show all workspaces and the latest notes created this month.
```

**Response:** 
```
You have 3 active workspaces: 'Consulting Ops' (ws_201, 12 members), 'Product Dev' (ws_202, 8 members), and 'Finance' (ws_203, 4 members). This month you have 7 notes — the most recent are 'Q2 Revenue Forecast' (note_891, updated yesterday), 'Client Onboarding Checklist' (note_888), and 'Sprint Retrospective' (note_885). Would you like to open any of these?
```

## Capabilities

### View Complete Client Lists
Pull lists of every client record stored in Assembly.

### Retrieve Company Details
Get specific information for any company connected to your account.

### Manage User and Contact Info
Access details about individual users, including their roles and contact information.

### Gather Workspace Data
Check the contents and members of specific operational workspaces.

### Fetch Internal Notes
Retrieve specific notes or compile lists of all existing internal documents.

## Use Cases

### Client Status Report Generation
A manager needs a status report combining client names, their primary company, and the last note date. They ask their agent to use `list_clients` combined with `get_company` and then check specific notes using `get_note`. The agent compiles this data into a single table ready for stakeholders.

### Onboarding New Team Members
A new team member needs to know their access level. They ask the agent to run `list_users` and check if they are added to key operational areas using `get_workspace`. This prevents them from having to manually verify permissions with IT.

### Auditing Company Links
The finance team suspects some client accounts aren't linked correctly. They ask the agent to run `list_clients` and then systematically check the associated companies using `get_company` for every record, identifying gaps.

### Project Scope Review
A consultant needs to review all materials related to a specific project. They ask the agent to find the workspace (`get_workspace`) and then list any associated notes (`list_notes`), ensuring nothing was missed before writing the proposal.

## Benefits

- Stop switching between tabs. Instead of going to the client dashboard, then checking the notes tab, you can ask your agent to combine that information using `get_client` and `list_notes` in one query.
- Build better onboarding flows. Use `list_users` and `list_workspaces` together so your agent can check who needs access and which operational area they belong to.
- Audit data quickly. Need to know every company associated with a client? You don't have to click through; the MCP handles that relationship mapping for you.
- Never miss a detail again. If a project note is crucial, use `get_note` directly instead of digging through folders to get the exact content needed for a report.
- Centralized view of relationships. By using tools like `list_clients`, `list_companies`, and `get_workspace`, you see the entire organizational picture—who reports to whom and what projects are active.

## How It Works

The bottom line is: your AI client handles the connection and data translation, so you just talk to it.

1. Your agent connects to this MCP using your API key. This establishes the link to your Assembly platform data.
2. You prompt your AI client with a request, like 'List all companies associated with Client X.'
3. The agent translates that natural language command into a function call (e.g., `list_companies`) and receives structured data back for you to use.

## Frequently Asked Questions

**How do I use list_clients to find all my accounts?**
Use `list_clients` when you need a full roster of every client in your system, giving you an overview of who is connected. This returns the basic identifying information for bulk processing.

**What's the difference between list_companies and get_company?**
Use `list_companies` when you want a roster of all companies in your account. Use `get_company` when you already know the specific company ID and need all its detailed records.

**Can I use list_users to see who works on a project?**
Yes, `list_users` gives you every user account. To find out which users work on a specific initiative, combine it with `get_workspace` by referencing the workspace ID.

**Does get_note retrieve old notes I can't find?**
The `get_note` tool retrieves a specific note based on its unique identifier. If you need to search for an old topic, first run `list_notes` to check the metadata and IDs.

**How do I use list_workspaces to see all active project areas?**
The MCP lists every workspace you have access to. After listing them, you'll need the specific ID to run get_workspace and pull detailed information about that area.

**Can I use list_notes to filter for notes written within a specific date range?**
Yes, you can pass start and end parameters. This lets your agent query only the notes from a certain time frame without having to check every single record.

**If I know a client's name, how do I link that data to find their associated company with get_company?**
You must first use get_client to retrieve the unique ID. Then, you pass that required ID into get_company so the MCP can pull linked records correctly.

**Are the results from list_users limited by my account permissions?**
Absolutely. The MCP respects your API scope settings. It won't return data for any user outside of your organization's defined boundaries, keeping all information secure and relevant.

**Where do I find my API Key?**
Your API Key can be found in your Assembly web portal under Settings > API.

**What access does this MCP need?**
It requires the REST API Key, giving access to clients, companies, users, and notes.

**Can I browse workspaces and internal notes through the AI agent?**
Yes. Use `list_workspaces` to see all workspaces and `get_workspace` to inspect a specific one. For notes, `list_notes` retrieves all entries and `get_note` fetches the full content of a specific note by ID.