mcpField
G
Gorelo

Gorelo

本地服务
github.com商业与营销01 周前更新

关于 Gorelo

Gorelo 是面向使用 Gorelo PSA REST API 的团队的 MCP 服务,适用于管理客户运营的服务提供商。它覆盖工单、资产、账单、项目、文档、提醒和工时记录,并可配置工具权限层级。

主要功能

  1. 01访问工单、客户和联系人
  2. 02管理资产和运行时间检查
  3. 03查看账单并记录工时
  4. 04处理项目、文档和提醒
  5. 05配置读取、写入及破坏性工具

适用场景

  1. 01查看客户工单和联系人详情
  2. 02跟踪受管资产和自定义资产
  3. 03检查发票、合同和工时记录
  4. 04为客户监控事件创建提醒

MCP 相关

将 Gorelo Public API 操作公开为 MCP 工具,共有 112 个工具,可配置读取、写入和破坏性操作层级。支持 stdio 和 HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wyre-ai-gorelo": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GORELO_API_KEY",
"-e",
"GORELO_REGION",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/gorelo-mcp:v1.1.1"
],
"env": {
"GORELO_API_KEY": "<GORELO_API_KEY>",
"GORELO_REGION": "<GORELO_REGION>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
启动命令docker run -i --rm -e GORELO_API_KEY -e GORELO_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/gorelo-mcp:v1.1.1
需要配置的环境变量
GORELO_API_KEY密钥Gorelo Public API key for the tenant, sent as the X-API-Key header.
GORELO_REGIONGorelo regional API host: us (default) or au.
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODE密钥Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocighcr.io/wyre-ai/gorelo-mcp:v1.1.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Gorelo MCP 服务

适用于 AI 助手和 WYRE Conduit 网关的 Gorelo PSA(专业服务自动化)REST API MCP 服务,全面覆盖公共 API(工单、客户、联系人、资产、账单、项目、文档、警报等)。

身份验证

为你的 Gorelo 组织生成 API 密钥,并将其作为 X-API-Key 请求头发送——此服务会在每次请求中处理该操作。无需交换令牌。

配置

复制 .env.example,并设置以下变量。

环境变量说明
GORELO_API_KEY用于 stdio 和 AUTH_MODE=env 的 Gorelo 公共 API 密钥。网关 Compose 服务不会读取此变量。
GORELO_REGIONus(默认值)或 au——账户所在区域的 API 主机。不是凭据。
MCP_TRANSPORTstdio(默认值)或 http。
AUTH_MODEenv(默认值,读取上述变量)或 gateway(凭据由 Conduit 网关注入,并通过每个请求的 X-Gorelo-* 请求头传入)。网关模式绝不会回退到 GORELO_API_KEY。容器映像和 Compose 的默认值为 gateway。
CONDUIT_S2S_SECRET启动 HTTP 传输时必需。如果值为空或为已知占位值(changeme、change-me、secret、example、placeholder、replace-me、your-secret、your-s2s-secret、s2s-secret、replace-with-a-real-secret),进程会记录错误并以非零状态退出。未设置此值时,Compose 不会启动。切勿提交真实值。此值绝不会被记录。
MCP_ALLOW_INSECURE_DEV仅用于本地开发,且必须恰好设为 1,以便在没有 CONDUIT_S2S_SECRET 的情况下启动 HTTP。进程会记录警告,不会强制校验 X-Gateway-S2S,且只绑定到 127.0.0.1。如果 MCP_HTTP_HOST 不是环回地址,则会被覆盖并记录。占位密钥仍会导致启动失败。
MCP_HTTP_HOST配置密钥后使用的绑定地址。未设置时为 0.0.0.0。容器映像设为 0.0.0.0。没有密钥时,将改用 127.0.0.1,忽略此变量。
MCP_HTTP_PORTHTTP 端口。默认为 8080。
GORELO_PRESET、GORELO_ENABLE_DESTRUCTIVE、GORELO_ENABLE_BILLING_WRITES、GORELO_TOOLS_INCLUDE、GORELO_TOOLS_EXCLUDE工具选择;参见工具选择。
LOG_LEVELdebug | info(默认值)| warn | error。

/health 无需身份验证,不会调用 getCredentials(),也不会返回 API 密钥。stdio 传输不会使用 CONDUIT_S2S_SECRET。

HTTP 身份验证

设置 MCP_TRANSPORT=http 和 CONDUIT_S2S_SECRET 后,每个 /mcp 请求都必须包含 X-Gateway-S2S。其值格式为 t=<unix seconds>,v1=<hex hmac-sha256>,其中 HMAC 是使用 CONDUIT_S2S_SECRET 作为密钥,对字面字符串 t=<unix seconds> 计算得到的 SHA-256。缺少请求头或请求头无效时,返回 401。该验证信息在时钟误差为五分钟以内时有效。

在 AUTH_MODE=gateway 模式下,/mcp 还要求提供 X-Gorelo-Api-Key。X-Gorelo-Region 为可选项;如果提供,其值必须恰好为 us 或 au,否则返回 400。该请求的凭据仅来自 API 密钥请求头。缺少密钥时返回 401,且不会回退到 GORELO_API_KEY。

POST /mcp HTTP/1.1
X-Gateway-S2S: t=1710000000,v1=<hmac-sha256 hex of "t=1710000000">
X-Gorelo-Api-Key: <tenant api key>
X-Gorelo-Region: us
请求限制
  • HTTP 请求正文上限为 256 KiB(262144 字节)。X-Gateway-S2S 校验通过后,如果 Content-Length 超出上限,则返回包含 JSON-RPC 错误的 413;没有 Content-Length 的正文则由 MCP SDK 传输限制。未经身份验证的请求仍会先收到 401。
  • tools/call 参数上限为 10,000 个元素(包括任意深度的每个数组项和对象键)。超出上限的输入会返回 isError 工具结果,且绝不会被分发。

这些限制用于应对 CVE-2026-111768 / GHSA-46jr-4wx8-v453(验证期间的内存耗尽)和 GHSA-f897-62hf-6gxq(缺少请求正文和批次上限)。

工具

112 个工具,在构建时根据 Gorelo 的 OpenAPI 规范生成(spec/gorelo-openapi.json,于 2026-10-20 获取:117 个操作,排除 5 个)。名称遵循 gorelo_<verb>_<noun> 格式。早期版本中的 24 个读取工具保留原名;其参数未变(筛选条件使用 pageSize/statusIds 等 camelCase 名称,数组形式;get_client/get_contact/get_asset/get_time_entry 工具使用 id)。

级别根据 HTTP 方法划分:

TierMethodsCountAnnotationsDefault
读取GET58readOnlyHint: true开启
写入POST / PUT / PATCH36readOnlyHint: false,destructiveHint: false开启(网关会控制写入),但账单写入除外(见下文)
破坏性DELETE18readOnlyHint: false,destructiveHint: true关闭;设置 GORELO_ENABLE_DESTRUCTIVE=true

标记为 admin 的写入工具可创建或更改客户、联系人、商品目录、发票或付款。

默认情况下,金钱相关操作为只读:除时间条目外,Billing 标签下的四个写入操作(gorelo_create_invoice、gorelo_create_payment、gorelo_create_item、gorelo_update_item,即所有非 DELETE 写入操作)会从 tools/list 中隐藏,且调用时会被拒绝,除非设置 GORELO_ENABLE_BILLING_WRITES=true。readonly 预设会一律隐藏这些操作。Billing 下的 DELETE 操作属于普通的破坏性工具。时间条目的创建/更新不受影响。

机器可读的分类(read / write / destructive / admin / billing_write / excluded_binary / excluded_sensitive)由 node scripts/generate-tools.mjs --tiers <file> 生成。

请求正文通过单个 body 参数传递(即 Gorelo 为该端点说明的 JSON 对象)。多值筛选条件(statusIds、clientIds 等)使用数组,并以逗号拼接后发送。

警报
工具级别描述
gorelo_list_alerts读取列出 Gorelo 中所有客户的警报。
gorelo_create_alert写入在 Gorelo 中针对某个客户发出新警报,例如来自外部监控工具的警报。
资产
工具级别描述
gorelo_get_assetread按 ID 获取单个 Agent(受管理设备)资产。
gorelo_get_custom_assetread按 ID 获取单个自定义资产。
gorelo_get_uptime_checkread按 ID 获取单个运行时间检查。
gorelo_list_assetsread使用游标分页列出服务提供商的 Agent(受管理设备)资产。结果按 createdOn 降序排列(最新的在前)。
gorelo_list_custom_asset_hardware_typesread列出自定义资产可使用的硬件类型。
gorelo_list_custom_assetsread使用游标分页列出服务提供商的自定义(非 Agent)资产。结果按 createdOn 降序排列(最新的在前)。
gorelo_list_uptime_checksread使用游标分页列出服务提供商的运行时间检查。结果按 createdOn 降序排列(最新的在前)。
gorelo_create_custom_assetwrite创建自定义资产,即没有安装 Gorelo Agent 的设备,例如打印机或防火墙。请使用 gorelo_list_custom_asset_hardware_types 获取有效的硬件类型。
gorelo_create_uptime_checkwrite创建运行时间检查,按计划对主机执行 ping、请求网址或连接 TCP 端口。
gorelo_update_custom_assetwrite更新自定义资产。仅发送要更改的字段。
gorelo_update_uptime_checkwrite更新运行时间检查。仅发送要更改的字段。
gorelo_delete_assetdestructive从 Gorelo 删除受管理设备(Agent 资产)。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_custom_assetdestructive从 Gorelo 删除自定义资产。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_uptime_checkdestructive删除运行时间检查并停止相应监控。此操作具有破坏性,且无法通过 Conduit 撤销。
计费
工具层级描述
gorelo_get_contractread获取一份合同,包括每条服务项目中的产品和人工。
gorelo_get_invoiceread获取一张发票,包括其附件和明细项。
gorelo_get_itemread根据 ID 获取一个目录项目(产品或组合包)。
gorelo_get_time_entryread获取一条工时记录。
gorelo_list_billing_rolesread列出为服务提供商配置的计费角色。记录工单工时时,使用角色的 Id 作为 BillingRoleId。
gorelo_list_contractsread列出计费合同,以及每份合同包含的服务项目。
gorelo_list_invoicesread列出服务提供商的发票,并按条件筛选和排序。
gorelo_list_item_categoriesread列出产品所属的类别及其子类别。
gorelo_list_itemsread列出服务提供商的项目目录,包括产品和组合包。
gorelo_list_taxesread列出为服务提供商配置的税率。
gorelo_list_time_entriesread列出所有工单和任务中的工时记录,并根据筛选条件缩小范围。
gorelo_list_work_typesread列出为服务提供商配置的工作类型。记录工单工时时,使用工作类型的 Id 作为 WorkTypeId。
gorelo_create_invoicewrite (admin, billing)为客户开具手动发票,并添加明细项。
gorelo_create_itemwrite (admin, billing)在项目目录中创建产品或组合包。
gorelo_create_paymentwrite (admin, billing)记录通过 Gorelo 之外的渠道收到的付款,并将其关联到已批准的发票。
gorelo_create_time_entrywrite记录工单工时。
gorelo_update_itemwrite (admin, billing)部分更新项目。仅发送需要更改的字段。
gorelo_update_time_entrywrite部分更新工时记录。仅发送需要更改的字段。
gorelo_delete_contractdestructive从 Gorelo 删除计费合同。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_invoicedestructive根据发票状态删除或作废发票。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_itemdestructive从项目目录中删除产品或组合包。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_paymentdestructive删除通过 Gorelo API 记录的付款,例如通过 gorelo_create_payment 记录的付款。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_time_entrydestructive删除已记录的工时。此操作具有破坏性,且无法通过 Conduit 撤销。
客户
工具层级描述
gorelo_get_clientread根据 id 获取单个客户。
gorelo_list_client_locationsread列出指定客户的地点。
gorelo_list_clientsread使用游标分页列出服务提供商的客户。结果按客户 id 升序排列(最早的在前)。
gorelo_create_clientwrite (admin)为服务提供商创建客户(及其默认地点)。
gorelo_update_clientwrite (admin)更新现有客户。仅更改已提供的非 null 字段。
gorelo_delete_clientdestructive从 Gorelo 删除客户。此操作具有破坏性,且无法通过 Conduit 撤销。
联系人
工具权限级别描述
gorelo_get_contact读取按 ID 获取单个联系人。
gorelo_list_contacts读取使用游标分页列出服务提供商的联系人,可按客户筛选。结果按联系人 ID 升序排列(最早的在前)。
gorelo_create_contact写入(管理员)在客户下创建联系人;如果未提供客户,则创建临时联系人。
gorelo_update_contact写入(管理员)更新联系人。仅发送要更改的字段。
gorelo_delete_contact破坏性操作从 Gorelo 中删除联系人。此操作具有破坏性,且无法通过 Conduit 撤销。
删除记录
工具权限级别描述
gorelo_list_deletions读取列出已删除的记录,以便通过此 API 保持同步的副本可以将其移除。使用游标分页,结果先按 DeletedOn 升序排列,再按类型 ID 排序,最后按 ID 排序。
文档
工具权限级别描述
gorelo_get_document读取获取单个文档。
gorelo_get_document_version读取获取文档的一个版本,包括正文和附件。
gorelo_list_document_related_items读取列出与文档相关的记录。
gorelo_list_document_versions读取列出文档的所有版本,最新版本在前。
gorelo_list_documents读取列出服务提供商的文档。
gorelo_create_document写入创建包含 HTML 正文的文档,可用于客户或内部用途,也可选择嵌套在另一个文档下。
gorelo_create_document_related_item写入将文档关联到其他记录。
gorelo_duplicate_document写入复制文档并创建为新文档。
gorelo_restore_document_version写入将较早的版本设为当前版本。
gorelo_update_document写入更新文档的标题、正文或位置。仅发送要更改的字段。
gorelo_delete_document_related_item破坏性操作从文档中移除一个关联项。
表单
工具权限级别描述
gorelo_list_form_responses读取列出表单已提交的回复,最新的在前。
gorelo_list_forms读取列出服务提供商的表单,最近更新的在前。
gorelo_create_form_submission_link写入创建一个链接,供他人填写并提交此表单。
组织
工具权限级别描述
gorelo_list_api_keys读取列出你的 Gorelo API 密钥,最新的在前。仅显示名称和详细信息,不会显示密钥值。
gorelo_list_groups读取列出为服务提供商配置的技术人员组。
gorelo_list_users读取使用游标分页列出服务提供商的用户(技术人员)。结果按用户 ID 升序排列(最早的在前)。
项目
工具层级描述
gorelo_get_projectread获取单个项目。
gorelo_get_project_commentread返回项目的一条评论。
gorelo_get_project_taskread完整返回单个任务。
gorelo_get_project_task_approvalread获取任务的一项审批及其审批人。
gorelo_get_project_task_commentread返回任务的一条评论。
gorelo_list_project_commentsread返回项目的评论,按时间从新到旧排列。
gorelo_list_project_sectionsread列出项目的分区。
gorelo_list_project_tagsread列出为服务提供商配置的项目标签。
gorelo_list_project_task_commentsread返回任务的评论,按时间从新到旧排列。
gorelo_list_project_task_conversationsread列出任务的对话。
gorelo_list_project_tasksread列出项目的任务。
gorelo_list_project_typesread列出为服务提供商配置的项目类型。
gorelo_list_projectsread列出项目,按最新活动时间从近到远排列。
gorelo_create_projectwrite在 Gorelo 中创建项目。
gorelo_create_project_commentwrite在项目上发布评论。
gorelo_create_project_sectionwrite在项目中添加分区。
gorelo_create_project_taskwrite在项目看板上创建任务。
gorelo_create_project_task_approvalwrite请求联系人审批任务中的某项内容。
gorelo_create_project_task_commentwrite在任务上发布评论。
gorelo_create_project_task_side_conversationwrite在任务上发起侧边对话。
gorelo_update_projectwrite更新项目。仅发送要更改的字段。
gorelo_update_project_sectionwrite更新分区的标题或颜色。仅发送要更改的字段。
gorelo_update_project_taskwrite更新任务。仅发送要更改的字段。
gorelo_delete_projectdestructive删除项目及其中的所有任务。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_project_commentdestructive删除项目的一条评论。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_project_sectiondestructive删除项目分区及其中的所有任务。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_project_taskdestructive删除项目任务。此操作具有破坏性,且无法通过 Conduit 撤销。
gorelo_delete_project_task_commentdestructive删除任务的一条评论。此操作具有破坏性,且无法通过 Conduit 撤销。
工单
工具级别描述
gorelo_get_ticketread获取单个工单。
gorelo_get_ticket_approvalread获取工单上的单个审批及其审批人。审批状态存储于此处——对话列表保持精简,不包含审批状态。
gorelo_get_ticket_commentread获取工单上的单条评论。其结构与评论列表项相同,但始终包含完整的 BodyHtml,因此没有 BodyTruncated 字段。
gorelo_list_ticket_commentsread使用游标分页列出工单上的评论。评论默认按从旧到新的顺序读取,如同从上到下查看对话。
gorelo_list_ticket_conversationsread列出工单上的对话。
gorelo_list_ticket_statusesread列出服务提供商配置的工单状态。
gorelo_list_ticket_tagsread列出服务提供商配置的工单标签。
gorelo_list_ticket_typesread列出服务提供商配置的工单类型。
gorelo_list_ticketsread使用游标分页列出服务提供商的工单。默认按 updatedOn 降序排序。
gorelo_create_ticketwrite在 Gorelo 中创建工单。
gorelo_create_ticket_approvalwrite在工单上创建审批。列出的每位联系人初始状态均为 Pending。
gorelo_create_ticket_commentwrite向工单添加评论。Gorelo 会将其显示为由 API 而非你发布,To 和 Cc 则取自工单的对话。
gorelo_create_ticket_side_conversationwrite在工单上创建旁支对话。之后使用此对话返回的 Id 作为 conversationId,并设置 conversationType=3,向其中发布评论。
gorelo_update_ticketwrite部分更新工单。仅发送要更改的字段。
gorelo_delete_ticketdestructive删除工单及其工时记录。此操作具有破坏性,无法通过 Conduit 撤销。
gorelo_delete_ticket_commentdestructive删除工单上的私人评论。此操作具有破坏性,无法通过 Conduit 撤销。
tools/list 大小

按 tools/list 结果的 JSON 大小计算(名称、描述、输入架构、注释):

配置工具数字节数
GORELO_PRESET=readonly5839,718
默认(read + write,不含账单写入)9087,530
GORELO_ENABLE_DESTRUCTIVE=true + GORELO_ENABLE_BILLING_WRITES=true(全部)112102,064

对于上下文预算紧张的客户端,可使用预设或 GORELO_TOOLS_INCLUDE 缩减列表。

工具选择
环境变量描述
GORELO_PRESETall(默认:read + write)、readonly(仅 read)、crm(Clients、Contacts、Organization)、tickets(Tickets、Contacts、Clients)、monitoring(Alerts、Assets)。标签预设会匹配操作的任意 OpenAPI 标签。未知值会导致启动失败。
GORELO_ENABLE_DESTRUCTIVEtrue 启用 DELETE 工具。其他任何值都会使其保持关闭。预设和筛选器都不会启用这些工具。
GORELO_ENABLE_BILLING_WRITEStrue 启用发票、付款和条目的创建/更新。默认关闭;预设和筛选器都不会启用这些操作。
GORELO_TOOLS_INCLUDE以逗号分隔的名称 glob(*、?);仅保留匹配的工具,例如 gorelo_*_ticket*,gorelo_list_clients。
GORELO_TOOLS_EXCLUDE以逗号分隔的名称 glob;排除匹配的工具。

预设和筛选器只会缩小集合。对 tools/list 隐藏的工具即使按名称调用也会被拒绝。若选择结果中没有工具,启动将失败。

排除项

有五个操作被有意排除在外。其中三个是因为 Conduit 网关没有经过确认的二进制工具结果或上传路径:

操作原因
POST /v1/attachmentsmultipart 文件上传
GET /v1/invoices/{invoiceId}/pdf返回二进制 PDF
GET /v1/documents/{documentId}/pdf返回二进制 PDF

该列表位于 scripts/generate-tools.mjs 中的 EXCLUDED_BINARY。

另外两个操作在任何配置下都不会公开:POST /v1/api-keys 和 DELETE /v1/api-keys/{apiKeyId}(EXCLUDED_SENSITIVE;凭据的创建/撤销不属于 AI 工具接口的范围)。gorelo_list_api_keys 会保留:它只返回密钥元数据(id、名称、作用域、日期),绝不会返回密钥值。

行为
  • 所有工具都由同一个通用执行器运行:路径参数会进行 URL 编码,主机始终是区域固定的基础 URL(us / au),并且会拒绝重定向。
  • HTTP 429 最多重试 3 次(遵循 Retry-After,上限为 15s;否则使用指数退避)。
  • 响应超过 100KB 时会截断,并附上明确的 [TRUNCATED: ...] 标记;请使用筛选条件或 pageSize 缩小结果范围,并继续使用游标获取后续内容。
  • 403 会返回 此连接的 Gorelo API 密钥没有权限运行 <tool>(HTTP 403)。管理员可在 Gorelo 的 Settings → Integrations 中检查该密钥的权限。 401、404 和 422 各有对应的消息。错误和日志中绝不会包含 API 密钥。
重新生成
npm run generate         # rewrite src/generated/tools.ts from spec/gorelo-openapi.json
npm run generate:check   # exit 1 if the committed file is stale (also enforced by a test and CI)

若要采用新的 Gorelo API 版本,请替换 spec/gorelo-openapi.json,运行 npm run generate,检查差异(新操作无需编写代码,除非其使用的请求体格式不是 JSON;生成器会对此发出明确错误),然后提交这两个文件。

归属说明

操作到工具的映射方式、重试/退避逻辑和大小限制逻辑改编自 peetinc/gorelo-mcp-all(MIT,版权所有 (c) 2026 peetinc)。请参阅 THIRD_PARTY_NOTICES.md。

开发

npm install
npm run generate   # only after changing spec/gorelo-openapi.json
npm run build
npm test
npm run lint   # tsc --noEmit

Docker

容器内的镜像会监听 0.0.0.0(MCP_HTTP_HOST),并且默认使用 AUTH_MODE=gateway。请将端口发布到回环地址,并传入真实的 S2S 密钥。在网关模式下,Gorelo API 密钥会通过每个请求中的 X-Gorelo-Api-Key 传入;不会从环境中读取。不要传入 your-s2s-secret 或 changeme 等已知占位值。启动时会将这些值视为未设置并退出。

docker build -t gorelo-mcp .
docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -p 127.0.0.1:8080:8080 \
  gorelo-mcp

当 CONDUIT_S2S_SECRET 未设置时,Compose 会拒绝启动;它会设置 AUTH_MODE=gateway,不会传入 GORELO_API_KEY,并发布 127.0.0.1:8080:8080。项目的 .env 文件仅用于插值。不要为网关服务添加 env_file。

CONDUIT_S2S_SECRET="$(openssl rand -hex 32)" docker compose up

单租户 HTTP(AUTH_MODE=env)仍然需要 S2S 密钥,然后使用 GORELO_API_KEY:

docker run \
  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \
  -e AUTH_MODE=env \
  -e GORELO_API_KEY=your-value \
  -e GORELO_REGION=us \
  -p 127.0.0.1:8080:8080 \
  gorelo-mcp

不带密钥的本地 HTTP 仅用于开发。即使 MCP_HTTP_HOST 为 0.0.0.0,它也会绑定到 127.0.0.1,并记录警告:

MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm run start:http

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。