Skip to main content
Glama

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 tools
aaa-health-checkTry in Inspector

Returns server status without requiring any credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesUUID of the list to add the record to
recordIdYesUUID of the record to add to the list
objectTypeYesType of record (e.g., "companies", "people")
initialValuesNoInitial 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to fetch (default: 20)
listIdYesID of the list to filter entries from
offsetNoNumber of entries to skip for pagination (default: 0)
filtersYesAdvanced 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle of the note
formatNoContent format (default: plaintext)plaintext
contentYesContent of the note
record_idYesID of the record to attach the note to
resource_typeYesTarget resource type
create-recordTry in Inspector

Create a new record of any supported type

ParametersJSON Schema
NameRequiredDescriptionDefault
record_dataYesData to create
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
return_detailsNoReturn full details
delete-recordTry in Inspector

Delete a record of any supported type

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYesRecord ID to delete
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
fetchTry in Inspector

Retrieve the full record payload for a search result ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentifier 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to fetch (default: 20)
valueYesValue to filter by (type depends on the attribute)
listIdYesID of the list to filter entries from
offsetNoNumber of entries to skip for pagination (default: 0)
conditionYesFilter condition (e.g., 'equals', 'contains', 'greater_than')
attributeSlugYesSlug 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to fetch (default: 20)
valueYesValue to filter by (type depends on the attribute)
listIdYesUUID of the list to filter entries from
offsetNoNumber of entries to skip for pagination (default: 0)
conditionYesFilter condition (e.g., "equals", "contains", "starts_with")
parentObjectTypeYesType of the parent record (e.g., "companies", "people")
parentAttributeSlugYesAttribute 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to fetch (default: 20)
listIdYesUUID of the list to filter entries from
offsetNoNumber of entries to skip for pagination (default: 0)
recordIdYesUUID 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesID 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to fetch (default: 20)
listIdYesUUID of the list to get entries for
offsetNoNumber 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.

ParametersJSON Schema
NameRequiredDescriptionDefault

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
recordIdYesID of the record to find in lists
batchSizeNoNumber of lists to process in parallel (1-20, default: 5)
objectTypeNoType of record (e.g., "companies", "people")
includeEntryValuesNoWhether 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
memberIdYesWorkspace 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
offsetNoNumber of results to skip for pagination
record_idNoRecord ID to list notes for
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
parent_record_idNoAlias 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-indexed).
searchNoOptional case-insensitive match on member name or email.
pageSizeNoNumber 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
offsetNoNumber of results to skip for pagination
recordsNoRecord data for create/update (legacy format)
operationsNoArray of operations to perform
record_idsNoRecord IDs for delete/get (legacy format)
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
operation_typeNoBatch 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesNoAttribute categories
resource_typeYesType 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoSpecific attribute field names
record_idNoRecord ID to get attributes for (optional)
categoriesNoAttribute categories
resource_typeYesType 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoFields to include
record_idYesRecord ID to retrieve
resource_typeYesType 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYesUnique identifier of the record
resource_typeYesType 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

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order
limitNoMaximum number of results to return
queryNoSearch query string
fieldsNoFields to search (content)
offsetNoNumber of results to skip for pagination
date_toNoEnd date for filtering (ISO 8601 format)
filtersNoAdvanced filter conditions
date_fromNoStart date for filtering (ISO 8601 format)
timeframeNoRelative timeframe filter
date_fieldNoWhich date field to filter oncreated_at
match_typeNoString matching
search_typeNoType of search
created_afterNoFilter records created after this date (ISO 8601)
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
updated_afterNoFilter records updated after this date (ISO 8601)
created_beforeNoFilter records created before this date (ISO 8601)
updated_beforeNoFilter 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
queryNoSearch query string
offsetNoNumber of results to skip for pagination
filtersNoComplex 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_byNoField to sort results by
sort_orderNoSort orderasc
resource_typeYesType 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results per query (default: 20)
offsetNoNumber of results to skip per query (default: 0)
queriesYesArray of search query strings
resource_typeYesResource 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
offsetNoNumber of results to skip for pagination
content_typeYesType of content to search
search_queryYesQuery to search within content
resource_typeYesType 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
listIdNo(Optional) List ID (must be a valid UUID if provided)
offsetNoNumber of results to skip for pagination
source_idYesSource record ID
relationship_typeYesRelationship type
target_resource_typeNoTarget 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
offsetNoNumber of results to skip for pagination
end_dateNoEnd date (ISO 8601 format)
start_dateNoStart date (ISO 8601 format)
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
timeframe_typeNoTimeframe 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesUUID of the list to remove the entry from
entryIdYesUUID 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional resource filter (defaults to all).
limitNoMaximum number of results to return (default 10).
queryYesSearch 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch 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.

ParametersJSON Schema
NameRequiredDescriptionDefault
listIdYesUUID of the list containing the entry
entryIdYesUUID of the list entry to update
attributesYesAttributes to update on the list entry
update-recordTry in Inspector

Update an existing record of any supported type

ParametersJSON Schema
NameRequiredDescriptionDefault
record_idYesRecord ID to update
record_dataYesUpdated data
resource_typeYesType of resource to operate on (companies, people, lists, records, tasks)
return_detailsNoReturn 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:

{ "$schema": "https://glama.ai/mcp/schemas/connector.json", "maintainers": [ { "email": "your-email@example.com" } ] }

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
Try in Browser

Your Connectors

Sign in to create a connector for this server.