Nessgate

Universal resolver for the agentic web: give a domain, get one normalized discovery answer.

LLM Mart 1 views 12 listing impressions
Transport
Not stated
Package
Registry id
com.nessgate/nessgate

No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.

The open, neutral compatibility resolver for the agentic web. Give NessGate a domain and it reads whatever that domain already publishes — across ARD (all three surfaces), A2A, llms.txt, RFC 9727 api-catalog, Open Resource Discovery, RFC 6415 host-meta, OpenAPI, Agent Network Protocol (ANP), Universal Commerce Protocol (UCP), AID, GB/Z 185.4 and more — and returns one normalized answer, with a link back to each source so an agent can always verify against the domain itself.

company.com  →  { resources: [
                   { source: "ard-catalog", type: "application/json",
                     url:       "https://company.com/ai-info.json",
                     sourceUrl: "https://company.com/.well-known/ard.json" },
                   ... ] }

One call instead of ten. NessGate reads these standards; it does not define or replace them — a new standard is just a new adapter, never a competitor. It reuses each source's own type labels and invents no taxonomy of its own. The domain is always the authority; NessGate only normalizes what the domain already publishes, reads it on demand, and stores nothing.

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

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

From the project's README.

Related servers

Fetch Official

Fetch a web page and hand the agent readable text instead of raw HTML.

stdio mcp-server-fetch
27 views

Korean apartment data: 45,000+ complexes, official prices, jeonse ratios, AI forecasts.

25 views
Filesystem Official

Give an agent scoped read and write access to directories you choose.

stdio @modelcontextprotocol/server-filesystem
24 views
Git Official

Read repository history, diffs and branches as tools an agent can call.

stdio mcp-server-git
23 views