Breakcold .NET SDK & CLI(中文可译为):Breakcold .NET软件开发工具包及命令行界面
一个完整的.NET解决方案,用于与(某系统/服务)进行交互 根据提供的信息,以下是翻译结果:“Breakcold API v3”翻译为中文是“Breakcold API 版本3”包括一个库SDK和一个支持MCP(模型上下文协议)服务器的CLI工具。
由来自……的团队用心打造 ❤️ Ivy 框架。
📦 包含内容
- Ivy. 摆脱感冒 - 。NET 9.0 Breakcold API v3 库
- Ivy.Breakcold.Console 可以翻译为:“Ivy(艾薇). 摆脱感冒. 控制台(或台式机,根据上下文确定具体含义)”。不过,这里的“Console”具体含义可能需要根据上下文来确定,因为它在计算机领域通常指控制台或台式机,在其他领域可能有不同的意思。如果是指软件或程序的控制台界面,则可翻译为“控制台界面”或保持“Console”不变 - 适用于Claude Desktop & Claude Code的命令行工具和MCP服务器
🚀 安装
CLI 工具(Ivy.Breakcold.Console)
全局安装CLI工具:
dotnet tool install --global Ivy.Breakcold.Console验证安装:
breakcold --help图书馆(Ivy.Breakcold)
通过 NuGet 安装库:
dotnet add package Ivy.BreakcoldAPI密钥配置
CLI工具支持多种提供API密钥的方法(按优先级顺序列出):
选项1:用户密钥(推荐用于开发环境)
dotnet user-secrets set "Breakcold:ApiKey" "your-api-key-here" --id ivy-breakcold-console选项2:环境变量
Linux/macOS:
export BREAKCOLD_API_KEY="your-api-key-here"Windows(PowerShell):
$env:BREAKCOLD_API_KEY="your-api-key-here"Windows(命令提示符):
set BREAKCOLD_API_KEY=your-api-key-here🤖 MCP服务器集成
Breakcold CLI可以作为MCP(模型上下文协议)服务器,使Claude Desktop和Claude Code能够直接与您的Breakcold CRM进行交互。
可用的MCP工具
当作为MCP服务器运行时,可使用以下23种工具:
用户与工作区:
get_me- 获取当前用户详细信息list_workspaces- 列出所有工作区get_workspace_members- 获取工作区的成员
潜在客户管理:
list_leads- 列出所有来自Breakcold的潜在客户get_lead- 通过ID获取潜在客户信息create_lead- 创建一个新的潜在客户update_lead- 更新潜在客户信息delete_lead- 通过ID删除潜在客户search_leads- 通过查询寻找潜在客户线索
标签管理:
list_tags- 列出所有标签get_tag- 通过ID获取标签create_tag- 创建一个新标签update_tag- 更新一个标签delete_tag- 通过ID删除标签
列表管理:
list_lists- 列出所有列表create_list- 创建一个新列表add_leads_to_list- 将潜在客户添加到列表中
笔记管理:
list_notes- 列出所有笔记get_note- 通过ID获取笔记create_note- 创建一个新笔记
提醒管理:
list_reminders- 列出所有提醒事项create_reminder- 创建一个新的提醒
属性:
list_attributes- 列出所有自定义属性
Claude 桌面版安装
- 找到您的Claude桌面配置文件:
- macOS(发音为/mækOS/,中文常译为“麦奥斯”或直接使用原英文名): ~/Library/Application Support/Claude/claude_desktop_config.json - Windows: %APPDATA%\Claude\claude_desktop_config.json
- 添加Breakcold MCP服务器配置:
{
"mcpServers": {
"breakcold": {
"command": "breakcold",
"args": ["--mcp"],
"env": {
"BREAKCOLD_API_KEY": "your-api-key-here"
}
}
}
}- 重启Claude桌面版
- 现在您应该能在Claude桌面版中看到可用的Breakcold工具。试着询问: *“列出我的Breakcold潜在客户”*
克劳德代码设置
- 找到您的Claude Code MCP设置文件:
- macOS/Linux(注:macOS是苹果公司的操作系统,Linux是一个开源的操作系统): ~/.config/claude-code/mcp_settings.json - Windows: %APPDATA%\claude-code\mcp_settings.json
- 添加Breakcold MCP服务器配置:
{
"mcpServers": {
"breakcold": {
"command": "breakcold",
"args": ["--mcp"],
"env": {
"BREAKCOLD_API_KEY": "your-api-key-here"
}
}
}
}- 重启Claude代码或重新加载MCP服务器
- 在您的编码会话中将可用Breakcold工具。示例提示:
- *“搜索包含‘example.com’的电子邮件线索”* - *“为Jane Smith创建一个新的潜在客户,邮箱为jane@company.com”* - *“显示我所有的Breakcold工作区”*
手动MCP服务器测试
您可以手动测试MCP服务器:
# Start the MCP server (listens on STDIN/STDOUT)
breakcold --mcp
# Send an initialize request (in a separate terminal or via pipe)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | breakcold --mcp💻 CLI 使用方法
用户命令
# Get current user details
breakcold me工作区命令
# List all workspaces
breakcold workspace list
# Get workspace members
breakcold workspace members 领导指令(9条指令)
# List all leads
breakcold lead list
# Get a specific lead by ID
breakcold lead get
# Create a new lead
breakcold lead create --first-name John --last-name Doe --email john@example.com
# Update a lead
breakcold lead update --email newemail@example.com --phone "+1234567890"
# Delete a lead
breakcold lead delete
# Delete multiple leads
breakcold lead delete-many
# Search for leads
breakcold lead search "john"
# Connect lead to company
breakcold lead connect-company
# Disconnect lead from company
breakcold lead disconnect-company 标签命令(5个命令)
# List all tags
breakcold tag list
# Get a tag by ID
breakcold tag get
# Create a new tag
breakcold tag create "Important" --color "#FF0000"
# Update a tag
breakcold tag update --name "High Priority" --color "#00FF00"
# Delete a tag
breakcold tag delete 列出命令(8条命令)
# List all lists
breakcold list all
# Create a new list
breakcold list create "Prospects" --emoji "🎯" --description "Potential customers"
# Update a list
breakcold list update
--name "Hot Prospects"
# Delete a list
breakcold list delete
# Duplicate a list
breakcold list duplicate
# Add leads to a list
breakcold list add-leads
# Move leads to a list
breakcold list move-leads
# Remove leads from a list
breakcold list remove-leads
备注命令(5个命令)
# List all notes
breakcold note list
# Get a note by ID
breakcold note get
# Create a new note
breakcold note create "Follow up tomorrow" --lead-id
# Update a note
breakcold note update --content "Updated note content"
# Delete a note
breakcold note delete 提醒命令(4条命令)
# List all reminders
breakcold reminder list
# Create a new reminder
breakcold reminder create "Call John" --due-date "2024-12-31T10:00:00" --lead-id
# Update a reminder
breakcold reminder update --title "Call John ASAP" --completed true
# Delete a reminder
breakcold reminder delete 状态命令(4条命令)
# Create a new status
breakcold status create "Qualified" --color "#00FF00"
# Update a status
breakcold status update --name "Hot Lead"
# Update many statuses
breakcold status update-many '[{"id":"123","name":"Updated"}]'
# Delete a status
breakcold status delete 属性命令(4条命令)
# List all attributes
breakcold attribute list
# Create a new attribute
breakcold attribute create "Industry" --type "text"
# Update an attribute
breakcold attribute update --name "Company Size"
# Delete an attribute
breakcold attribute delete 📚 API库使用
基本用法
using Ivy.Breakcold;
var client = new BreakcoldClient(new BreakcoldClientOptions
{
ApiKey = "your-api-key-here"
});
// Get current user
var user = await client.Users.GetMeAsync();
Console.WriteLine($"Logged in as: {user.Email}");
// List all leads
var leads = await client.Leads.ListAsync();依赖注入
using Ivy.Breakcold;
using Microsoft.Extensions.DependencyInjection;
var services = new ServiceCollection();
services.AddBreakcoldClient(options =>
{
options.ApiKey = "your-api-key-here";
options.BaseUrl = "https://api.breakcold.com/rest/"; // Optional (default)
options.Timeout = TimeSpan.FromSeconds(30); // Optional (default)
});
var serviceProvider = services.BuildServiceProvider();
var client = serviceProvider.GetRequiredService
();API覆盖率
100%覆盖Breakcold API v3 (9项服务中的45个终端节点)
用户
GetMeAsync()- 获取已认证用户的详细信息
工作区
GetWorkspacesAsync()- 获取用户工作区GetMembersAsync(workspaceId)- 获取工作区的成员
领先者;引导者
CreateAsync(lead)- 创建一个新的潜在客户GetByIdAsync(leadId)- 通过ID获取潜在客户信息UpdateAsync(leadId, lead)- 更新潜在客户信息DeleteAsync(leadId)- 删除潜在客户DeleteManyAsync(leadIds)- 删除多个潜在客户(或销售线索)ListAsync(filters)- 列出带分页和过滤器的潜在客户SearchAsync(query)- 搜索线索ConnectToCompanyAsync(leadId, companyId)- 与一家公司建立联系DisconnectFromCompanyAsync(leadId)- 与一家公司断绝联系/合作关系
标签
ListAsync()- 列出所有标签CreateAsync(tag)- 创建一个新标签GetByIdAsync(tagId)- 通过ID获取标签UpdateAsync(tagId, tag)- 更新一个标签DeleteAsync(tagId)- 删除一个标签
列表
GetAllAsync()- 获取所有列表CreateAsync(list)- 创建一个新列表UpdateAsync(listId, list)- 更新列表DeleteAsync(listId)- 删除一个列表DuplicateAsync(listId)- 复制一个列表AddLeadsAsync(listId, leadIds)- 将多个潜在客户添加到列表中MoveLeadsAsync(listId, leadIds)- 将许多潜在客户添加到列表中RemoveLeadsAsync(listId, leadIds)- 从列表中移除多个潜在客户(或线索)
注释
ListAsync(filters)- 列出带过滤条件的笔记CreateAsync(note)- 创建一个新笔记GetByIdAsync(noteId)- 通过ID获取笔记UpdateAsync(noteId, note)- 更新一条笔记DeleteAsync(noteId)- 删除一个笔记
提醒事项
ListAsync(filters)- 列出带有过滤器和分页功能的提醒事项CreateAsync(reminder)- 创建一个新的提醒UpdateAsync(reminderId, reminder)- 更新提醒DeleteAsync(reminderId)- 删除提醒
状态
CreateAsync(status)- 创建一个新状态UpdateAsync(statusId, status)- 更新状态UpdateManyAsync(statuses)- 更新多个状态DeleteAsync(statusId)- 删除状态
属性
ListAsync()- 列出所有属性CreateAsync(attribute)- 创建一个新属性UpdateAsync(attributeId, attribute)- 更新一个属性DeleteAsync(attributeId)- 删除一个属性
示例
创建潜在客户
var lead = new Lead
{
FirstName = "John",
LastName = "Doe",
Email = "john.doe@example.com",
Phone = "+1234567890"
};
var createdLead = await client.Leads.CreateAsync(lead);
Console.WriteLine($"Created lead: {createdLead.Id}");寻找潜在客户/商机
var results = await client.Leads.SearchAsync("john");
foreach (var lead in results)
{
Console.WriteLine($"{lead.FirstName} {lead.LastName} - {lead.Email}");
}管理标签
// Create a tag
var tag = new Tag
{
Name = "Important",
Color = "#FF0000"
};
var createdTag = await client.Tags.CreateAsync(tag);
// List all tags
var tags = await client.Tags.ListAsync();处理列表
// Create a list
var list = new LeadList
{
Name = "Prospects",
Description = "Potential customers",
Emoji = "🎯"
};
var createdList = await client.Lists.CreateAsync(list);
// Add leads to the list
var leadIds = new List { "lead-id-1", "lead-id-2" };
await client.Lists.AddLeadsAsync(createdList.Id, leadIds);配置
Breakcold客户端选项
ApiKey(必填) - 您的Breakcold API密钥(从https://app.breakcold.com/settings/integrations获取)BaseUrl(可选)- API 基础 URL(默认:https://api.breakcold.com/rest/)Timeout(可选)- HTTP 请求超时时间(默认:30 秒)
🛠️ 开发
从源代码构建
# Clone the repository
git clone https://github.com/ivy-interactive/breakcold-cli.git
cd breakcold-cli
# Build the library
dotnet build Ivy.Breakcold
# Build the CLI tool
dotnet build Ivy.Breakcold.Console
# Run the CLI locally
dotnet run --project Ivy.Breakcold.Console -- me运行测试
# Build in Release mode
dotnet build --configuration Release
# Pack the library
dotnet pack Ivy.Breakcold --configuration Release --output ./packages
# Pack the CLI tool
dotnet pack Ivy.Breakcold.Console --configuration Release --output ./packages
# Install locally for testing
dotnet tool install --global Ivy.Breakcold.Console --add-source ./packages --version 1.0.0
# Test the installed tool
breakcold me🔧 故障排除
未找到CLI工具
如果 breakcold 安装后命令未找到:
# Check if the tool is installed
dotnet tool list --global
# Ensure .NET tools are in your PATH
# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.):
export PATH="$PATH:$HOME/.dotnet/tools"API认证错误
如果你遇到401/403错误:
- 验证您的API密钥是否正确
- 检查API密钥是否已正确设置(尝试使用显式的环境变量)
- 确保API密钥具有必要的权限
# Test with explicit environment variable
BREAKCOLD_API_KEY="your-api-key" breakcold meMCP服务器问题
如果MCP服务器未出现在Claude Desktop/Code中:
- 验证工具是否已全局安装:
breakcold --version - 检查配置文件的语法是否为有效的JSON
- 确保API密钥已正确设置在
env部分;章节 - 配置更改后重启 Claude 桌面/代码环境
- 检查Claude的开发者日志以查找连接错误
📖 文档
- Breakcold API 文档
- 部署指南 - 发布到NuGet的说明
📄 许可证
MIT 许可证 - 详情请参阅 LICENSE 文件
🤝 贡献
欢迎贡献!请随时提交问题或拉取请求。
🙋 支持
对于问题或疑问:
- GitHub Issues: \[仓库URL\]/issues
- Breakcold API文档:https://developer.breakcold.com/v3/api-reference/
