使用说明
Pipedrive MCP服务器
模型上下文协议(MCP)服务器,提供对Pipedrive CRM API v1的完全CRUD访问。使Claude和其他LLM应用程序能够无缝读写Pipedrive数据。
🚀 特性
- 完整的CRUD操作 -为所有主要Pipedrive实体创建、读取、更新和删除支持
- 总共40个工具 -20次读取操作+20次写入操作
- 完成数据访问 -交易、人员、组织、活动、笔记和线索
- 自定义字段支持 -完全访问自定义字段和配置
- 内置安全 -强制确认删除操作,软删除,30天恢复
- 速率限制 -遵守API限制的自动请求节流
- 高级过滤 -按所有者、状态、日期范围、价值等筛选交易。按姓名、电子邮件、组织或电话筛选人员
- 模糊搜索 新
find-person智能模糊匹配评分工具 - 智能错误消息 -搜索未返回结果时的有用建议
- JWT身份验证 -SSE传输的可选JWT安全
- Docker支持 -多阶段构建和容器部署
- 双重运输 -stdio(本地)和SSE(HTTP)模式
设置
标准设置
- 克隆此仓库
- 安装依赖项:
npm install - 创建一个
.env根目录中包含您的配置的文件:PIPEDRIVE_API_TOKEN=your_api_token_here PIPEDRIVE_DOMAIN=your-company.pipedrive.com - 构建项目:
npm run build - 启动服务器:
npm start
Docker设置
选项1:使用Docker Compose(独立)
- 复制
.env.example到.env并配置您的设置:PIPEDRIVE_API_TOKEN=your_api_token_here PIPEDRIVE_DOMAIN=your-company.pipedrive.com MCP_TRANSPORT=sse # Use SSE transport for Docker MCP_PORT=3000 - 使用Docker Compose构建和运行:
docker-compose up -d - 服务器将在以下时间可用
http://localhost:3000- SSE端点:
http://localhost:3000/sse - 健康检查:
http://localhost:3000/health
- SSE端点:
选项2:使用预构建的Docker镜像
从GitHub容器注册表中提取并运行预构建映像:
对于SSE传输(HTTP访问):
docker run -d \
-p 3000:3000 \
-e PIPEDRIVE_API_TOKEN=your_api_token_here \
-e PIPEDRIVE_DOMAIN=your-company.pipedrive.com \
-e MCP_TRANSPORT=sse \
-e MCP_PORT=3000 \
ghcr.io/juhokoskela/pipedrive-mcp-server:main
对于stdio传输(本地使用):
docker run -i \
-e PIPEDRIVE_API_TOKEN=your_api_token_here \
-e PIPEDRIVE_DOMAIN=your-company.pipedrive.com \
ghcr.io/juhokoskela/pipedrive-mcp-server:main
选项3:整合到现有项目中
将MCP服务器添加到现有应用程序的 docker-compose.yml:
services:
# Your existing services...
pipedrive-mcp-server:
image: ghcr.io/juhokoskela/pipedrive-mcp-server:main
container_name: pipedrive-mcp-server
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PIPEDRIVE_API_TOKEN=${PIPEDRIVE_API_TOKEN}
- PIPEDRIVE_DOMAIN=${PIPEDRIVE_DOMAIN}
- MCP_TRANSPORT=sse
- MCP_PORT=3000
- PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS=${PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS:-250}
- PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT=${PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT:-2}
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/health", "||", "exit", "1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
然后将所需的环境变量添加到您的 .env 文件。
环境变量
必修的:
PIPEDRIVE_API_TOKEN-您的Pipedrive API令牌PIPEDRIVE_DOMAIN-您的Pipedrive域(例如。,your-company.pipedrive.com)
可选(JWT身份验证):
MCP_JWT_SECRET-用于身份验证的JWT密钥MCP_JWT_TOKEN-用于身份验证的JWT令牌MCP_JWT_ALGORITHM-JWT算法(默认值:HS256)MCP_JWT_AUDIENCE-JWT观众MCP_JWT_ISSUER-智威汤逊发行人
启用JWT身份验证时,所有SSE请求(/sse 消息端点)必须包含 Authorization: Bearer <token> 使用配置的密钥签名的标头。
可选(速率限制):
PIPEDRIVE_RATE_LIMIT_MIN_TIME_MS-请求之间的最短时间(毫秒)(默认值:250)PIPEDRIVE_RATE_LIMIT_MAX_CONCURRENT-最大并发请求数(默认值:2)
可选(传输配置):
MCP_TRANSPORT-运输类型:stdio(默认,供本地使用)或sse(用于Docker/HTTP访问)MCP_PORT-SSE传输端口(默认值:3000,仅在以下情况下使用MCP_TRANSPORT=sse)MCP_ENDPOINT-SSE的消息端点路径(默认值:/Message,仅在以下情况下使用MCP_TRANSPORT=sse)
与克劳德一起使用
要将此服务器与Claude for Desktop一起使用,请执行以下操作:
- 通过编辑您的
claude_desktop_config.json:
{
"mcpServers": {
"pipedrive": {
"command": "node",
"args": ["/path/to/pipedrive-mcp-server/build/index.js"],
"env": {
"PIPEDRIVE_API_TOKEN": "your_api_token_here",
"PIPEDRIVE_DOMAIN": "your-company.pipedrive.com"
}
}
}
}
- 重新启动桌面版的Claude
- 在Claude应用程序中,您现在应该看到可用的Pipedrive工具
可用工具
读取操作(20个工具)
用户和搜索:
get-users:从Pipedrive获取所有用户/所有者,以识别所有者ID进行过滤search-all:使用改进的错误消息搜索所有项目类型(交易、人员、组织等)
交易:
get-deals:通过灵活的筛选选项(按标题、日期范围、所有者、阶段、状态、值范围等搜索)获得交易get-deal:通过ID(包括自定义字段)获取特定交易get-deal-notes:获取特定交易的详细说明和定制预订详细信息search-deals:按术语搜索交易
人员(新增和改进):
get-persons: 🆕 增强 -通过姓名、电子邮件、电话、组织ID或组织名称进行可选筛选,获取所有人员find-person: ✨ 新 -通过智能评分,在姓名、电子邮件、电话和公司之间使用模糊匹配来查找人员get-persons-by-organization: ✨ 新 -获取属于特定组织的所有人员get-person:通过ID(包括自定义字段)获取特定人员get-person-notes:将所有笔记附加到特定的人身上search-persons: 🆕 增强 -使用改进的错误消息和建议搜索人员search-persons-by-notes:搜索附加了包含特定关键字的注释的人员
组织(新的和改进的):
get-organizations: 🆕 增强 -获取所有可选择按名称筛选的组织get-organization:按ID获取特定组织(包括自定义字段)search-organizations: 🆕 增强 -使用改进的错误消息和建议搜索组织
管道和阶段:
get-pipelines:从Pipedrive获取所有管道get-pipeline:按ID获取特定管道get-stages:从所有管道中获取所有阶段
引导:
search-leads:按术语搜索潜在客户
写入操作(20个工具)
交易操作:
create-deal:使用自定义字段支持创建新交易update-deal:更新现有交易delete-deal:删除交易(软删除,30天恢复,需要确认)
人员操作:
create-person:通过电子邮件和电话支持创建新联系人update-person:更新现有联系人delete-person:删除一个人(软删除,30天恢复,需要确认)
组织运营:
create-organization:创建具有地址支持的新组织update-organization:更新现有组织delete-organization:删除组织(软删除,30天恢复,需要确认)
活动操作:
create-activity:创建任务、电话、会议、截止日期等。update-activity:更新现有活动delete-activity:删除活动(软删除,30天恢复,需要确认)
注释操作:
create-note:为交易、个人、组织或潜在客户创建附加注释update-note:更新笔记内容delete-note:删除注释(需要确认)
领导运营:
create-lead:创建新的潜在客户update-lead:更新现有潜在客户delete-lead:删除潜在客户(需要确认)convert-lead-to-deal:通过转化跟踪将潜在客户转化为交易
安全指南
删除操作:
所有删除操作都需要 confirm: true 参数,以防止意外删除。Pipedrive中的大多数删除都是软删除,恢复期为30天。
恢复: 删除的邮件可以在30天内通过Pipedrive UI恢复:
- 导航到:设置>数据字段>已删除邮件
- 选择项目类型(交易、人员、组织、活动)
- 在要恢复的项目上单击“还原”
最佳实践:
- 删除前始终验证实体ID
- 首先使用搜索/获取操作来确认您的目标是正确的项目
- 记录重要删除内容以供审计
- 在适当的时候考虑存档或更改状态,而不是删除
可用提示
list-all-deals:列出Pipedrive中的所有交易list-all-persons:列出Pipedrive中的所有人员list-all-pipelines:列出Pipedrive中的所有管道analyze-deals:按阶段分析交易analyze-contacts:按组织分析联系人analyze-leads:按状态分析潜在客户compare-pipelines:比较不同的管道及其阶段find-high-value-deals:寻找高价值交易
🔍 搜索改进(v2.1)
该服务器现在包括强大的新搜索和过滤功能,以解决Pipedrive搜索API的常见问题。
关键改进
问题: Pipedrive的本机搜索API由于严格的匹配要求,经常返回空结果。
解决方案: 我们添加了更可靠、更灵活的客户端过滤和模糊匹配工具。
推荐搜索策略
寻找一个人
-
最佳: 使用
find-person模糊匹配find-person({ name: "Piotr", company: "Haleon" }) -
好: 使用
get-persons带过滤器get-persons({ filterName: "Piotr", organizationName: "Haleon" }) -
退路: 使用
search-persons(Pipedrive的API)search-persons({ term: "Piotr" })
寻找一个组织
-
推荐: 使用
get-organizations带过滤器get-organizations({ filterName: "Haleon" }) -
退路: 使用
search-organizations(Pipedrive的API)search-organizations({ term: "Haleon" })
新工具
find-person:模糊匹配,跨多个领域评分get-persons-by-organization:获取特定组织中的所有人员- 增强
get-persons:按姓名、电子邮件、电话、组织进行筛选 - 增强
get-organizations:按名称筛选
智能错误消息
当搜索未返回结果时,您现在将获得有用的反馈:
{
"items": [],
"warning": "No results found using Pipedrive's search API",
"suggestion": "Try using 'find-person' for fuzzy matching",
"possible_reasons": [
"Search term may be too short",
"Pipedrive search requires exact matches",
"Try alternative tools"
]
}
有关所有改进的详细文档,请参阅 改进.md
许可证
麻省理工学院
