mhenry3164/twenty-crm-mcp-server
If you are the rightful owner of twenty-crm-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Twenty CRM MCP Server is designed to transform your CRM into an AI-powered assistant, enabling natural language interactions with your customer data through the Model Context Protocol.
🤖 Twenty CRM MCP Server
Transform your CRM into an AI-powered assistant
A Model Context Protocol server that connects Twenty CRM with Claude and other AI assistants, enabling natural language interactions with your customer data.
🚀 Quick Start • 📖 Usage Examples • 🛠️ API Reference • 🤝 Contributing
✨ Features
🔄 Complete CRUD OperationsCreate, read, update, and delete people, companies, tasks, and notes with simple commands 🧠 Dynamic Schema DiscoveryAutomatically adapts to your Twenty CRM configuration and custom fields 🔍 Advanced SearchSearch across multiple object types with intelligent filtering and natural language queries |
📊 Metadata AccessRetrieve schema information and field definitions dynamically 💬 Natural Language InterfaceUse conversational commands to manage your CRM data effortlessly ⚡ Real-time UpdatesAll changes sync immediately with your Twenty CRM instance |
🚀 Installation
Prerequisites
- Node.js 18 or higher
- A Twenty CRM instance (cloud or self-hosted)
- Claude Desktop or compatible MCP client
Setup
- Clone the repository:
git clone https://github.com/mhenry3164/twenty-crm-mcp-server.git
cd twenty-crm-mcp-server
- Install dependencies:
npm install
-
Get your Twenty CRM API key:
- Log in to your Twenty CRM workspace
- Navigate to Settings → API & Webhooks (under Developers)
- Generate a new API key
-
Configure Claude Desktop:
Add the server to your claude_desktop_config.json
:
{
"mcpServers": {
"twenty-crm": {
"command": "node",
"args": ["/path/to/twenty-crm-mcp-server/index.js"],
"env": {
"TWENTY_API_KEY": "your_api_key_here",
"TWENTY_BASE_URL": "https://api.twenty.com"
}
}
}
}
For self-hosted Twenty instances, change TWENTY_BASE_URL
to your domain.
- Restart Claude Desktop to load the new server.
💬 Usage
Once configured, you can use natural language to interact with your Twenty CRM:
👥 People Management
"List the first 10 people in my CRM"
"Create a new person named John Doe with email john@example.com"
"Update Sarah's job title to Senior Developer"
"Find all people working at tech companies"
🏢 Company Management
"Show me all companies with more than 100 employees"
"Create a company called Tech Solutions with domain techsolutions.com"
"Update Acme Corp's annual revenue to $5M"
✅ Task Management
"Create a task to follow up with John next Friday"
"Show me all overdue tasks"
"Mark the task 'Call client' as completed"
📝 Notes & Search
"Add a note about my meeting with the client today"
"Search for any records mentioning 'blockchain'"
"Find all contacts without LinkedIn profiles"
🛠️ API Reference
The server provides the following tools:
👥 People Operations
create_person
- Create a new personget_person
- Get person details by IDupdate_person
- Update person informationlist_people
- List people with filteringdelete_person
- Delete a person
🏢 Company Operations
create_company
- Create a new companyget_company
- Get company details by IDupdate_company
- Update company informationlist_companies
- List companies with filteringdelete_company
- Delete a company
✅ Task Operations
create_task
- Create a new taskget_task
- Get task details by IDupdate_task
- Update task informationlist_tasks
- List tasks with filteringdelete_task
- Delete a task
📝 Note Operations
create_note
- Create a new noteget_note
- Get note details by IDupdate_note
- Update note informationlist_notes
- List notes with filteringdelete_note
- Delete a note
🔍 Metadata & Search
get_metadata_objects
- Get all object types and schemasget_object_metadata
- Get metadata for specific objectsearch_records
- Search across multiple object types
⚙️ Configuration
Environment Variables
TWENTY_API_KEY
(required): Your Twenty CRM API keyTWENTY_BASE_URL
(optional): Twenty CRM base URL (defaults tohttps://api.twenty.com
)
Custom Fields
The server automatically discovers and supports custom fields in your Twenty CRM instance. No configuration changes needed when you add new fields.
🤝 Contributing
We welcome contributions! Please see for guidelines.
Development
- Clone the repo:
git clone https://github.com/mhenry3164/twenty-crm-mcp-server.git
cd twenty-crm-mcp-server
- Install dependencies:
npm install
- Set up environment variables:
cp .env.example .env
# Edit .env with your API key
- Test the server:
npm test
🐛 Troubleshooting
Common Issues
Authentication Error: Verify your API key is correct and has appropriate permissions.
Connection Failed: Check that your TWENTY_BASE_URL
is correct (especially for self-hosted instances).
Field Not Found: The server automatically discovers fields. If you're getting field errors, try getting the metadata first: "Show me the available fields for people"
📄 License
MIT License - see file for details.
🙏 Acknowledgments
- Twenty CRM for providing an excellent open-source CRM
- Anthropic for the Model Context Protocol
- The MCP community for inspiration and examples
🔗 Links
Made with ❤️ for the open-source community
⭐ Star this repo if you find it helpful!