プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

NessGate

作者:NessGateバージョン 1.22.2i★ –iクラウドで動く
レジストリ名com.nessgate/nessgate

インストール

概要

作者による説明(英語の原文)

Resolve a domain to its published AI interfaces: discovery, readiness, and connection plans.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://nessgate.com/mcp

ターミナルでこれを実行します

claude mcp add --transport http nessgate https://nessgate.com/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "nessgate": {
      "url": "https://nessgate.com/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "nessgate": {
      "type": "http",
      "url": "https://nessgate.com/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://nessgate.com/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン nessgate.com で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32403件のうち0%よりスターが多い
  • このカテゴリのほかの32403件のうち55%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32403件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

NessGateは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.22.2)がレジストリに届いたのは33 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LickityClick

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

LickityClick

作者:lickity.click

Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.

パソコンでもクラウドでも今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

NessGate

Give NessGate a domain and your client's capabilities, and it tells you how that client can connect — and what's still missing. One call turns "here's a domain" into a concrete, sourced connection plan: which protocol to use, at which endpoint, over which transport, and exactly what authentication the service published — or, if it can't be done yet, the precise field the service is missing.

curl -sX POST https://nessgate.com/connect/supabase.com \

-H 'content-type: application/json' \ -d '{"client":{"supports":[{"protocol":"mcp","auth":["oauth2","none"]}]}}'

```jsonc

{ "domain": "supabase.com", "outcome": "credentials-required", // ready | credentials-required | incomplete | no-compatible-method "connection": { "protocol": "mcp", "transport": "streamable-http", "endpoint": "https://mcp.supabase.com/mcp", "auth": { "type": "oauth2", "authorizationEndpoint": "https://api.supabase.com/v1/oauth/authorize", "tokenEndpoint": "https://api.supabase.com/v1/oauth/token", "scopes": ["projects:read", "database:write", "…"] } } } // → everything needed to connect is known; you just supply your own credentials // (which never touch NessGate). No scores; each field links back to its source.

Five honest outcomes, never a guess: ready (connect now, no credentials), credentials-required (everything's known — bring your own secret), incomplete (the service under-published — NessGate names the exact missing field), broken (the declared location answers and contradicts its own declaration), no-compatible-method (nothing your client speaks). Prefer the per-resource view? Add ?readiness=1 to /explore. Prefer the raw list of what a domain publishes? That's the original resolver, GET /discover/{domain} — unchanged and still here.

Why not just build this yourself?

You can — it's not impossible, just *permanent*. To turn a domain into a working connection you'd have to read and track every discovery standard (ARD, A2A, llms.txt, api-catalog, OpenAPI, ORD, host-meta, ANP, UCP, AID, MCP, GB/Z 185.4…), follow each one's auth story (OpenAPI security schemes, the MCP OAuth metadata chain RFC 9728 → RFC 8414, A2A card schemes), handle server quirks, timeouts, redirects, and SSRF safety on every hop, normalize it all into one shape, and keep doing that as the protocols change. NessGate does exactly that, reads on demand, stores no discovered domain or resource data, and stays neutral — so you write your agent, not a compatibility layer. It's free, open (Apache-2.0), and independently implementable; if nessgate.com vanished, every domain's files would still stand on the domain itself.

The reverse direction — describing what an *incoming* automated caller declares and can prove — is the experimental package @nessgate/inspect (0.x): tiered, provenanced facts (claimed / cryptographically-verified / network-verified / directory-attributed), no decisions, no scores. See docs/integrations.md §5.

Publishing a service? Test yourself before agents do:

npx @nessgate/resolver yourdomain.com    # exit 0 = agents can connect; otherwise it names the exact missing field

Runs the open readiness predicate on your machine (nothing reported anywhere), 3 observations, strict: flaky endpoints fail. Put it in CI to keep your publication connectable.

Live at https://nessgate.com · Specification · Charter · API

NessGate reads the standards a domain already publishes; it defines none of them and stores nothing. The domain is always the authority.

Use it

Embeddable library — dependency-free, fetches the target domain directly (no runtime dependency on nessgate.com), runs anywhere with fetch — Node, Deno, Workers, and agent runtimes. (It runs in a browser too, but a browser can only read *other* domains that send CORS headers, and most .well-known files don't — so from a browser, resolve arbitrary domains via the hosted endpoint below, which sends open CORS.) Published as @nessgate/resolver:

import { resolve } from "@nessgate/resolver";      // or "https://nessgate.com/resolver.mjs"

const { resources } = await resolve("example.com");

Hosted endpoint — open CORS, no auth:

curl https://nessgate.com/discover/example.com

MCP — the same lookup as a tool (discover_domain) at https://nessgate.com/mcp. Listed in the official MCP Registry as com.nessgate/nessgate (domain-verified remote server), so MCP-aware clients can install it directly.

Integrate it (≈5 lines)

Give an agent a domain, get back what to use — no per-standard code. Drop this into a tool, a retrieval step, or an onboarding flow:

import { resolve } from "@nessgate/resolver";           // dependency-free, no key, no account

const { resources } = await resolve(domain); // reads the domain directly for (const r of resources) console.log(r.type, r.url, "←", r.sourceUrl); // normalized record + where it came from // each r: { source, type, url, sourceUrl } — pick the one your agent needs (OpenAPI, A2A, MCP, …)

No SDK? The hosted endpoint is one HTTP GET (GET https://nessgate.com/discover/{domain}, open CORS, no auth), and the MCP tool discover_domain returns the same shape. Adding a new standard is a new adapter upstream — integrations don't change.

Full integration guide — library, HTTP, and MCP client config (including the mcp-remote bridge for stdio-only clients): docs/integrations.md.

Principles

NessGate is free, neutral infrastructure — see the Charter. It never charges to use or to be read, never sells ranking or placement (there is none), keeps no accounts, and stores no domain data. It reads a domain on demand (answers are cached at the edge for up to 10 minutes), never crawls or indexes, and makes no ownership or safety claim — it reports what a domain serves and links back to each source. The specification is open and the reference implementation is Apache-2.0 licensed: anyone may run their own resolver, and if nessgate.com disappeared, every domain's files would still stand on the domain itself.

Architecture

  • One stateless Cloudflare Worker (src/worker.js) serves the static site (public/, via the assets binding with run_worker_first), the resolver API, the MCP server, the per-domain pages, and the sitemap. There is no database.
  • The resolver (GET /discover/{domain}, and the embeddable public/resolver.mjs) reads what a domain publishes, normalizes it into one answer, fetches the domain directly, and stores nothing. Answers are computed fresh and cached at the edge for 10 minutes. A parity test keeps the worker's and the library's normalization byte-identical, and keeps packages/resolver/index.mjs (the npm package) byte-identical to public/resolver.mjs.
  • Adapter architecture — four discovery channels. Each supported standard is a small, independent adapter, and every adapter uses one of four channels to locate its document:
  • well-known — GET a fixed path (or paths) on the domain: llms.txt, ard-catalog (ARD / ai-catalog), a2a-agent-card (A2A), api-catalog (RFC 9727), ai-info.json, openapi, ord (Open Resource Discovery), awp (draft), host-meta (RFC 6415), anp (Agent Network Protocol /.well-known/agent-descriptions), and ucp (Universal Commerce Protocol /.well-known/ucp).
  • link-rel — parse in the homepage, then GET the target (ard-link).
  • robots — parse an Agentmap: directive in /robots.txt, then GET the target (ard-agentmap).
  • dns — a DoH TXT lookup at _agent. (aid: v=aid1;u= ;p= ;a= ).

ARD: NessGate implements ARD's normative domain resolution — it fetches /.well-known/ard.json and honours the relation (both MUST in ARD v0.91 §5.1) — plus the robots Agentmap: surface. ARD's optional in-page JSON-LD is found only by general web crawling, which NessGate does not do; ARD's DNS mechanism is *described* in §5.1 but not yet normatively specified (no record type or parameters). Neither is implemented — publishing a guessed record would be fake conformance. ANP and UCP are emerging; the AID TXT record (v=aid1 at _agent) and AWP are drafts, read as-is with no adoption claim. Note: the aid adapter is the AID TXT mechanism, *not* the IETF DNS-AID draft (SVCB at _agents. — a separate, unimplemented mechanism).

  • GB/Z 185 (China, 智能体互联) — 185.4 yes, 185.5 gated. NessGate normalizes GB/Z 185.4 agent descriptions ("ACS"): an ACS is an A2A-family card with GB/Z extensions (an agent identity code aic, an mTLS scheme, a certificate block), recognized by content and labelled gbz-185-4, preserving those fields and provenance. Recognition is domain-first: an ACS served at the agent-description location NessGate already reads is normalized — no GB/Z-specific `.well-known` path is guessed. GB/Z 185.5 discovery is a federated gateway service with no domain-native location, so it is *not* part of the hosted resolver and is never auto-discovered. The embeddable library exposes it as an opt-in, Node-only call (resolve(domain, { gbz: { gatewayUrl, fetch, query } })) that POSTs to the reference implementation's real …/acps-adp-v2/discover endpoint with a caller-supplied authenticated fetch (bring-your-own mTLS/OIDC — NessGate embeds no credentials) and normalizes the ACS records it returns. No guessed endpoints, no fake conformance.
  • Cloudflare KV (NESSGATE_KV) holds only approximate, IP-keyed hourly rate-limit counters that expire within the hour. Nothing else is stored.
  • Rate limiting: a Cloudflare-native edge limiter (burst, per-colo and eventually consistent — approximate by design) in front of an approximate KV hourly cap. Abuse protection, not exact global accounting.
  • SSRF protections: DoH pre-check against private/reserved IPs, on-domain redirects only (≤ 3), 1 MB caps, 8 s timeouts, HTTPS-only. Probes are read-only GETs of public well-known paths; the DNS-rebinding TOCTOU window is documented in src/worker.js and is immaterial here (Worker egress has no private network behind it, and probes assert nothing).
  • No accounts, no emails, no stored domain data.

Endpoints

EndpointPurpose
GET /discover/{domain}The resolver. Reads what the domain publishes across the supported adapters (llms.txt, ARD/ai-catalog via well-known paths, rel="ard" link, and robots Agentmap:; A2A agent card, RFC 9727 api-catalog, ai-info.json, OpenAPI, ORD, AWP, host-meta, ANP, UCP, AID, GB/Z 185.4) and returns one normalized answer — {domain, provenance, note, discovered[], resources[], checked[]}, each resource carrying its source and native sourceUrl. CORS open, no auth; no discovered domain or resource data stored, nothing crawled; 10-min cache, 120/hr/IP.

| GET /explore/{domain} | Evidence-based resolver (v2, additive). Everything /discover returns, plus bounded *delegated* discovery: it follows the explicit machine-readable pointers a domain declares (an llms.txt index's links, ARD/api-catalog entries) up to depth 2 — cross-host only where the publisher named the target — and federates the official MCP Registry for the domain's verified namespace. Every record carries an evidence class (publisher-hosted / publisher-declared / namespace-verified) and a provenance

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く