这是一个连接到Pipedrive API v2的模型上下文协议(MCP)服务器。它允许您将Pipedrive的数据和功能暴露给像Claude这样的大型语言模型应用程序。
npm install
.env文件并配置您的设置:
PIPEDRIVE_API_TOKEN=your_api_token_here
PIPEDRIVE_DOMAIN=your-company.pipedrive.com
npm run build
npm start
.env.example复制为.env并配置您的设置:
PIPEDRIVE_API_TOKEN=your_api_token_here
PIPEDRIVE_DOMAIN=your-company.pipedrive.com
MCP_TRANSPORT=sse # 使用SSE传输方式
MCP_PORT=3000
docker-compose up -d
http://localhost:3000可用
http://localhost:3000/ssehttp://localhost:3000/health从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
在您现有的应用的docker-compose.yml中添加MCP服务器:
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=3
- 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发行人当启用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一起使用:
claude_desktop_config.json来配置桌面版Claude:{
"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"
}
}
}
}
get-users:获取Pipedrive中的所有用户/所有者,以识别过滤器的所有者IDget-deals:根据灵活的过滤选项获取交易(按标题、日期范围、所有者、阶段、状态、价值范围等搜索)get-deal:通过ID获取特定交易(包括自定义字段)get-deal-notes:获取特定交易的详细笔记和自定义预订详情search-deals:按术语搜索交易get-persons:获取Pipedrive中的所有人(包括自定义字段)get-person:通过ID获取特定人(包括自定义字段)search-persons:按术语搜索人get-organizations:获取Pipedrive中的所有组织(包括自定义字段)get-organization:通过ID获取特定组织(包括自定义字段)search-organizations:按术语搜索组织get-pipelines:获取Pipedrive中的所有管道get-pipeline:通过ID获取特定管道get-stages:获取所有管道的所有阶段search-leads:按术语搜索潜在客户search-all:跨所有项目类型搜索(交易、人员、组织等)list-all-deals:列出Pipedrive中的所有交易list-all-persons:列出Pipedrive中的所有人list-all-pipelines:列出Pipedrive中的所有管道analyze-deals:按阶段分析交易analyze-contacts:按组织分析联系人analyze-leads:按状态分析潜在客户compare-pipelines:比较不同的管道及其阶段find-high-value-deals:查找高价值交易MIT