Autopista MCP
描述
MCP服务器(Model Context Protocol),为Medicus生态系统的MixPanel Analytics和Hubspot CRM提供查询工具。它允许克劳德直接从对话中查询事件、联系人、交易、承诺、自定义对象和度量。
它支持两种运输方式:
- 标准:适用于克劳德代码y克劳德桌面(本地)
- HTTP流式传输:对于Claude.ai网站和远程部署,通过Keycloak使用Oauth 2.1进行保护
可用工具(31个工具)
混音面板(6):分段、导出事件、配置文件、漏斗、保留、jcl
Hubspot-联系人(9):search_contacts、get_contact、get_contact_notes、get_contack_calls、get_tact_email、get_tact_tasks、get_catch_meetings、get_catc_deals、get_tack_communications
HubSpot-优惠信息(8):搜索文件、获取文件、获取注释、获取调用、获取电子邮件、获取任务、获取会议、获取通信、获取联系人
HubSpot-元数据(4):list_pipelines、list_owners、get_owner、get_properties
HubSpot-自定义对象(3):list_schemas、get_contact_custom_objects、get_deal_custom_objects
知识(4):项目信息、搜索事件、搜索子论坛、生态系统概述
音频自动转录
当通过TimelineSai查询通信(WhatsApp)时,音频文件 .oga 它们使用OpenAI Whisper自动转录为文本。转录取代了对 [attachment.oga] 为了 [Audio transcripto]: "texto"。需要 OPENAI_API_KEY y el示波器 files 在Hubspot的私人应用程序中。
先决条件
- Node.js>=22.x
- MixPanel服务帐户(角色分析师)
- HubSpot专用应用程序(范围:CRM只读+
files) - Docker(用于远程部署)
- Keycloak(仅在HTTP模式下)
克隆存储库
git clone https://gitlab.medicus.com.ar/servicios/autopista-mcp.git
cd autopista-mcp安装和配置
npm install
cp .env.example .env
# Editar .env con las credenciales reales环境变量:
| 变量 | 需要 | 描述 |
|---|---|---|
MIXPANEL_SERVICE_ACCOUNT_USERNAME | Si | Mixpanel服务帐户的用户名 |
MIXPANEL_SERVICE_ACCOUNT_SECRET | Si | 特勤局帐户 |
MIXPANEL_PROJECT_ID | 如果 | MixPanel中的项目数字ID |
MIXPANEL_REGION | 否 | 数据区域: us 哦 eu (默认值: us) |
HUBSPOT_ACCESS_TOKEN | 如果 | 点击Hubspot的私人应用程序 |
OPENAI_API_KEY | 没有 | OpenAI通过Whisper转录音频的关键API |
KEYCLOAK_URL | HTTP | 基于URL的密钥斗篷 |
KEYCLOAK_REALM | HTTP | 密钥斗篷领域 |
KEYCLOAK_CLIENT_ID | HTTP | Keycloak中的客户端ID DEL客户端 |
KEYCLOAK_CLIENT_SECRET | HTTP | 客户端密码 |
KEYCLOAK_REQUIRED_ROLE | 没有 | 访问所需的角色。 * =所有已验证的(默认: *) |
MCP_BASE_URL | HTTP | MCP服务器公共URL |
TRANSPORT | 否 | 运输方式: stdio 哦 http (默认值: stdio) |
APP_PORT | 否 | Puerto HTTP(默认值: 3000只有HTTP模式。 |
LOG_LEVEL | 否 | 日志级别: debug, info, warn, error |
执行
Modo stdio(克劳德代码/克劳德桌面)
npm run build
npm startHTTP模式(claude.ai/远程部署)
npm run build
TRANSPORT=http npm start码头工人
docker build -t autopista-mcp .
docker run -p 3000:3000 --env-file .env -e TRANSPORT=http autopista-mcp注册克劳德代码
claude mcp add --transport stdio autopista -- node /ruta/completa/dist/index.js在克劳德桌面上注册
编辑 %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"autopista": {
"command": "node",
"args": ["/ruta/completa/autopista-mcp/dist/index.js"],
"env": {
"MIXPANEL_SERVICE_ACCOUNT_USERNAME": "...",
"MIXPANEL_SERVICE_ACCOUNT_SECRET": "...",
"MIXPANEL_PROJECT_ID": "...",
"HUBSPOT_ACCESS_TOKEN": "...",
"OPENAI_API_KEY": "..."
}
}
}
}注册到claude.ai(网站)
- 在可访问的服务器上使用Docker部署
- Ir a设置>连接器>添加自定义连接器
- 输入URL:
https://tu-servidor/mcp - 用户使用其Medicus凭据通过Keycloak进行身份验证
身份验证和授权(HTTP模式)
HTTP模式使用OAuth 2.1和Keycloak作为身份提供程序:
- MCP客户端连接到
/mcp - 服务器以401响应并启动OAuth流
- 用户被重定向到Medicus的Keycloak登录
- 经过身份验证后,Keycloak返回带有用户角色的JWT
- 服务器验证JWT并验证用户是否具有在中配置的角色
KEYCLOAK_REQUIRED_ROLE
角色设置:
KEYCLOAK_REQUIRED_ROLE=*→任何经过身份验证的用户都可以访问KEYCLOAK_REQUIRED_ROLE=mcp-user→仅限具有角色的用户mcp-user在键盘上
测试
# Verificar build
npm run build
# Test con MCP Inspector
npm run inspect
# Health check (modo HTTP)
curl http://localhost:3000/healthAPI 文档
访问文档:http://localhost:3000/api-Docs(仅在HTTP模式下)
