Server Details
Streamline your Attio workflows using natural language to search, create, update, and organize com…
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- kesslerio/attio-mcp-server
- GitHub Stars
- 47
- Server Listing
- Attio MCP Server
Available Tools
33 toolsaaa-health-checkTry in Inspector
Returns server status without requiring any credentials.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
add-record-to-listTry in Inspector
Add company or person to list with optional initial values. | WRITE: requires approval | Does not: create records; record must exist first. | Requires list UUID, record UUID, object type. | If errors occur: If not found, create record first with create-record.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | UUID of the list to add the record to | |
| recordId | Yes | UUID of the record to add to the list | |
| objectType | Yes | Type of record (e.g., "companies", "people") | |
| initialValues | No | Initial values for the list entry (e.g., {"stage": "Prospect"}) |
advanced-filter-list-entriesTry in Inspector
Filter entries with multi-condition queries (AND/OR logic). | Does not: modify entries; read-only. | Requires listId, filters array; matchAny for OR logic. | If errors occur: Use filter-list-entries for single conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to fetch (default: 20) | |
| listId | Yes | ID of the list to filter entries from | |
| offset | No | Number of entries to skip for pagination (default: 0) | |
| filters | Yes | Advanced filter configuration |
create-noteTry in Inspector
Create note for companies, people, or deals with optional markdown formatting. | WRITE: requires approval | Does not: update or delete notes; creates only. | Requires resource_type, record_id, title, content. Optional format (plaintext or markdown). | If errors occur: If record not found, use records_search first.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title of the note | |
| format | No | Content format (default: plaintext) | plaintext |
| content | Yes | Content of the note | |
| record_id | Yes | ID of the record to attach the note to | |
| resource_type | Yes | Target resource type |
create-recordTry in Inspector
Create a new record of any supported type
| Name | Required | Description | Default |
|---|---|---|---|
| record_data | Yes | Data to create | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| return_details | No | Return full details |
delete-recordTry in Inspector
Delete a record of any supported type
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Record ID to delete | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
fetchTry in Inspector
Retrieve the full record payload for a search result ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Identifier emitted by the search tool (<resource>:<id>). |
filter-list-entriesTry in Inspector
Filter list entries by single attribute condition. | Does not: combine conditions; use advanced-filter for multi-condition. | Requires listId, attributeSlug, condition, value. | If errors occur: Use get-list-details for valid attribute slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to fetch (default: 20) | |
| value | Yes | Value to filter by (type depends on the attribute) | |
| listId | Yes | ID of the list to filter entries from | |
| offset | No | Number of entries to skip for pagination (default: 0) | |
| condition | Yes | Filter condition (e.g., 'equals', 'contains', 'greater_than') | |
| attributeSlug | Yes | Slug of the attribute to filter by (e.g., 'stage', 'status') |
filter-list-entries-by-parentTry in Inspector
Filter entries by parent record attributes (industry, role). | Does not: search multiple lists or modify records. | Requires listId, parentObjectType, parentAttributeSlug, condition, value. | If errors occur: Use records_discover_attributes for valid slugs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to fetch (default: 20) | |
| value | Yes | Value to filter by (type depends on the attribute) | |
| listId | Yes | UUID of the list to filter entries from | |
| offset | No | Number of entries to skip for pagination (default: 0) | |
| condition | Yes | Filter condition (e.g., "equals", "contains", "starts_with") | |
| parentObjectType | Yes | Type of the parent record (e.g., "companies", "people") | |
| parentAttributeSlug | Yes | Attribute of the parent record to filter by (e.g., "name", "email_addresses", "categories") |
filter-list-entries-by-parent-idTry in Inspector
Filter entries by exact parent record UUID. | Does not: search multiple lists. | Requires list UUID, record UUID; faster than attribute filtering. | If errors occur: Use get-record-list-memberships for workspace-wide search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to fetch (default: 20) | |
| listId | Yes | UUID of the list to filter entries from | |
| offset | No | Number of entries to skip for pagination (default: 0) | |
| recordId | Yes | UUID of the parent record to filter by |
get-list-detailsTry in Inspector
Retrieve schema and configuration for a specific list (stages, fields, attributes). | Does not: modify list structure or retrieve list entries. | Requires valid list UUID or slug; accepts both formats. | If errors occur: Use get-lists to discover available list IDs and slugs first.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | ID or slug of the list to get details for |
get-list-entriesTry in Inspector
Retrieve all records in a list with pagination (companies, people in pipelines). | Does not: filter entries or modify list memberships. | Requires list UUID (not slug); default limit 20, max per page varies by API. | If errors occur: Use filter-list-entries for attribute-based filtering instead.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of entries to fetch (default: 20) | |
| listId | Yes | UUID of the list to get entries for | |
| offset | No | Number of entries to skip for pagination (default: 0) |
get-listsTry in Inspector
Retrieve all CRM lists (sales pipelines, lead stages, customer segments). | Does not: create or modify lists, only reads existing lists. | Returns all lists visible to the authenticated workspace. | If errors occur: Use get-list-details to inspect individual list schemas.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get-record-list-membershipsTry in Inspector
Find all lists containing a specific company or person record. | Does not: modify list memberships or retrieve list entries. | Requires recordId; processes 5 lists in parallel by default (max 20). | If errors occur: If record not found, verify recordId with records_search first.
| Name | Required | Description | Default |
|---|---|---|---|
| recordId | Yes | ID of the record to find in lists | |
| batchSize | No | Number of lists to process in parallel (1-20, default: 5) | |
| objectType | No | Type of record (e.g., "companies", "people") | |
| includeEntryValues | No | Whether to include entry values in the response (e.g., stage, status) |
get-workspace-memberTry in Inspector
Retrieve profile and access details for one workspace member. | Does not: update member information or change permissions. | Requires workspace_member_id from list/search results; read-only. | If errors occur: Use list-workspace-members to confirm the memberId before retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| memberId | Yes | Workspace member ID (UUID). |
list-notesTry in Inspector
Retrieve notes for a record with timestamps. | Does not: create or modify notes; read-only. | Requires resource_type, record_id; sorted by creation date. | If errors occur: If empty, verify record has notes with records_get_details.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| offset | No | Number of results to skip for pagination | |
| record_id | No | Record ID to list notes for | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| parent_record_id | No | Alias for record_id (backward compatibility) |
list-workspace-membersTry in Inspector
List workspace members to plan assignments and access checks. | Does not: change access levels or invite new members; read-only. | Supports optional search, pagination (1-100 per page, default 25). | If errors occur: Use search-workspace-members for targeted lookups.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (1-indexed). | |
| search | No | Optional case-insensitive match on member name or email. | |
| pageSize | No | Number of results per page (max 100). |
records_batchTry in Inspector
Execute batched record operations (create/update/delete/get/search). | WRITE: requires approval | Does not: ignore approval guardrails; hosts may require confirmation. | operation_type must be specified; enforce per-operation limits. | If errors occur: Run records.search first to stage IDs or payloads for batching.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| offset | No | Number of results to skip for pagination | |
| records | No | Record data for create/update (legacy format) | |
| operations | No | Array of operations to perform | |
| record_ids | No | Record IDs for delete/get (legacy format) | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| operation_type | No | Batch operation type (legacy format) |
records_discover_attributesTry in Inspector
Discover available attributes (standard/custom) for a resource. | Does not: alter schema or create fields. | Requires resource_type; optional categories selects subsets. | If errors occur: Follow with records.get_attributes to inspect specific fields.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | No | Attribute categories | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
records_get_attributesTry in Inspector
Retrieve attribute metadata for a given resource type. | Does not: modify schema definitions or record data. | Requires resource_type; optional categories narrows groups. | If errors occur: Use records.discover_attributes for grouped schema discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Specific attribute field names | |
| record_id | No | Record ID to get attributes for (optional) | |
| categories | No | Attribute categories | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
records_get_detailsTry in Inspector
Fetch a single record with enriched attribute formatting. | Does not: search or filter result sets; use records.search* tools instead. | Requires resource_type and record_id; optional fields filter output. | If errors occur: Validate record IDs with records.search before retrying.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Fields to include | |
| record_id | Yes | Record ID to retrieve | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
records_get_infoTry in Inspector
Retrieve enriched info subsets (contact, business, social) for a record. | Does not: search lists of records or mutate data. | Requires resource_type, record_id, and info_type (contact|business|social). | If errors occur: Use records.get_details if you need the full record payload.
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Unique identifier of the record | |
| resource_type | Yes | Type of resource |
records_searchTry in Inspector
Search across companies, people, tasks, and records | Does not: create or modify records | Returns max 100 results (default: 10) | If errors occur: use records.discover_attributes to find searchable fields
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | |
| limit | No | Maximum number of results to return | |
| query | No | Search query string | |
| fields | No | Fields to search (content) | |
| offset | No | Number of results to skip for pagination | |
| date_to | No | End date for filtering (ISO 8601 format) | |
| filters | No | Advanced filter conditions | |
| date_from | No | Start date for filtering (ISO 8601 format) | |
| timeframe | No | Relative timeframe filter | |
| date_field | No | Which date field to filter on | created_at |
| match_type | No | String matching | |
| search_type | No | Type of search | |
| created_after | No | Filter records created after this date (ISO 8601) | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| updated_after | No | Filter records updated after this date (ISO 8601) | |
| created_before | No | Filter records created before this date (ISO 8601) | |
| updated_before | No | Filter records updated before this date (ISO 8601) |
records_search_advancedTry in Inspector
Run complex searches with nested filters across resource types. | Does not: mutate records; use records.update or records.delete. | Supports filter groups, scoring, pagination, and up to 100 items. | If errors occur: If filters fail, fetch valid attributes via records.discover_attributes.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| query | No | Search query string | |
| offset | No | Number of results to skip for pagination | |
| filters | No | Complex filter conditions with nested array structure. Required format: { "filters": [ { "attribute": {"slug": "field_name"}, "condition": "operator", "value": "search_value" } ] } Examples: - Single filter: {"filters": [{"attribute": {"slug": "name"}, "condition": "contains", "value": "Tech"}]} - Multiple filters: {"filters": [{"attribute": {"slug": "name"}, "condition": "contains", "value": "Tech"}, {"attribute": {"slug": "categories"}, "condition": "equals", "value": "Technology"}]} - OR logic: {"filters": [...], "matchAny": true} Supported conditions: contains, equals, starts_with, ends_with, greater_than, less_than, is_empty, is_not_empty | |
| sort_by | No | Field to sort results by | |
| sort_order | No | Sort order | asc |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
records_search_batchTry in Inspector
Execute multiple searches in parallel and return grouped results. | Does not: mutate or import data; use records.batch for write operations. | Provide queries array (1–10 items recommended) and resource_type. | If errors occur: If queries fail, retry individually using records.search.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results per query (default: 20) | |
| offset | No | Number of results to skip per query (default: 0) | |
| queries | Yes | Array of search query strings | |
| resource_type | Yes | Resource type to search (companies, people, records, tasks, deals) |
records_search_by_contentTry in Inspector
Search record content (notes, activity, communications). | Does not: modify note content or attachments. | Requires resource_type and content_query; optional fields array. | If errors occur: Narrow scope with fields or switch to records.search_advanced.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| offset | No | Number of results to skip for pagination | |
| content_type | Yes | Type of content to search | |
| search_query | Yes | Query to search within content | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) |
records_search_by_relationshipTry in Inspector
Search records using relationship anchors (list, company, people). | Does not: modify memberships; use list tools for writes. | Requires resource_type and related resource identifier. | If errors occur: Use records.search to resolve IDs before calling.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| listId | No | (Optional) List ID (must be a valid UUID if provided) | |
| offset | No | Number of results to skip for pagination | |
| source_id | Yes | Source record ID | |
| relationship_type | Yes | Relationship type | |
| target_resource_type | No | Target resource type |
records_search_by_timeframeTry in Inspector
Filter records by creation, update, or interaction timeframes. | Does not: modify lifecycle state or scheduling follow-ups. | Requires resource_type; provide timeframe or explicit date boundaries. | If errors occur: Call records.search if timeframe filters are too restrictive.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results to return | |
| offset | No | Number of results to skip for pagination | |
| end_date | No | End date (ISO 8601 format) | |
| start_date | No | Start date (ISO 8601 format) | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| timeframe_type | No | Timeframe filter type |
remove-record-from-listTry in Inspector
Remove company or person from list (membership only). | WRITE: requires approval | Does not: delete underlying record; membership only. | Requires list UUID, entry UUID (not record UUID). | If errors occur: Use get-list-entries to find entry UUID.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | UUID of the list to remove the entry from | |
| entryId | Yes | UUID of the list entry to remove (not the record ID) |
searchTry in Inspector
Simple search by query string across companies, people, lists, and tasks. For advanced filtering, date ranges, or relationships, use records.search instead.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Optional resource filter (defaults to all). | |
| limit | No | Maximum number of results to return (default 10). | |
| query | Yes | Search query string (required). |
search-workspace-membersTry in Inspector
Search workspace members by name, email, or access role. | Does not: modify member profiles or permissions; lookup only. | Requires query string (minimum 2 characters). | If errors occur: If no results, list-workspace-members provides the full roster.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term for member name, email address, or role. |
update-list-entryTry in Inspector
Update list entry attributes (stage, status, custom fields). | WRITE: requires approval | Does not: update record attributes; use update-record for that. | Requires list UUID, entry UUID, attributes object. | If errors occur: Use get-list-details for valid attributes and values.
| Name | Required | Description | Default |
|---|---|---|---|
| listId | Yes | UUID of the list containing the entry | |
| entryId | Yes | UUID of the list entry to update | |
| attributes | Yes | Attributes to update on the list entry |
update-recordTry in Inspector
Update an existing record of any supported type
| Name | Required | Description | Default |
|---|---|---|---|
| record_id | Yes | Record ID to update | |
| record_data | Yes | Updated data | |
| resource_type | Yes | Type of resource to operate on (companies, people, lists, records, tasks) | |
| return_details | No | Return full details |
FAQ
How do I claim this server?
To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:
The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.
What are the benefits of claiming a server?
- Control your server's listing on Glama, including description and metadata
- Receive usage reports showing how your server is being used
- Get monitoring and health status updates for your server
Your Connectors
Sign in to create a connector for this server.