🚀 Coupler.io官方MCP服务器
Coupler.io MCP服务器是一个模型上下文协议(MCP)服务器,可与Coupler.io API实现无缝集成。借助Coupler.io MCP服务器,你可以通过连接到Coupler.io数据流,在Claude中分析多渠道营销、金融、销售、电子商务和其他业务数据 — 从数百个来源查询营销、销售和财务指标。将来自Google Ads、Facebook、HubSpot和Salesforce等平台的原始数据提取并转换为可操作的情报,利用准确、最新的业务信息做出更明智、更快速的决策。
点击查看
🚀 快速开始
前提条件
- 安装 Docker 以在容器中运行服务器。
- 确保Docker正在运行。
- 获取 Coupler.io个人访问令牌。
或者
使用以下命令构建一个 .dxt 文件,并使用它来安装本地MCP。
运行服务器
Claude Desktop
{
"mcpServers": {
"coupler": {
"command": "docker",
"args": [
"run",
"--pull=always",
"-e",
"COUPLER_ACCESS_TOKEN",
"--rm",
"-i",
"ghcr.io/railsware/coupler-io-mcp-server"
],
"env": {
"COUPLER_ACCESS_TOKEN": "<your_token>"
}
}
}
}
⚠️ 重要提示
"--pull=always" 将确保你始终从注册表中拉取最新的镜像。如果你处于离线状态或特别想使用之前拉取的镜像,请删除此行。
✨ 主要特性
使用场景
从你的Coupler.io数据流中获取数据,并向你的AI工具询问相关问题,就像你向数据分析师同事询问一样:
营销:
- 本季度与上一季度相比,我们在所有付费渠道的总体客户获取成本是多少?我需要这个数据用于董事会会议。
- 展示过去6个月各营销渠道的投资回报率明细。我需要重新分配年度预算。
- 哪些营销活动对我们的销售管道收入贡献最大?我想加大对有效的活动的投入。
销售:
- 你能提取本月的销售管道报告吗?我需要查看每个阶段的交易数量和每个阶段的总价值。
- 上个季度我们从潜在客户到销售机会以及从销售机会到成交的转化率是多少?与我们的目标相比如何?
- 根据概率得分,本月预计有多少交易将成交?我们的预测收入与月度目标相比如何?
财务:
- 查看本季度的利润,与上一季度进行比较,并按部门提供明细。
- 你能提供过去30天的现金流量报告吗,包括所有的收入和支出交易?
- 分享当前的应收账款状态,并告诉我我们有多少逾期发票以及哪些客户欠款最多。
📦 安装指南
开发环境安装
安装NodeJS
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf install
安装依赖
npm install
安装Git钩子
lefthook install
设置环境变量
cp .env.example .env.local
💻 使用示例
基础用法
使用原始服务器
运行MCP服务器:
# 使用 `--silent` 标志防止NPM日志输出到STDOUT,以免破坏服务器传输
npm run --silent dev
注意:在 此检查器错误 修复之前,请确保始终只打开一个检查器标签。
# 运行此命令并按照说明查看检查器
npm run inspect:node
查看日志
我们的本地MCP服务器使用STDIO传输,因此日志必须记录到文件中。这在调试时可能会很有用。
tail -f log/development.log | npx pino-pretty
你还可以在运行服务器时设置 LOG_STDIO=1 以将STDIO消息捕获到日志文件中。如果你正在调试容器化服务器,可能需要在 /app/log 挂载一个目录以访问它生成的日志。
高级用法
使用开发Docker镜像
构建开发用的Docker镜像:
bin/build_image
你现在可以使用MCP检查器以UI模式运行容器进行调试:
npm run inspect:docker
或者在Claude Desktop中运行容器,使用项目中的 .env.local 文件进行配置。获取你的环境文件的绝对路径 realpath .env.local。导航到设置 > 开发者 > 编辑配置。编辑你的 claude_desktop_config.json,为我们的服务器添加一个条目:
{
"mcpServers": {
"coupler-io-mcp-server-development": {
"command": "docker",
"args": [
"run",
"--env-file",
"/path/to/your/.env.local",
"--add-host",
"storage.test=host-gateway",
"--add-host",
"lvh.me=host-gateway",
"--rm",
"-i",
"coupler-io-mcp-server-development"
]
}
}
}
或者直接使用Docker运行镜像:
docker run --env-file .env.local \
--add-host storage.test=host-gateway \
--add-host lvh.me=host-gateway \
--rm \
-i \
coupler-io-mcp-server-development
使用MCP检查器
以CLI模式使用MCP检查器 对服务器进行快速测试:
# 列出工具
npx @modelcontextprotocol/inspector --cli npm run dev --method tools/list
# 调用list-dataflows工具
npx @modelcontextprotocol/inspector --cli npm run dev --method tools/call --tool-name list-dataflows
# 调用get-schema工具
npx @modelcontextprotocol/inspector --cli npm run dev --method tools/call --tool-name get-schema --tool-arg dataflowId=<your data flow ID>
针对Coupler.io暂存环境测试Docker镜像
我们在每次推送到 main 分支时都会构建并发布一个标记为 edge 的MCP服务器Docker镜像。
配置Claude Desktop以针对Coupler.io暂存环境运行Docker容器。导航到设置 > 开发者 > 编辑配置。编辑你的 claude_desktop_config.json,为暂存服务器添加一个条目:
{
"mcpServers": {
"coupler-io-mcp-server-staging": {
"command": "docker",
"args": [
"run",
"-e",
"COUPLER_ACCESS_TOKEN",
"--env",
"COUPLER_API_HOST=https://app.couplerstaging.dev/mcp",
"--rm",
"-i",
"ghcr.io/railsware/coupler-io-mcp-server:edge"
],
"env": {
"COUPLER_ACCESS_TOKEN": "<your_coupler_access_token_from_staging>"
}
}
}
}
[可选] 通过添加以下参数启用日志记录以进行调试:
"--env",
"LOG_LEVEL=debug",
"--env",
"LOG_STDIO=1",
构建并推送发布镜像
开发周期如下:
- 打开一个包含更改的PR
- 使用标记为
pr-N 的镜像调试和测试你的更改
- 将PR合并到
main 分支
- 测试
edge 镜像
- 构建并推送标记为
latest 的发布镜像
要构建并推送发布镜像:
你现在应该能够对发布镜像进行快速测试:
# 拉取 `latest` 镜像
docker pull ghcr.io/railsware/coupler-io-mcp-server
使用Claude Desktop和其他受支持的客户端运行发布镜像。
Claude Desktop扩展(DXT)
构建并自签名
bin/build_dxt # => dxt_output/coupler-mcp.dxt
npm run dxt:selfsign
你现在可以安装 .dxt 文件,或者使用 dxt/ 目录中的内容从开发者菜单加载未打包的扩展。
🔧 技术细节
工具
数据流工具
| 工具名称 |
详情 |
| get-data |
获取数据流运行结果作为SQLite文件,并对其执行只读查询。要从Coupler.io数据流获取数据,数据流需要有AI目标。参数:dataflowId(数据流ID,字符串,必需),executionId(数据流运行ID,字符串,必需),query(要在数据流SQLite文件上运行的查询,字符串,必需) |
| get-schema |
获取数据流架构文件。目前仅支持从仪表板或数据集模板构建的数据流。参数:dataflowId(数据流ID,字符串,必需),executionId(数据流运行ID,字符串,必需) |
| list-dataflows |
获取具有AI目标的数据流列表。参数:dataflowId(数据流ID,字符串,必需),executionId(数据流运行ID,字符串,必需) |
| get-dataflow |
获取有关数据流的元数据,如数据源、数据连接、上次成功执行和错误详细信息(如果存在)。参数:dataflowId(数据流ID,字符串,必需),executionId(数据流运行ID,字符串,必需) |
📄 许可证
本项目根据MIT开源许可证的条款进行许可。请参考 MIT 获取完整条款。