bratland/pipedrive-mcp-server
If you are the rightful owner of pipedrive-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 Pipedrive MCP Server is a Model Context Protocol server that interfaces with the Pipedrive API v2, providing read-only access to CRM data for LLM applications like Claude.
Pipedrive MCP Server
A Model Context Protocol (MCP) server that connects to the Pipedrive API v2, exposing Pipedrive CRM data to LLM applications like Claude.
Features
- Read-only access to Pipedrive data
- Full entity support including:
- Deals
- Persons (Contacts)
- Organizations
- Pipelines & Stages
- Activities
- Notes
- Search capabilities across all entity types
- Custom fields support - All fields including custom fields are exposed
- Predefined prompts for common operations
Prerequisites
- Node.js (v16 or higher)
- A Pipedrive account with API access
- Pipedrive API token
Installation
- Clone the repository:
git clone https://github.com/yourusername/pipedrive-mcp-server.git
cd pipedrive-mcp-server
- Install dependencies:
npm install
- Create a
.envfile in the root directory:
cp .env.example .env
- Add your Pipedrive API token to the
.envfile:
PIPEDRIVE_API_TOKEN=your_pipedrive_api_token_here
- Build the project:
npm run build
Getting Your Pipedrive API Token
- Log in to your Pipedrive account
- Go to Personal Settings → API
- Copy your personal API token
Usage
Development Mode
Run the server with auto-reload for development:
npm run dev
Production Mode
Build and run the compiled server:
npm run build
npm start
Configuring with Claude Desktop
Add the following to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pipedrive": {
"command": "node",
"args": ["/path/to/pipedrive-mcp-server/dist/index.js"],
"env": {
"PIPEDRIVE_API_TOKEN": "your_pipedrive_api_token_here"
}
}
}
}
Available Tools
Deals
get_deals- List deals with filtering optionsget_deal- Get a specific deal by IDsearch_deals- Search for deals by term
Persons (Contacts)
get_persons- List persons with filtering optionsget_person- Get a specific person by IDsearch_persons- Search for persons by name
Organizations
get_organizations- List organizationsget_organization- Get a specific organization by IDsearch_organizations- Search for organizations
Pipelines & Stages
get_pipelines- List all pipelinesget_pipeline- Get a specific pipelineget_stages- List pipeline stagesget_stage- Get a specific stage
Activities
get_activities- List activities with filteringget_activity- Get a specific activity
Notes
get_notes- List notes with filteringget_note- Get a specific note
Search
search_items- Search across multiple item types
Predefined Prompts
The server includes several predefined prompts for common operations:
list_all_deals- List all deals with their detailssearch_person- Search for a person by nameget_organization_deals- Get all deals for a specific organizationpipeline_overview- Get overview of all pipelines and their stages
Development
Commands
npm run dev # Run with auto-reload for development
npm run build # Build TypeScript to JavaScript
npm run start # Run the compiled server
npm run lint # Run ESLint
npm run typecheck # Run TypeScript type checking
npm test # Run tests (when implemented)
Project Structure
pipedrive-mcp-server/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── pipedrive-client.ts # Pipedrive API client
│ └── tools/ # Individual tool implementations
│ ├── deals.ts
│ ├── persons.ts
│ ├── organizations.ts
│ ├── pipelines.ts
│ ├── activities.ts
│ ├── notes.ts
│ └── search.ts
├── dist/ # Compiled JavaScript output
├── package.json
├── tsconfig.json
├── .eslintrc.json
└── .env.example
API Rate Limits
The Pipedrive API has rate limits. The server handles API responses appropriately, but be mindful of:
- Default rate limit: 80 requests per 2 seconds
- Consider implementing caching for frequently accessed data
- Use pagination parameters to limit data transfer
Error Handling
The server provides detailed error messages including:
- API authentication failures
- Network errors
- Invalid parameters
- Rate limit exceeded warnings
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details
Support
For issues or questions:
- Create an issue on GitHub
- Check Pipedrive API documentation: https://developers.pipedrive.com/docs/api/v1
Acknowledgments
- Built for use with Claude Desktop
- Uses the Model Context Protocol
- Integrates with Pipedrive CRM