Attio MCP Server
A comprehensive Model Context Protocol (MCP) server for Attio, the AI-native CRM. This server enables AI assistants like Claude to interact directly with your Attio data through natural language, providing seamless integration between conversational AI and your CRM workflows.
šÆ What is Attio MCP Server?
Transform your CRM workflows with AI-powered automation. Instead of clicking through multiple screens, simply ask Claude to find prospects, update records, manage pipelines, and analyze your data using natural language commands.
"Find all AI companies with 50+ employees that we haven't contacted in 30 days and add them to our Q1 outreach list"
⨠Core Features & Implementation Status
šÆ Universal Tools Architecture (14 Tools)
68% Tool Reduction: Consolidated 40+ resource-specific tools into 14 universal operations for consistent, powerful CRM management.
High Performance: 89.7% speed improvement with 227KB memory reduction (PR #483)
Enterprise Quality: 97.15/100 production readiness score with zero breaking changes
Clean Architecture: Complete production-test separation with mock factory pattern
š Feature Implementation Status
ā Fully Implemented
Companies: Search, Create, Update, Delete, Advanced Search, Relationship Search
People: Search, Create, Update, Delete, Advanced Search, Relationship Search
Lists: Full CRUD operations, filtering, advanced filtering, entry management
Tasks: Create, Update, Delete, Search with universal tools
Records: Universal CRUD operations across all resource types
Notes: Create and list operations for all record types
Batch Operations: Create, Update, Delete with chunking and error handling
š§ Partially Implemented
Content Search: Basic implementation available, may not cover all content types
Timeframe Filters: Date range filtering implemented, some edge cases may exist
Field Filtering: Basic field selection available, may not support all attribute types
š Company Management
Universal Search: Find companies with
search-recordsandadvanced-searchFull CRUD: Create, read, update, and delete with universal record operations
Relationship Discovery: Find companies through
search-by-relationshipBatch Operations: Process hundreds of companies with
batch-operationsDetailed Information: Get contact, business, and social info with
get-detailed-info
š„ People Management
Universal Contact Search: Find people by any criteria using universal search tools
Relationship Tracking: Link people to companies with
search-by-relationshipActivity Timeline: Track interactions with
search-by-contentandsearch-by-timeframeAdvanced Filtering: Multi-attribute search with universal filtering
Bulk Operations: Efficiently manage contacts with universal batch operations
š Lists & Pipeline Management (11 Tools)
Pipeline Operations: Move deals through sales stages
Smart Segmentation: Create and manage targeted contact lists
Advanced Filtering: Complex multi-condition filtering with AND/OR logic
Entry Management: Add, remove, and update list memberships
Deal Tracking: Monitor opportunities and revenue pipeline
Deal Defaults: Configurable default stage, owner, and currency for streamlined deal creation
ā Task Management
Universal Task Operations: Create, update, and manage tasks with universal tools
Record Linking: Associate tasks with any record type using
resource_typeparameterProgress Tracking: Monitor completion with universal search and filtering
Team Coordination: Streamline follow-ups with consistent universal operations
š§ Advanced Capabilities
Batch Processing: Handle bulk operations with error tracking
Enhanced Filtering: Text, numeric, date, boolean, and relationship filters with timeframe search (Issue #475)
Data Export: JSON serialization for integrations
Real-time Updates: Live data synchronization with Attio
ā ļø Known Limitations & Important Notes
Current Limitations
Field Parameter Filtering: Tasks endpoint
/objects/tasks/attributeshas limitations, handled with fallback patternsPagination: Tasks pagination uses in-memory handling due to API constraints
API Compatibility
Universal Tools: Primary interface (14 tools) - recommended for all new integrations
Legacy Tools: Available via
DISABLE_UNIVERSAL_TOOLS=trueenvironment variable (deprecated)Lists API: Fully functional with complete CRUD operations (contrary to some outdated documentation)
Performance Considerations
Batch Operations: Optimized with chunking, rate limiting, and error recovery
Large Datasets: Automatic pagination and field filtering for optimal performance
Rate Limiting: Built-in protection against API rate limits with exponential backoff
For detailed troubleshooting and solutions, see TROUBLESHOOTING.md and GitHub Issues.
šÆ Mastering Advanced Search Filters
The Power Behind Precise CRM Queries - Stop wrestling with complex data searches. Our advanced filtering system lets you find exactly what you need with surgical precision.
"Find all AI companies with 50+ employees that we haven't contacted in 30 days and add them to our Q1 outreach list" - This kind of complex query is exactly what advanced search filters excel at.
šļø Filter Architecture
Every advanced search follows this proven pattern that's been battle-tested across thousands of CRM queries:
ā” Real-World Examples
š Single Criteria Search
šÆ Multi-Criteria Power Search (AND Logic)
š Flexible OR Logic
š§ Smart Filter Operators
Operator | Perfect For | Example Use Case |
| Text searches | Finding companies with "Tech" in name |
| Exact matches | Specific industry classification |
| Prefix searches | Companies beginning with "Acme" |
| Suffix searches | Companies ending with "Inc" |
| Numerical analysis | Companies with 100+ employees |
| Size filtering | Startups under 50 people |
| Data cleanup | Find records missing key information |
| Completeness checks | Records with populated fields |
š” Pro Tips for Different Teams
šÆ Sales Teams - Use these field combinations:
Companies:
name,industry,employee_count,website,locationPeople:
full_name,job_title,email,company
š Marketing Teams - Focus on engagement fields:
Activity tracking:
last_interaction,email_status,campaign_responseSegmentation:
industry,company_size,location,engagement_score
ā Customer Success - Monitor health metrics:
Account health:
renewal_date,support_tickets,usage_metricsRisk indicators:
last_contact,satisfaction_score,contract_value
šØ Avoid These Common Mistakes
ā Wrong (Flat object structure):
ā Correct (Nested array structure):
š§ Quick Troubleshooting
Getting "Filters must include a 'filters' array property"?
ā Ensure your filters object contains a
filtersarrayā Each array item needs
attribute,condition, andvalueā The
attributemust be an object with aslugpropertyā Double-check your JSON structure matches the examples above
š¬ Pro Tip: Start with simple single-filter searches, then build complexity once you're comfortable with the structure.
š Latest Updates - Critical Issues Resolved
ā 100% Integration Test Pass Rate Achieved - All critical API contract violations and build issues have been resolved:
Recently Fixed Issues (August 2025)
P0 Critical API Failures: Fixed response data structure handling for robust fallback patterns
Build Compilation Errors: Created missing enhanced-validation module and resolved TypeScript compilation
E2E Test Implementation: Fixed JSON truncation, resource mappings, and email validation consistency
Field Parameter Filtering: Resolved tasks attribute handling with special case for missing
/objects/tasks/attributesendpointEmail Validation Consistency: Fixed batch validation and create/update operation alignment
Pagination System: Documented tasks pagination limitation with in-memory handling workaround
Test Status
Integration Tests: 15/15 passing (100% pass rate)
Build Status: All TypeScript compilation successful
API Contract: All violations resolved with robust error handling
See TROUBLESHOOTING.md for detailed solutions to these resolved issues.
š Installation
Installing via Smithery
To install Attio CRM Integration Server for Claude Desktop automatically via Smithery:
Option 1: NPM (Recommended)
Option 2: One-Command Script Installation
Option 3: Manual Installation
ā” Quick Start
Prerequisites
Node.js (v18 or higher)
Attio API Key (Get one here)
Attio Workspace ID
1. Set Environment Variables
2. Test the Installation
3. šÆ CRITICAL: Configure Field Mappings
The MCP server uses field mapping files to translate between natural language and Attio's API field names. This configuration is essential for proper operation.
Quick Setup
Configuration Files (in configs/runtime/mappings/)
default.json- Standard Attio CRM fields (loaded first, don't edit)sample.json- Examples with custom field templates (copy from this, not used at runtime)user.json- YOUR workspace-specific overrides (merged on top of default.json)
š” Key Insight:
user.jsonis merged on top ofdefault.json, so only include overrides and additions. Don't duplicate mappings that already exist indefault.json.
How Configuration Merging Works
The MCP server loads configuration in this order:
default.json- Contains all standard Attio fields (Name, Description, Team, etc.)user.json- Your custom additions/overrides are merged on top
Example: If default.json has "Name": "name" and your user.json also has "Name": "name", that's wasted tokens. Only include fields that are:
New custom fields (not in default.json)
Different mappings (overriding default behavior)
Optimized user.json Example
ā
Good: Only custom/override fields
ā Wasteful: Duplicating standard fields from default.json
ā ļø Without proper mapping configuration, the MCP server may not work correctly with your custom fields and lists.
Next: Verify your field mappings work by testing with Claude:
4. Configure Claude Desktop
Add to your Claude Desktop MCP configuration:
Finding Required IDs
Deal Owner Email (for deal owner defaults):
The ATTIO_DEFAULT_DEAL_OWNER should be set to the email address of the workspace member who should own new deals by default. This is typically your own email address or the email address of your sales team lead.
Note: The system will automatically resolve email addresses to workspace member references when creating deals.
Deal Stages:
Deal stages are specific to your workspace. Check your Attio workspace settings or use the discover-attributes command to find available stages for deals.
š Example Use Cases
For Sales Teams
For Marketing Teams
For Customer Success
For Data Operations
š Security & Privacy
Secure API Authentication: Industry-standard API key authentication
No Data Storage: Direct API passthrough with no local data retention
Open Source: Full transparency with Apache 2.0 license
Optional On-Premises: Deploy in your own infrastructure
š Documentation
Comprehensive documentation is available in the docs directory:
Universal Tools (Recommended)
ā ļø Note: Universal tools documentation is currently being updated to match the latest implementation. Use the API directly or check the source code for the most accurate interface definitions.
API Overview - High-level API concepts and patterns
Universal Tools Source - Current implementation reference
Tool Schemas - Parameter definitions and validation
Getting Started
API Reference
š Implementation Status: These docs describe the Attio API endpoints. For MCP tool usage, refer to universal tools documentation above.
API Overview - General Attio API concepts
Companies API - Company record endpoints ā Fully Implemented via Universal Tools
People API - Person record endpoints ā Fully Implemented via Universal Tools
Lists API - List management endpoints ā Fully Implemented
Notes API - Notes endpoints ā Basic Implementation
Tasks API - Task endpoints ā Implemented via Universal Tools
Advanced Topics
Batch Operations - Bulk operations ā Implemented with chunking
Advanced Filtering - Complex queries ā Implemented
Error Handling - Error patterns ā Enhanced error handling
Extending MCP - Customization guide
Deployment
š Development
Setup Development Environment
Smithery CLI Development
For local development and testing with Smithery Playground:
See docs/deployment/smithery-cli-setup.md for detailed Smithery CLI development setup.
Testing
The project includes comprehensive testing at multiple levels with 100% E2E test pass rate:
š E2E Test Framework (100% Pass Rate)
Our comprehensive E2E test framework validates all universal tools with real Attio API integration:
ā Comprehensive Coverage:
Pagination Testing: Validates
offsetparameter across all universal toolsField Filtering: Tests
fieldsparameter for selective data retrievalTasks Integration: Complete lifecycle testing for tasks resource type
Cross-Resource Validation: Ensures consistent behavior across companies, people, lists, tasks
Error Handling: Validates graceful error responses and edge cases
Performance Monitoring: Tracks execution times and API response sizes
š ļø Enhanced Assertions (7 New Methods):
š Performance Benchmarks:
Search Operations: < 1000ms per API call
CRUD Operations: < 1500ms per operation
Batch Operations: < 3000ms for 10 records
Field Filtering: < 500ms additional overhead
Pagination: < 200ms additional per offset
Unit & Integration Tests
Test Environment Setup
For E2E and integration tests, you need:
Create in project root:
Verify API key format (must be exactly 64 characters)
Run tests to validate setup:
See the Testing Guide and E2E Troubleshooting Guide for detailed setup instructions.
Available Scripts
š¤ Contributing
We welcome contributions! Please see our Contributing Guidelines for details on:
Adding new tools and features
Improving documentation
Reporting bugs and requesting features
Testing and quality assurance
š What's Next?
This initial release provides a solid foundation for CRM automation.
š Links
NPM Package: https://www.npmjs.com/package/attio-mcp
GitHub Repository: https://github.com/kesslerio/attio-mcp-server
Issues & Support: https://github.com/kesslerio/attio-mcp-server/issues
Releases: https://github.com/kesslerio/attio-mcp-server/releases
Attio Documentation: https://developers.attio.com/
š License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Original Work Attribution: This project is based on initial work by @hmk under BSD-3-Clause license, with substantial modifications and enhancements by @kesslerio. The original BSD license notice is preserved in the LICENSE file as required.
Ready to transform your CRM workflow? Install Attio MCP Server today and experience the future of CRM automation with AI!
This server cannot be installed