The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Vessel Traffic MCP listing page.
Vessel tracking and shipping schedules for AI agents.
Vessel Traffic MCP is a read-only Model Context Protocol (MCP) server for vessel identity lookup, AIS-style positions, tracks, port calls, carrier schedules, vessel schedules, and delay heuristics. It gives Claude, ChatGPT, Codex, MCP Inspector, and other MCP clients one normalized maritime-data tool surface.
Use it when an agent needs to:
The project does not bypass provider terms, paywalls, CAPTCHA, or access controls. Commercial providers are Bring Your Own Key (BYOK), the default test path is fixture-only, and this is not a navigation product.
Open source under the MIT license. Pre-1.0; APIs and tool surfaces may change.
For Claude Desktop, Claude Code, Codex CLI, Cursor, VS Code, or any stdio MCP client, use the npm package:
Then restart the client and try:
Full client setup lives in
docs/runbooks/clients.md, and Codex
details live in docs/runbooks/codex.md.
Source-checkout config snippets are in
Shared MCP Config Snippets.
Marketplace and AI-client submission helpers live in
llms-install.md, LAUNCHGUIDE.md,
and assets/logo-400.png.
The public landing page for assistant-agent search and install snippets is:
https://tools-mcp.github.io/vessel-traffic-mcp/
Use that URL when sharing the project as a vessel AIS MCP, ship tracking
MCP, ChatGPT MCP, Codex MCP, Claude MCP, or Gemini MCP server.
The page includes a golden prompt for the EVER GIVEN scenario and client
snippets for local stdio and remote Streamable HTTP setup.
Assistant services do not automatically discover arbitrary MCP servers. The
operator must connect this MCP first; after that, the tool descriptions,
search/fetch wrappers, and vessel-specific tools give the agent a clear
path from a ship-name prompt to source-attributed results.
| Area | Read-only tools |
|---|---|
| Search-style connector flow | search, fetch |
| Vessel identity | vessel_search, vessel_name_resolve, document_vessel_lookup |
| AIS-style movement | vessel_position, vessel_area, vessel_track |
| Port activity | port_calls |
| Shipping schedules | carrier_schedule_search, vessel_schedule, schedule_delay_predict |
| Provider setup | provider_status, data_sources, credential_profiles, provider_onboarding |
Every live or public-provider response must expose provenance:
source.provider and source.landingUrl. The project is designed to
route users back to the original service, not to hide or rebrand the
data source.
| Provider group | How it is enabled | Notes |
|---|---|---|
| Fixture | default | deterministic tests and demos; no network, accounts, or API keys |
| Public opt-in | VESSEL_MCP_ENABLE_PUBLIC_PROVIDERS=myshiptracking,tradlinx,aisfriends | public web adapters with source attribution |
| BYOK commercial/community APIs | VESSEL_MCP_ENABLE_BYOK_PROVIDERS=... plus VESSEL_MCP_PROFILE_* env vars | user-owned credentials only; secrets are redacted from logs, errors, and MCP responses |
| Remote deployment | VESSEL_MCP_TRANSPORT=http | Streamable HTTP at /mcp; set VESSEL_MCP_AUTH_TOKEN for Authorization: Bearer <token> |
Use the provider_onboarding MCP tool to inspect provider signup URLs,
required env vars, configured profile status, and validation steps. It
is read-only and never creates accounts, accepts terms, solves CAPTCHA,
completes email verification, sets payment details, or issues API keys.
This project is provided as open-source infrastructure for public-interest interoperability, workflow testing, and source-attributed maritime data access. It does not grant any right to copy, redistribute, rebrand, bypass, or misuse third-party services, databases, maps, trademarks, copyrighted material, API responses, or provider content.
Users are responsible for how they configure and operate the software, including their compliance with applicable law, provider terms, account permissions, rate limits, data licenses, and internal company policies. Do not use this project to bypass authentication, paywalls, CAPTCHA, access controls, robots policies, or commercial restrictions.
The authors and contributors respect the rights and terms of all referenced
services and data providers. Live and public-provider responses are designed
to preserve attribution through source.provider and source.landingUrl and
to route users back to the original source. If a rights holder, service
operator, or affected party reports a substantiated concern, the maintainers
will review it promptly and, where appropriate, modify, disable, or remove the
affected adapter, documentation, fixture, or reference.
The software is provided under the MIT license, without warranty. Nothing in this README is legal advice or a substitute for reviewing the terms that apply to your own use case.
If this could help someone building MCP tools, shipping/logistics software,
or AI workflows around maritime data, share the repository and ask for real
workflow feedback. A copy/paste sharing kit lives in
docs/marketing/help-us-spread.md.
Useful help includes trying the npm install, posting a tailored community write-up, requesting a provider adapter, or explaining a real forwarding, trade, port-call, vessel ETA, or carrier-schedule workflow.
The default verification gate uses sanitized fixtures only. It does not call paid or live providers and does not require API keys, accounts, or network access.
For a local visual check with ship-name input and a map:
Open http://127.0.0.1:8787 and search EVER GIVEN or MMSI
353136000.
For remote MCP clients, run Streamable HTTP at /mcp with public
/health:
MCP requests require Authorization: Bearer <token> when
VESSEL_MCP_AUTH_TOKEN is set. See
docs/runbooks/streamable-http-server.md
and docs/runbooks/deployment-https.md.
| Surface | Status | Access |
|---|---|---|
| GitHub | Public | https://github.com/tools-mcp/vessel-traffic-mcp |
| Agent landing page | Public | https://tools-mcp.github.io/vessel-traffic-mcp/ |
| npm | Public | @tools-mcp/vessel-traffic-mcp@0.1.0 at https://www.npmjs.com/package/@tools-mcp/vessel-traffic-mcp |
| GitHub Release | Published | https://github.com/tools-mcp/vessel-traffic-mcp/releases/tag/v0.1.0 |
| MCP Registry | Published | io.github.tools-mcp/vessel-traffic-mcp@0.1.0 in the official registry |
| ServerHub | Listed | https://www.serverhub.digital/servers/vessel-traffic-mcp |
| VaultPlane | Listed | https://www.vaultplane.com/server/vessel-traffic-mcp |
| MCPRepository | Submitted | Queued for validation at https://mcprepository.com/tools-mcp/vessel-traffic-mcp |
| Local map UI | Ready from source | npm run start:map, then open http://127.0.0.1:8787 |
| HTTP directory metadata | Ready from source | npm run start:http, then fetch /.well-known/mcp/server-card.json |
| Glama | Submitted for review | Submitted through Glama's Add Server flow on 2026-05-27; public listing URL and score badge are reserved at https://glama.ai/mcp/servers/tools-mcp/vessel-traffic-mcp and may return 404 until review/indexing completes |
| PulseMCP | Submission/indexing pending | Track in docs/runbooks/public-sharing.md and docs/marketing/outreach-status.md |
| Smithery | HTTPS endpoint pending | Needs a stable public HTTPS /mcp URL |
Launch copy and directory submission material live in
docs/marketing.
Use this prompt when asking another coding agent to install the MCP:
vessel-traffic-mcp는 MCP 클라이언트가 허가된 해운/선박 데이터
소스를 읽기 전용 도구로 조회할 수 있게 해주는 서버입니다.
선박명, MMSI, IMO, 호출부호 기반 검색, 최신 위치 조회, 영역 조회, 항만 호출, 선사 스케줄, 선박별 스케줄, 스케줄 지연 판단을 제공합니다.
실시간 또는 공개 provider 응답은 반드시 source.provider와
source.landingUrl을 포함해야 합니다. 이 프로젝트의 목적은 원
서비스 유입과 출처 노출을 제공하는 것이며, 출처를 숨기거나
재브랜딩하는 것이 아닙니다.
공유를 도와줄 사람에게 보낼 짧은 문구와 커뮤니티용 글 초안은
docs/marketing/help-us-spread.md에
정리되어 있습니다.
기본 검증은 sanitize된 fixture만 사용합니다. 유료 provider나 live provider를 호출하지 않으며 API 키, 계정, 네트워크 접근이 필요하지 않습니다.
로컬 데스크톱/CLI 클라이언트에서는 stdio transport를 사용합니다.
Codex CLI, Claude Desktop, Claude Code 설정은
공통 MCP 설정 예시를 사용하면 됩니다.
전체 클라이언트 설정은 docs/runbooks/clients.md,
Codex 전용 설정은 docs/runbooks/codex.md에
정리되어 있습니다.
원격 MCP 클라이언트는 Streamable HTTP /mcp 엔드포인트를 사용합니다.
/health는 공개 health check입니다.
VESSEL_MCP_AUTH_TOKEN을 설정한 경우 MCP 요청에는
Authorization: Bearer <token>이 필요합니다. 배포 문서는
docs/runbooks/deployment-https.md를
참고하세요.
브라우저 캡처 기반 공개 adapter는 명시적으로 켜야 합니다.
myshiptracking: 선박 자동완성, 선택 MMSI 기반 최신 위치, 지도 영역 조회.tradlinx: FCL/LCL 선사 스케줄 조회.aisfriends: 공개 지도 bounding-box 기반 영역 위치 조회. 선박명 검색은 지원하지 않습니다.shipfinder: 명시적 provider 라우팅용 선박 자동완성 및 상세 API 형태.응답에는 항상 원 출처 provider와 사용자가 열 수 있는 출처 URL을 포함합니다.
유료/credential 기반 provider는 BYOK 방식으로만 사용합니다. 실제 키는 로그, 에러, MCP 응답에 노출되지 않습니다.
현재 credential 기반으로 런타임 등록 가능한 provider는 marinetraffic,
vesselfinder, aisstream, aishub, barentswatch,
searates-schedules, routescanner-connect, vesselapi, datadocked, datalastic, globalfishingwatch입니다. 기본 credential profile이
설정된 provider는 자동으로 등록됩니다.
자세한 내용은 docs/runbooks/credential-profiles.md와
docs/runbooks/operator.md를 참고하세요.
provider_onboarding MCP 도구를 사용하면 provider별 가입 URL, 필요한
env var, 현재 credential 설정 여부, 검증 단계를 확인할 수 있습니다.
이 도구는 읽기 전용이며 계정 생성, 약관 동의, CAPTCHA, 이메일 인증,
결제 정보 설정, API 키 발급을 대신 수행하지 않습니다.
이 프로젝트는 공익적 상호운용성, 업무 자동화 실험, 출처가 표시되는 해운/선박 데이터 접근을 돕기 위해 오픈소스로 공개되었습니다. 이 프로젝트는 제3자 서비스, 데이터베이스, 지도, 상표, 저작물, API 응답, provider 콘텐츠를 복제, 재배포, 재브랜딩, 우회, 오용할 권리를 부여하지 않습니다.
소프트웨어를 어떻게 설정하고 사용하는지는 사용자 책임입니다. 사용자는 관련 법령, provider 약관, 계정 권한, rate limit, 데이터 라이선스, 내부 회사 정책을 직접 확인하고 준수해야 합니다. 인증, 유료 기능, CAPTCHA, 접근 제어, robots 정책, 상업적 제한을 우회하기 위해 이 프로젝트를 사용해서는 안 됩니다.
작성자와 기여자는 참조된 모든 서비스와 데이터 provider의 권리와 약관을
존중합니다. live/public provider 응답은 source.provider와
source.landingUrl로 원 출처를 표시하고, 사용자가 원 서비스를 확인할 수
있도록 설계되었습니다. 권리자, 서비스 운영자, 또는 관련 당사자가 근거
있는 문제를 제기하면 maintainer는 신속히 검토하고, 필요한 경우 해당
adapter, 문서, fixture, reference를 수정, 비활성화, 또는 제거하겠습니다.
이 소프트웨어는 MIT 라이선스에 따라 보증 없이 제공됩니다. 이 README의 문구는 법률 자문이 아니며, 각 사용 사례에 적용되는 약관과 법적 의무를 검토하는 일을 대체하지 않습니다.
다른 코딩 에이전트에게 이 MCP를 설치하게 할 때 사용할 프롬프트입니다.
vessel-traffic-mcp は、MCP クライアントから許可された海事データ
ソースを読み取り専用で参照するためのサーバーです。
船名、MMSI、IMO、コールサインによる検索、最新位置、エリア検索、 寄港情報、船会社スケジュール、船舶別スケジュール、遅延判定を 提供します。
ライブまたは公開 provider の応答では、source.provider と
source.landingUrl を必ず含めます。このプロジェクトは元サービスへ
ユーザーを誘導し、出典を明示することを目的としています。
標準の検証は sanitize 済み fixture のみを使います。有料 provider や live provider は呼び出さず、API キー、アカウント、ネットワーク接続も 不要です。
ローカルのデスクトップ/CLI クライアントでは stdio transport を使います。
Codex CLI、Claude Desktop、Claude Code の設定には 共通 MCP 設定例を使用してください。
リモート MCP クライアントでは Streamable HTTP の /mcp を使います。
/health は公開 health check です。
VESSEL_MCP_AUTH_TOKEN を設定した場合、MCP リクエストには
Authorization: Bearer <token> が必要です。
ブラウザキャプチャ由来の公開 adapter は明示的に有効化します。
myshiptracking: 船舶オートコンプリート、選択 MMSI からの最新位置、
地図範囲検索。tradlinx: FCL/LCL の船会社スケジュール検索。aisfriends: 公開地図の bounding-box ベースのエリア位置検索。船名検索は未対応。shipfinder: 明示的 provider ルーティング用の船舶検索と詳細 API 形状。有料または credential が必要な provider は BYOK のみです。実際のキーは ログ、エラー、MCP 応答に出しません。
現在 runtime で有効化できる credentialed provider は marinetraffic,
vesselfinder, aisstream, aishub, barentswatch,
searates-schedules, routescanner-connect, vesselapi, datadocked, datalastic, globalfishingwatch です。
別のコーディングエージェントに MCP を設定させる場合のプロンプトです。
vessel-traffic-mcp 是一个只读 MCP 服务器,让 MCP 客户端能够通过
统一工具接口访问已授权的海事数据来源。
它支持按船名、MMSI、IMO、呼号搜索船舶,查询最新位置、区域位置、 港口靠泊、承运人航线计划、船舶计划和延误判断。
所有实时或公开 provider 的响应都必须包含 source.provider 和
source.landingUrl。本项目用于向原始服务导流并明确显示出处,而不是
隐藏或重新包装数据来源。
默认验证只使用已清洗的 fixture,不调用付费或实时 provider,也不需要 API key、账号或网络访问。
本地桌面和 CLI 客户端使用 stdio transport。
Codex CLI、Claude Desktop、Claude Code 可使用 共享 MCP 配置片段。
远程 MCP 客户端使用 Streamable HTTP /mcp,/health 是公开健康检查。
设置 VESSEL_MCP_AUTH_TOKEN 后,MCP 请求需要
Authorization: Bearer <token>。
浏览器捕获得到的公开 adapter 需要显式启用。
myshiptracking: 船舶自动完成、按选定 MMSI 查询最新位置、地图范围查询。tradlinx: FCL/LCL 承运人航线计划查询。aisfriends: 基于公开地图 bounding-box 的区域位置查询;不支持船名搜索。shipfinder: 用于显式 provider 路由的船舶搜索和详情 API 形状。付费或需要 credential 的 provider 只能使用 BYOK。真实 key 不会出现在日志、 错误或 MCP 响应中。
当前可在 runtime 启用的 credentialed provider 是 marinetraffic,
vesselfinder, aisstream, aishub, barentswatch,
searates-schedules, routescanner-connect, vesselapi, datadocked, datalastic, globalfishingwatch。
让其他编码 agent 安装此 MCP 时可使用以下提示词。
Codex CLI ~/.codex/config.toml:
Claude Desktop / Claude Code config:
The PRD is intentionally broader than the adapters enabled by default. Current status:
| Group | Runtime status | Providers |
|---|---|---|
| Default | enabled with no env | fixture |
| Public opt-in | VESSEL_MCP_ENABLE_PUBLIC_PROVIDERS | aisfriends, myshiptracking, shipfinder, tradlinx-schedule |
| Credentialed implemented | VESSEL_MCP_ENABLE_BYOK_PROVIDERS or configured default profile | marinetraffic, vesselfinder, aisstream, aishub, barentswatch, searates-schedules, routescanner-connect, vesselapi, datadocked, datalastic, globalfishingwatch |
| Planned schedule APIs | cataloged, not implemented | linescape-schedule-api |
| Not started commercial AIS | cataloged, not implemented | spire-maritime, orbcomm-commtrace |
| Discovery or enterprise review | cataloged only | openais, noaa-marinecadastre, iqax-bigschedules, cargosmart-schedule, poseidon-ais, ais-now, fleetmon, windward, polestar-global, spglobal-seaweb, lloyds-list-intelligence |
The structured source of truth is
config/provider-catalog.example.json
and the human-readable inventory is
docs/provider-catalog.md.
For a local visual check with ship-name input and a map:
Open http://127.0.0.1:8787 and search EVER GIVEN or MMSI
353136000. The UI displays a map marker and a visible source link.
Registered read-only schedule tools:
carrier_schedule_searchvessel_scheduleschedule_delay_predictRegistered read-only provider/setup tools:
provider_statusdata_sourcescredential_profilesprovider_onboardingFixture-backed checks:
Schedule-provider candidates are tracked in
docs/provider-catalog.md. Tradelinx has
an explicit opt-in carrier_schedule_search adapter backed by
sanitized browser-captured endpoint shapes documented in
docs/runbooks/schedule-api-capture-results.md.
This project does not aim to bypass commercial services. It supports:
It must not store raw cookies, bearer tokens, API keys, private HAR
files, raw captures, or private browser sessions in the repository.
The full hard-rule list lives in AGENTS.md, and
security expectations are in SECURITY.md.
Authorized capture tooling is documented in
docs/runbooks/capture-execution.md.
The sanitized import command is npm run capture:import, and traffic
IR generation is npm run capture:ir.
Not for navigation. AIS data returned by configured providers may be delayed, incomplete, or inaccurate. This project is not a safety-critical navigation tool.
llms.txt — compact agent-facing project brief.docs/index.html — static agent discovery page
published through GitHub Pages.server.json — MCP Registry metadata for the
io.github.tools-mcp/vessel-traffic-mcp namespace.AGENTS.md — project hard rules.CODE_OF_CONDUCT.md — collaboration
expectations.docs/PRD.md — product requirements.docs/TDD.md — technical design.docs/provider-catalog.md — provider
inventory and routing policy.docs/runbooks/operator.md —
end-to-end operator runbook.docs/runbooks/clients.md — client
setup for Claude Desktop, Claude Code, ChatGPT remote MCP, and MCP
Inspector.docs/runbooks/codex.md — Codex CLI MCP
wiring and Codex plugin metadata state.docs/runbooks/credential-profiles.md
— BYOK profile handling.docs/runbooks/deployment-https.md
— HTTPS deployment for the Streamable HTTP MCP endpoint.docs/runbooks/release-checklist.md
— pre-release safety checklist.docs/runbooks/public-sharing.md
— GitHub, MCP Registry, Smithery, Glama, PulseMCP, and launch-post
sharing checklist.docs/runbooks/api-capture-reference-only.md
— reference-only boundary for raw capture sessions.docs/runbooks/browser-api-capture-results.md
— sanitized browser capture results for vessel APIs.docs/runbooks/schedule-api-capture-results.md
— sanitized browser capture results for schedule APIs.docs/discoverability.md — package,
repository, and documentation discoverability contract.vessel-traffic-mcp is intended to be findable from MCP and plugin
search surfaces. The same set is reflected in package.json keywords
and suggested GitHub topics.
Contributions are welcome. Please read
CONTRIBUTING.md first. The project has
non-negotiable safety rules around credentials, capture fixtures, and
the read-only contract.
Use GitHub Issues for bugs, provider requests, and authorized capture
reviews. Use GitHub Discussions for roadmap, integration, and
collaboration threads. The sharing checklist is in
docs/runbooks/public-sharing.md.
Do not file a public GitHub issue for a suspected vulnerability. See
SECURITY.md for the private reporting channel.