# Attio Simple MCP Server
An MCP (Model Context Protocol) server that integrates [Attio CRM](https://attio.com) with AI clients like Claude Code, Claude Desktop, ChatGPT, Windsurf, and Cursor.
This template was created by [Manoel Lemos](mailto:manoel@lemos.net) as a shortcut for people interested in deploying Attio MCP servers.
## Features
- **14 Tools** for managing companies, people, and notes in Attio
- **Schema Discovery** - Dynamically discover your workspace's objects and attributes
- **Type-Safe** - Full TypeScript with auto-generated Attio API types
## Available Tools
| Category | Tools |
|----------|-------|
| Schema | `get_workspace_schema` |
| Companies | `search_companies`, `get_company`, `create_company`, `update_company`, `manage_company_domains` |
| People | `search_people`, `get_person`, `create_person`, `update_person`, `manage_person_emails`, `manage_person_tags` |
| Notes | `create_note`, `get_note` |
## Quick Start
### 1. Install Dependencies
```bash
npm install
```
### 2. Configure Environment
```bash
cp .env.example .env
```
Edit `.env` and add your Attio API key:
```bash
ATTIO_API_KEY="your_api_key_here"
ATTIO_WORKSPACE_SLUG="your-workspace-slug" # Optional: for web URLs
```
Get your API key from [Attio Settings > Developers > API Keys](https://app.attio.com).
### 3. Build
```bash
npm run build
```
### 4. Configure Your AI Client
#### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
```json
{
"mcpServers": {
"attio": {
"command": "node",
"args": ["/absolute/path/to/attio-mcp/dist/index.js"],
"env": {
"ATTIO_API_KEY": "your_api_key_here",
"ATTIO_WORKSPACE_SLUG": "your-workspace-slug"
}
}
}
}
```
#### Claude Code
```bash
claude mcp add attio node /absolute/path/to/attio-mcp/dist/index.js
```
## Adding Custom Objects
This template includes tools for standard Attio objects (companies, people). To add tools for your custom objects:
1. Use `get_workspace_schema` to discover your workspace's objects and attributes
2. Copy an existing tool (e.g., `search-companies.ts`) as a template
3. Modify the API endpoint, fields, and types for your custom object
4. Register the new tool in `src/tools/index.ts`
## Development
```bash
npm run dev # Watch mode
npm run build # Build
npm test # Run tests
npm run test:watch # Watch tests
```
## License
MIT