Attio API Overview
April 30, 2026 ยท View on GitHub
โ Current Status: Attio MCP Server implements 41 total tools - 26 universal/OpenAI tools + 12 list tools + 3 workspace member tools
Attio provides a powerful REST API that allows developers to build applications that read and write information to and from Attio workspaces. The API exchanges JSON over HTTPS and provides comprehensive access to Attio's core functionality.
๐ Universal Tools Available: The MCP server provides Universal Tools that consolidate 40+ resource-specific operations into 26 discoverable tools (using MCP-compliant
snake_case, verb-first naming where applicable). List-specific operations and workspace member management are available through 15 additional specialized tools (12 list tools + 3 workspace tools). This provides better performance, consistent APIs, and simplified integration.
Understanding the Model Context Protocol (MCP)
The Attio MCP server acts as a bridge between Claude (or other AI assistants) and the Attio API. This integration allows Claude to interact with your CRM data without requiring you to manually copy and paste information.
How MCP Works
- Request Flow: When you ask Claude about Attio data, Claude sends a structured request to the Attio MCP server
- Authentication: The MCP server authenticates with Attio using your API key
- Data Retrieval: The server fetches the requested data from Attio's API
- Response: Claude receives the data and presents it to you in a conversational format
URI Scheme
The Attio MCP server uses a custom URI scheme to identify resources:
- Companies:
attio://companies/{company_id} - People:
attio://people/{person_id} - Lists:
attio://lists/{list_id} - Notes:
attio://notes/{note_id}
Claude uses these URIs to reference specific records when performing operations.
Available Tools
Claude can interact with Attio using 41 fully implemented tools provided by the MCP server:
โ Core Universal Tools (13 tools)
search_records- Universal search across companies, people, records, and tasksget_record_details- Retrieve detailed information for any record typecreate_company- Create companies without selectingresource_typeupdate_company- Update companies without selectingresource_typecreate_deal- Create deals without selectingresource_typeupdate_deal- Update deals without selectingresource_typecreate_record- Create new records across all resource typesupdate_record- Update existing records with validationdelete_record- Delete records across all resource typesget_record_attributes- Get attribute definitions for resource typesdiscover_record_attributes- Discover available attributes with examplesget_record_info- Get specific info types (basic, contact, business, social)get_record_interactions- Get interaction metadata for people and companies
โ Advanced Universal Tools (6 tools)
search_records_advanced- Complex filtering with multiple conditionssearch_records_by_relationship- Cross-resource relationship searchessearch_records_by_content- Content-based searches (notes, activity)search_records_by_timeframe- Time-based searches with date rangesbatch_records- Bulk operations for multiple recordsbatch_search_records- Bulk search operations
โ Note Tools (2 tools)
create_note- Create notes attached to any record typelist_notes- List notes for specific records
โ Utility Tools (2 tools)
get_record_attribute_options- Get valid options for select/status fieldssmithery_debug_config- Debug tool for configuration validation
โ Special Tools (3 tools)
aaa-health-check- Health monitoring endpointopenai-search- OpenAI integration searchopenai-fetch- OpenAI integration fetch
๐ Lists Tools (12 tools) - Always Exposed
List-specific tools are always exposed alongside universal tools (Issue #470 - "Lists are relationship containers"):
get-lists,get-list-details,get-list-entriesfilter-list-entries,advanced-filter-list-entriesadd-record-to-list,remove-record-from-list,update-list-entry,manage-list-entryfilter-list-entries-by-parent,filter-list-entries-by-parent-idget-record-list-memberships
These tools provide specialized list management capabilities beyond what universal tools offer. See Lists API documentation for details.
๐ฅ Workspace Member Tools (3 tools) - Always Exposed
Workspace member tools are always exposed for user discovery (Issue #684):
list-workspace-members- Get all workspace memberssearch-workspace-members- Search workspace members by name or emailget-workspace-member- Get specific workspace member details
โ ๏ธ Legacy Tools (Deprecated)
Old tool names (e.g., records_search, create-record) are deprecated but work via backward-compatible aliases until v2.0.0 (Q1 2026). Migration to new MCP-compliant names is recommended.
Current Tools: All 41 tools (26 universal/OpenAI + 12 list + 3 workspace member) are fully implemented and tested.
Advanced Filtering Capabilities
The Attio MCP server provides multiple filtering methods:
- Basic filtering: Simple text-based searches for names, emails, etc.
- Advanced filtering: Complex filter conditions with multiple attributes and logic
- Date and numeric filtering: Filter by dates and numeric values with range support
- Activity filtering: Find records based on interaction history and activity
- Relationship filtering: Find records based on their relationships with other records
For details, see:
- Advanced Filtering Guide
- Date and Numeric Filtering
- Activity and Historical Filtering
- Relationship-Based Filtering
Authentication
API Keys
For personal or internal use, you can use API keys to authenticate:
Authorization: Bearer your_api_key_here
OAuth 2.0
For multi-workspace applications, Attio supports OAuth 2.0:
- Authorization Endpoint:
https://app.attio.com/authorize - Token Endpoint:
https://app.attio.com/oauth/token
Required scopes vary by endpoint and are documented in the reference documentation.
Core Concepts
Objects and Lists
Attio's data model is built around Objects (like Companies, People) and Lists that organize records.
- Objects define the structure of your data (schema)
- Lists provide views and organization of records
- Records are instances of objects with specific attribute values
Standard Objects
Attio includes several standard objects:
- Companies
- People
- Opportunities
- Tasks
- Notes
- Workspaces
- Users
API Endpoints
The API is organized into functional areas:
- Objects: Create, read, update, delete objects and their attributes
- Lists: Manage lists and list entries
- Records: Create, read, update, delete records
- People: Manage person records
- Tasks: Manage tasks and assignments
- Notes: Create and manage notes attached to records
- Users: Manage workspace users and permissions
- Webhooks: Subscribe to real-time events
Base URL
All API requests should be directed to:
https://api.attio.com/v2/
Rate Limits
The Attio API imposes rate limits to ensure stability. Current limits are:
- 100 requests per minute per API key
- 1,000 requests per hour per API key
Response Format
All responses are in JSON format. A typical successful response includes:
{
"data": {},
"meta": {
"page": 1,
"pageSize": 25,
"total": 100
}
}
Error Handling
Error responses include a status code, error type, and error message:
{
"error": {
"type": "invalid_request_error",
"message": "The requested resource was not found"
}
}
Common error status codes:
- 400: Bad Request
- 401: Unauthorized
- 403: Forbidden
- 404: Not Found
- 429: Too Many Requests
- 500: Internal Server Error
Pagination
API endpoints that return lists of items support pagination with the following parameters:
page: The page number to retrieve (starting at 1)pageSize: The number of items per page (default 25, max 100)
References
For detailed information about specific endpoints, refer to the following documentation: