Freightlane

io.github.CloudCorpRecords由 GitHub 账号 CloudCorpRecords 发布v0.1.0更新于 Nov 7, 2026

Morocco-Europe shipping data: quotes, couriers, routes, tracking and customs estimates.

已验证STDIO仅桌面位置与生活商业与电商

概览

AI 生成的概览

连接 EuroCollis 的本地桥接服务,让助手查询摩洛哥—欧洲线路的运费报价、路线、承运人、物流跟踪和关税估算。

可以做什么
  • 查询服务介绍、可托运物品目录和禁运物品
  • 列出支持的欧洲—非洲线路及各国取件/派送城市
  • 获取箱包或目录商品的权威运费报价
  • 查找近期有行程的已认证承运人,查看其资料和店铺页面
  • 凭运单号和派送城市查询公开物流状态
  • 估算关税与增值税,并在支持的货币间换算金额
适用场景
适合让助手为欧洲与摩洛哥或其他非洲线路的货运估价、比较承运人、确认海关禁运品,或查询运单的公开状态。该服务只读,实际下单仍需在其他渠道完成。
运行要求
通过 npx(需 Node.js)或 Docker 镜像在本地运行,需要能访问 EuroCollis 上游端点。可选设置 EUROCOLLIS_MCP_URL 覆盖端点,设置 EUROCOLLIS_API_KEY 以发送 x-eurocollis-key 请求头;未设置密钥时不发送认证头。
安装前请注意
所有工具调用都会转发给第三方 EuroCollis 端点,因此城市、运单号、申报价值等查询内容会离开本机。若设置了 EUROCOLLIS_API_KEY,每次请求都会将其发送给上游。关税估算仅供参考,报价不应在本地重新计算。不提供下单、支付或写入类工具。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Freightlane,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

freightlane

freightlane is a thin local bridge to EuroCollis, a shipping service running corridors between Europe and Africa — Morocco in particular. Its hosted MCP server publishes the read-only logistics data behind the service's public pricing and tracking: the shippable item catalogue, supported routes and cities, price quotes from the same engine the website uses, live courier trips and storefronts, shipment tracking, and indicative customs estimates.

The bridge stores nothing and prices nothing itself. It serves the upstream server's tool list locally — exactly as captured from the live endpoint — and forwards each tool call upstream, returning the result untouched. There is deliberately no booking tool here: the upstream surface is read-only, and bookings are confirmed outside it.

Tools

  • get_eurocollis_info — what EuroCollis is: the corridors it operates, its currency and deposit model, and where bookings are completed. No arguments.
  • get_services — the shippable item catalogue with its pricing units. The item_id values here are what get_quote accepts in its items list. No arguments.
  • get_prohibited_items — items that EuroCollis and Morocco/EU customs prohibit. Worth surfacing before any booking recommendation. No arguments.
  • get_routes — every supported Europe ⇔ Africa corridor. Optional: origin_country and destination_country (ISO-3166 alpha-2) to scope the answer to one corridor with live trip volume.
  • get_cities — supported pickup and delivery cities for one country (country, required, ISO-3166 alpha-2 such as MA or FR). Quote calls expect these exact names.
  • get_quote — the authoritative price quote for a shipment. Required: origin_country, origin_city, destination_country, destination_city. Provide weight_kg for box/suitcase shipments or items for catalogue goods (each with a quantity, plus item_id or name from get_services); optional pickup_date (YYYY-MM-DD, defaults to today) and flex_days (search window after pickup, default 14). Prices come from the upstream engine — never re-compute them locally.
  • search_couriers — live, verified couriers with upcoming trips on a corridor; demo accounts, unverified couriers and past departures are excluded upstream. Optional: origin_country, destination_country, from_date (YYYY-MM-DD, defaults to today) and limit.
  • get_courier — the public profile for one courier (courier, required: storefront slug or courier id). No personal data is returned.
  • get_storefront — a published courier storefront with its canonical URL and corridor pages. Optional: slug to pick one storefront, limit when listing; omit slug to list storefronts.
  • track_shipment — public shipment status. Both reference (e.g. BK-XXXXXX) and delivery_city are required, as an anti-enumeration measure. No personal data is returned.
  • estimate_customs — an indicative duty and VAT estimate. Required: destination_country and declared_value_eur; optional category. The estimate is not authoritative, and the disclaimer it returns should be rendered verbatim.
  • convert_currency — convert an amount between EuroCollis-supported currencies using live MAD-based rates. Required: amount, from_currency, to_currency.

Configuration

  • EUROCOLLIS_MCP_URL (optional) — override the upstream endpoint. Defaults to https://api.eurocollis.com/mcp. (The override hook is this rebuild's own labelled reconstruction.)
  • EUROCOLLIS_API_KEY (optional) — when set, its value is sent to the upstream on every request under the x-eurocollis-key header, the header name pinned by the upstream's registry record. When unset, no auth header is sent; the captured surface was read keyless. (This forwarding is a labelled reconstruction.)

Forwarding mechanics

On the first tool call the client opens a streamable HTTP session with the upstream: a JSON-RPC initialize request (protocolVersion 2025-03-26, clientInfo name freightlane), then a notifications/initialized notification, then the tools/call request carrying the caller's arguments unchanged. When the upstream answers initialize with an Mcp-Session-Id header, that value rides on every later request of the session, which is reused for the life of the process. Replies may arrive as plain JSON or as server-sent events; both are read.

Successful upstream results pass through verbatim, including any isError flag the upstream sets. Failures — a JSON-RPC error, a non-2xx status, an unreadable response, or a request that cannot be completed — come back as an isError result whose text starts with freightlane error: (this rendering is this rebuild's own labelled reconstruction).

CLI

Each tool is also a subcommand taking one JSON argument string (omit it for tools that take none):

bash
npx @reneturcios/freightlane get_cities '{"country":"MA"}'npx @reneturcios/freightlane get_quote '{"origin_country":"FR","origin_city":"Paris","destination_country":"MA","destination_city":"Casablanca","weight_kg":12.5}'npx @reneturcios/freightlane get_routesnpx @reneturcios/freightlane --version

Exit codes: 0 on success, 1 on an isError result, 2 on a usage error.

MCP server

bash
npx -y @reneturcios/freightlane mcp

MCP client config:

json
{  "mcpServers": {    "freightlane": {      "command": "npx",      "args": ["-y", "@reneturcios/freightlane", "mcp"]    }  }}

Docker

bash
docker run -i ghcr.io/cloudcorprecords/freightlanedocker run --rm ghcr.io/cloudcorprecords/freightlane --version

The container's default command is mcp, so the first form is a stdio MCP server; any other arguments reach the CLI normally.

Development

bash
npm installnpm run buildnpm testnpm run dev

The test suite runs entirely against a stubbed JSON-RPC upstream — no live network calls.

License

MIT — see LICENSE.

来源:README.md,提交 1f4e49e

工具

12

get_eurocollis_info

What EuroCollis is, the corridors it operates, currency, deposit model and where bookings are completed.

无需输入参数。

get_services

Shippable item catalogue with pricing units — use item_id values when calling get_quote with items.

无需输入参数。

get_prohibited_items

Items EuroCollis and Morocco/EU customs prohibit. Always surface before a booking recommendation.

无需输入参数。

get_routes

Every supported Europe ↔ Africa corridor. Optionally scope to one corridor for live trip volume.

输入参数origin_countrydestination_country

get_cities

Supported pickup/delivery cities for one country. Use these exact names as origin_city / destination_city in get_quote.

输入参数country必填

get_quote

Authoritative price quote for a Europe ↔ Africa shipment, returned from the same pricing engine the website uses. Provide weight_kg for boxes/suitcases or items[] for catalogue goods. Never re-compute prices yourself.

输入参数itemsflex_daysweight_kgorigin_city必填pickup_dateorigin_country必填destination_city必填destination_country必填

search_couriers

Live, verified couriers with upcoming trips on a corridor. Demo accounts, unverified couriers and past departures are excluded.

输入参数limitfrom_dateorigin_countrydestination_country

get_courier

Public profile for one courier by storefront slug or courier id. No PII.

输入参数courier必填

get_storefront

Published courier storefront with its canonical URL (custom domain / subdomain / platform path) and corridor pages. Omit slug to list storefronts.

输入参数sluglimit

track_shipment

Public shipment status. Requires BOTH the reference and the delivery city (anti-enumeration). No PII returned.

输入参数reference必填delivery_city必填

estimate_customs

Indicative duty + VAT estimate. NOT authoritative — always render the returned disclaimer verbatim.

输入参数categorydeclared_value_eur必填destination_country必填

convert_currency

Convert an amount between EuroCollis-supported currencies using live MAD-based rates.

输入参数amount必填to_currency必填from_currency必填

版本历史

1
  1. v0.1.0最新Nov 5, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分