关于 recordcrm
recordcrm 是面向 Attio CRM 的客户端,提供命令行工具和 stdio MCP 服务。它通过 Attio API v2 支持记录、公司、交易、列表及工作区成员的部分操作。
主要功能
- 01按文本或筛选条件搜索记录
- 02创建和读取记录
- 03创建和更新公司及交易
- 04列出工作区列表及其条目
- 05查询工作区成员
适用场景
- 01按查询词或筛选条件查找 CRM 记录
- 02创建或更新公司与交易数据
- 03查看记录及属性选项
- 04查看列表和工作区成员
MCP 相关
它可作为 stdio MCP 服务运行,并向 MCP 客户端提供 Attio 记录、公司、交易、列表和成员操作工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
12收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | number | 否 | 要返回的记录数上限。 |
| query | string | 否 | 自由文本搜索查询。 |
| object | string | 是 | 对象的 slug 或 ID,例如 companies、people 或 deals。 |
详细介绍
recordcrm
recordcrm 是一个轻量的 Attio CRM 客户端:它可以通过自由文本或结构化筛选条件搜索记录,在任意对象中创建记录,读取单条记录或属性的定义和选项,创建和更新公司及交易记录,列出工作区列表及其条目,并查找工作区成员——所有操作均通过 Attio API v2 完成。
此软件包是一次洁净室重建,属于标注的核心子集:它涵盖了原始 Attio MCP 服务中记载的 19 项通用操作中的 12 项,以及限定范围的写入操作。未包含的操作列在下方的“范围”部分。
与服务的通信方式
每个工具都需要 Attio API 令牌:
export ATTIO_API_KEY="your token"
# ATTIO_ACCESS_TOKEN is accepted as a fallback when ATTIO_API_KEY is unset.
# Optional override (default: https://api.attio.com/v2)
export ATTIO_API_URL="https://api.attio.com/v2"
如果未设置令牌,每次调用都会在发出任何请求之前失败,并提示错误中包含 ATTIO_API_KEY。
**线格式说明:**原项目的 README 介绍了各工具及其用途;此处的端点格式遵循公开的 Attio API v2,并且是有文档记录的重建版本。记录位于 /v2/objects/{object}/records 下;记录搜索会向记录查询端点(.../records/query)发送 POST 请求,如果提供了查询词,则使用 full_text 查询子句;如果使用高级搜索,则使用 filter 对象;写入时会将属性值包装为 { "data": { "values": ... } };属性选项则从 /v2/objects/{object}/attributes/{attribute} 的属性定义中读取。响应会解析为 JSON(空的成功响应正文会读取为 { "status": "ok" }),上游 HTTP 错误会报告其状态和正文文本。
安装
npx @reneturcios/recordcrm records_search '{"object":"companies","query":"acme"}'
或者运行容器镜像:
docker run -i ghcr.io/cloudcorprecords/recordcrm
容器默认启动 MCP 服务。传入 CLI 参数即可将其用作 CLI。
CLI
CLI 与各工具一一对应:每个工具都有一个子命令,参数以单个 JSON 对象的形式传入。
recordcrm records_search '{"object":"companies","query":"acme","limit":5}'
recordcrm records_search_advanced '{"object":"companies","filters":{"name":{"$contains":"acme"}}}'
recordcrm records_create '{"object":"people","data":{"name":[{"value":"Ada"}]}}'
recordcrm records_get_info '{"object":"people","record_id":"..."}'
recordcrm lists_list '{}'
recordcrm --version
退出代码:成功时为 0;发生 API 或验证错误时为 1(错误会说明问题);用法错误时为 2。
MCP 服务
一个二进制文件提供这两种用法。mcp 子命令会启动一个 stdio MCP 服务:
npx -y @reneturcios/recordcrm mcp
MCP 客户端配置:
{
"mcpServers": {
"recordcrm": {
"command": "npx",
"args": ["-y", "@reneturcios/recordcrm", "mcp"],
"env": { "ATTIO_API_KEY": "your token" }
}
}
}
工具
| 工具 | 输入 | 功能 |
|---|---|---|
records_search | object(必需)、query、limit | 根据自由文本查询搜索对象中的记录。 |
records_search_advanced | object(必需)、filters(必需)、limit | 使用结构化筛选条件搜索对象中的记录。 |
records_create | object(必需)、data(必需) | 根据属性值在对象中创建记录。 |
records_get_info | object(必需)、record_id(必需) | 根据 ID 获取对象中的一条记录。 |
records_get_attribute_options | object(必需)、attribute(必需) | 获取属性定义,包括其选择项。 |
companies_create | data(必需) | 根据属性值创建公司记录。 |
companies_update | record_id(必需)、data(必需) | 根据 ID 更新公司记录。 |
deals_create | data(必需) | 根据属性值创建交易记录。 |
deals_update | record_id(必需)、data(必需) | 根据 ID 更新交易记录。 |
lists_list | — | 列出工作区中的所有列表。 |
list_entries_list | list(必需)、limit | 列出列表中的条目。 |
workspace_members_get | workspace_member_id(必需) | 根据 ID 获取一名工作区成员。 |
范围
本核心子集中未包含:records_search_by_relationship、
records_get_interactions、records_batch、通用的
records_update / records_delete 操作、lists_create、
lists_update_configuration、list_entries_filter、
list_entries_manage、records_get_list_memberships、
diagnostics_get,以及通用的笔记 / 任务操作。原项目的字段映射配置
也未在此复现:此子集直接以 Attio API 格式传递属性值和筛选条件。
搜索结果、记录内容和列表数据均由上游 Attio 服务生成;此软件包复现的是
工具接口以及请求 / 响应处理,而不是该服务的数据。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev # run the CLI from source via tsx
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。