# Agent Nexus (remote · agentnexus.app)

180+ tested APIs, MCP servers and CLIs your agent can call. Self-service key in one call.

- Trust score: 67/100 (medium)
- Change this week: +1
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- remote · `agentnexus.app`: 79/100, [markdown](https://verifymcp.io/servers/app-agentnexus-agent-nexus/agentnexus.md), [page](https://verifymcp.io/servers/app-agentnexus-agent-nexus/agentnexus)
- remote · `agentnexus.app`: 67/100 (this document), [markdown](https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp.md), [page](https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp)

## Channel facts

- Endpoint: `https://agentnexus.app/api/public/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-25.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2877 tokens (~479/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Agent Nexus MCP server?

Agent Nexus is a hosted endpoint at https://agentnexus.app/api/public/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http app-agentnexus-agent-nexus 'https://agentnexus.app/api/public/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-agentnexus-agent-nexus": {
      "url": "https://agentnexus.app/api/public/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-agentnexus-agent-nexus": {
      "type": "http",
      "url": "https://agentnexus.app/api/public/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-agentnexus-agent-nexus]
url = "https://agentnexus.app/api/public/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-agentnexus-agent-nexus": {
      "type": "remote",
      "url": "https://agentnexus.app/api/public/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-agentnexus-agent-nexus --url 'https://agentnexus.app/api/public/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-agentnexus-agent-nexus:
    url: "https://agentnexus.app/api/public/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-agentnexus-agent-nexus": {
      "Transport": "http",
      "Url": "https://agentnexus.app/api/public/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-agentnexus-agent-nexus -t streamable-http -u 'https://agentnexus.app/api/public/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-agentnexus-agent-nexus": {
      "type": "http",
      "url": "https://agentnexus.app/api/public/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 67, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-23 (score 66, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “submit_entry” rewrote its description, which is the text the model reads
- [security] Tool “discover_capabilities” rewrote its description, which is the text the model reads
- [security] Tool “get_entry” rewrote its description, which is the text the model reads
- [security] Tool “list_categories” rewrote its description, which is the text the model reads
- [security] Tool “list_entries” rewrote its description, which is the text the model reads
- [security] Tool “search_registry” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 191 → 479
- [functional improvement] Tool coverage: 58% → 100%
- [functional] Schema quality: good → excellent
- [functional] Server version: 0.3.0 → 1.0.0
- [cosmetic] “submit_entry” added an optional parameter “contact_email”
- [cosmetic] “submit_entry” reworded the description of “input_format”
- [cosmetic] “submit_entry” reworded the description of “docs_url”
- [cosmetic] “submit_entry” reworded the description of “description”
- [cosmetic] “submit_entry” reworded the description of “category”
- [cosmetic] “submit_entry” reworded the description of “capabilities”
- [cosmetic] “submit_entry” reworded the description of “auth_params”
- [cosmetic] “submit_entry” reworded the description of “auth_mode”
- [cosmetic] “get_entry” reworded the description of “slug”
- [cosmetic] “list_entries” reworded the description of “category”
- [cosmetic] “list_entries” reworded the description of “page”
- [cosmetic] “list_entries” reworded the description of “per_page”
- [cosmetic] “search_registry” reworded the description of “category”
- [cosmetic] “search_registry” reworded the description of “limit”
- [cosmetic] “search_registry” reworded the description of “query”
- [cosmetic] “submit_entry” reworded the description of “tags”
- [cosmetic] “submit_entry” reworded the description of “summary”
- [cosmetic] “submit_entry” reworded the description of “rate_limit”
- [cosmetic] “submit_entry” reworded the description of “pricing”
- [cosmetic] “submit_entry” reworded the description of “output_format”
- [cosmetic] “submit_entry” reworded the description of “name”
- [cosmetic] “submit_entry” reworded the description of “invocation_example”
- [cosmetic] “submit_entry” reworded the description of “endpoint”

### 2026-09-22 (score 65, +30)

- [security improvement] Injection markers: unverified → pass
- [security] Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “search_registry” rewrote its description, which is the text the model reads
- [security] Tool “discover_capabilities” rewrote its description, which is the text the model reads
- [functional regression] Tool coverage: 75% → 58%
- [functional regression] MCP protocol: unverified → fail
- [functional regression] Schema quality: pass → fail
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Stability: unverified → 0.20
- [functional improvement] Tool “search_registry” now declares an output schema
- [functional improvement] Tool “list_categories” now declares an output schema
- [functional improvement] Tool “get_entry” now declares an output schema
- [functional improvement] Tool “discover_capabilities” now declares an output schema
- [functional] First check of Tool coverage: 100
- [functional] Schema quality: excellent → good
- [functional] New tool “submit_entry”
- [functional] New tool “list_entries”
- [cosmetic] “discover_capabilities” reworded the description of “category”
- [cosmetic] “search_registry” reworded the description of “limit”
- [cosmetic] “discover_capabilities” reworded the description of “need”
- [cosmetic] “discover_capabilities” reworded the description of “min_reliability”
- [cosmetic] “discover_capabilities” reworded the description of “limit”

### 2026-09-19 (score 35, −31)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.07 → unverified
- [security regression] Tool safety: pass → unverified
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the whole tool list to see what that exposes.
- [functional regression] Capabilities: fail → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-09-18 (score 66, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] The server changed its declared name: agent-nexus-read → agent-nexus
- [functional] Server version: 1.0.0 → 0.3.0

### 2026-09-17 (score 66, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-09-16 (score 65)

First indexed and scored.

## MCP tools (6)

### `discover_capabilities` (~349 tokens)

Discover a callable interface for a need

Use this when you have a goal in plain language and no idea which interface serves it (e.g. 'send a transactional email', 'query Postgres'). Returns {need, coverage, count, uncovered, note, matches[]}; each match carries slug, name, category, endpoint, auth mode and parameters, input/output formats, rate limit, pricing and a 0-100 reliability score — everything needed to call it. Never empty and never an error on a valid need: when nothing matches, coverage='none', uncovered=true and matches[] holds reliable starting points instead. Invalid input is rejected with a validation message; the registry being unreachable is returned as an error result. Parameter guidance: write 'need' as a task, not a keyword ('send a transactional email', not 'email'); leave 'category' unset unless you specifically require one layer, since the best interface for a need is often in another; raise 'limit' when you intend to compare candidates; and use 'min_reliability' (e.g. 60) only for production calls, as it can empty an otherwise useful result set. For a known keyword, slug, vendor or category, use search_registry instead.

Input parameters:

- `category` (string): Restrict to one interface layer. Omit to search all three (default).
- `limit` (integer): Maximum number of matching interfaces to return, 1-20. Default 5.
- `min_reliability` (integer): Drop interfaces scoring below this 0-100 reliability value. Default 0 (no filter).
- `need` (string, required): What the agent is trying to accomplish, in plain language. 3-300 characters, required.

Output parameters:

- `count` (number)
- `coverage` (string)
- `matches` (array)
- `need` (string)
- `note` (string)
- `uncovered` (boolean)

### `search_registry` (~334 tokens)

Search registry

Keyword lookup in the Agent Nexus registry when you already know what to look for: a product name, vendor, slug or endpoint fragment, optionally narrowed to one category. Matches literal text only — it does not interpret a goal. To go from a plain-language need to a callable interface, use discover_capabilities instead; to walk the whole catalogue in order use list_entries, and for the full record of one known slug use get_entry. Returns {count, results[]} in summary form, and an empty results[] when nothing matches — that is a valid answer, not an error.

Input parameters:

- `category` (string): Optional filter, exactly one of 'api', 'mcp' or 'cli' (see list_categories). Combined with query as AND. Omit to search all three layers.
- `limit` (integer): Upper bound on entries returned, 1-50, default 10. Results are ordered by name, not by relevance, so a small limit on a broad keyword can hide better matches — raise it or use discover_capabilities w…
- `query` (string): Literal substring, max 120 chars, matched case-insensitively against name, summary, endpoint and slug — a product name ('resend'), a vendor, a slug fragment or a host ('api.stripe.com'). Single terms…

Output parameters:

- `count` (number)
- `results` (array)

### `get_entry` (~240 tokens)

Get registry entry

Fetch the full record of ONE approved registry entry whose exact slug you already have, e.g. from a previous discover_capabilities, search_registry or list_entries result. Read-only and idempotent: the same slug always returns the same entry until its health probe changes. Returns {entry} with endpoint, auth mode and parameters, input/output formats, rate limit, pricing, capabilities, docs URL, invocation example and the latest 6-hourly health probe — the detail level the listing tools omit. This is the single-record lookup: it takes no filters and no paging. If you do not have a slug, do not guess one — use search_registry for a keyword or discover_capabilities for a plain-language need; to walk the whole catalogue use list_entries. An unknown or unapproved slug is an error, not an empty result.

Input parameters:

- `slug` (string, required): Exact lowercase slug of one entry, 1-80 chars, as returned in the 'slug' field of any other tool, e.g. 'stripe-api' or 'github-mcp'. Case-sensitive, no URL and no display name; only entries with stat…

Output parameters:

- `entry`

### `list_categories` (~122 tokens)

List interface categories

Return the fixed taxonomy of Agent Nexus: the three interface layers it indexes ('api', 'mcp', 'cli'), each with a label, a one-line definition and its live count of approved entries. Read-only, idempotent and parameterless — call it once to learn the exact values accepted by the 'category' argument of search_registry, list_entries and discover_capabilities, and to size the catalogue before paging. It never returns entries themselves: use list_entries to enumerate a layer, search_registry for a keyword, discover_capabilities for a plain-language need.

Output parameters:

- `categories` (array)

### `list_entries` (~334 tokens)

List all registry entries (paginated)

Enumerate the whole approved catalogue in deterministic slug order, page by page — use this when you want everything (mirroring, auditing, building your own index), not when you are looking for something specific. Read-only and idempotent. Returns {total, page, per_page, pages, results[]}: read 'pages' from the first response and increment 'page' until you reach it; 'total' and 'pages' reflect the 'category' filter when one is set, so keep the filter identical across pages or the paging shifts. Entries come back in summary form; call get_entry with a slug for the full record. For a keyword use search_registry, for a plain-language need use discover_capabilities, and for the accepted category values call list_categories. Bulk mirror alternative: GET https://agentnexus.app/api/public/entries.ndjson streams the full catalogue in one request.

Input parameters:

- `category` (string): Optional filter, exactly one of 'api', 'mcp' or 'cli' (see list_categories). Omit to page through all three layers. When set, 'total' and 'pages' count only that layer.
- `page` (integer): 1-based page index. Start at 1 and increment until it equals the 'pages' value returned in the response; a page beyond the last one returns an empty results[] rather than an error.
- `per_page` (integer): How many entries to return in this page, 1-50, default 25. Changing it between calls changes 'pages' and re-slices the catalogue, so keep it constant while paging.

Output parameters:

- `page` (number)
- `pages` (number)
- `per_page` (number)
- `results` (array)
- `total` (number)

### `submit_entry` (~1081 tokens)

Submit an interface to the registry

Register a new interface (HTTP API, MCP server or CLI) in the Agent Nexus catalogue. Callers authenticate either as a signed-in member or with a free agent key (POST https://agentnexus.app/api/public/keys), which allows one submission per key per 24 hours. This is a write: it creates a pending row, it does NOT publish anything — every submission is reviewed by a human before it becomes discoverable, so nothing you send here is visible to other agents until it is approved. Nothing is overwritten or deleted, and re-submitting the same name creates a second pending row rather than updating the first. Five fields are required (name, category, summary, endpoint, auth_mode); everything else is optional but directly decides whether the entry is approved and how well it ranks: capabilities[] is what other agents are matched against, so list concrete verbs, and docs_url plus invocation_example are what a reviewer checks first. Rate limited to 20 submissions per hour for members and 1 per 24 hours for agent keys, and the endpoint must answer a live health probe to keep a reliability score. Returns {slug, status}; poll GET https://agentnexus.app/api/public/submission?slug=<slug> for the decision, or pass contact_email to be emailed instead. Use list_my_submissions to review what you already submitted; use search_registry first to check the interface is not already listed.

Input parameters:

- `auth_mode` (string, required): How a caller authenticates, in a few words: 'none', 'Bearer API key', 'API key in query', 'OAuth 2.1', 'Basic auth'. Write 'none' rather than leaving it vague; auth_params carries the individual cred…
- `auth_params` (array): Up to 10 individual credentials the caller must supply, each {name, location, required}. Leave empty when auth_mode is 'none'. Never include credential values here, only their names.
- `capabilities` (array): Up to 12 lowercase hyphenated verbs an agent's need is matched against, e.g. ['send-email','list-templates','verify-address']. This is the single field that drives discovery: an entry with no capabil…
- `category` (string, required): Which layer this interface belongs to: 'api' for an HTTP contract called directly, 'mcp' for a Model Context Protocol tool server, 'cli' for a command-line surface. Decides how endpoint is interprete…
- `contact_email` (string): Optional. Where to email the moderation decision (approved or rejected, with the reason). Never published, never shared.
- `description` (string): Optional long form, max 4000 chars: what the interface does well, notable limits, quirks an agent should know before calling. Plain text; no HTML.
- `docs_url` (string): Absolute https URL of the developer documentation (not the marketing home page). Omit if none exists; submissions without it are approved more slowly.
- `endpoint` (string, required): How the interface is actually reached, max 500 chars. For category 'api' the base URL (https://api.example.com/v1); for 'mcp' the server URL (https://example.com/mcp) or stdio command; for 'cli' the…
- `input_format` (string): MIME type or shape the interface accepts, e.g. 'application/json', 'multipart/form-data', 'command-line flags'. Empty string when not applicable.
- `invocation_example` (string): One copy-pasteable call that works: a curl command, a JSON-RPC body or a CLI line, max 1000 chars. Never include a real credential — use a placeholder such as $API_KEY. This is what reviewers check f…
- `name` (string, required): Public product name as its vendor spells it, 1-80 chars, e.g. 'Resend' or 'GitHub MCP Server'. Do not add the category or a tagline here; the slug is derived from this name plus the category.
- `output_format` (string): MIME type or shape the interface returns, e.g. 'application/json', 'text/csv', 'stdout text'. Empty string when not applicable.
- `pricing` (string): Cost in one short phrase, e.g. 'Free', 'Free tier then $20/month', 'Usage-based, $0.001/call'. Agents filter on this, so be concrete.
- `rate_limit` (string): Published quota in the vendor's own words, e.g. '100 requests/minute', '10k calls/month on the free tier'. Leave empty rather than guessing.
- `summary` (string, required): One line an agent can rank on: what the interface does, 10-300 chars. State the capability, not the marketing (e.g. 'Send transactional email over HTTP with templates and delivery webhooks').
- `tags` (array): Up to 8 short domain labels for browsing, e.g. ['email','messaging']. Domains, not actions — actions belong in capabilities[].

Output parameters:

- `slug` (string)
- `status` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp#diagnostics

## Score history

- 2026-09-25: 67
- 2026-09-24: 67
- 2026-09-23: 66
- 2026-09-22: 65
- 2026-09-21: 35
- 2026-09-20: 35
- 2026-09-19: 35
- 2026-09-18: 66
- 2026-09-17: 66
- 2026-09-16: 65

## Common questions

### What is the Agent Nexus MCP server?

Agent Nexus is an MCP server listed in the public MCP registry as app.agentnexus/agent-nexus. 180+ tested APIs, MCP servers and CLIs your agent can call. Self-service key in one call. This page covers its hosted endpoint (https://agentnexus.app/api/public/mcp).

### Is the Agent Nexus MCP server safe to use?

Agent Nexus scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Agent Nexus MCP server expose?

Agent Nexus exposes 6 tools: discover_capabilities, search_registry, get_entry, list_categories, list_entries, submit_entry. Their descriptions and schemas cost roughly 2,460 tokens of context every time the server is loaded.

### Does the Agent Nexus MCP server require authentication?

No. We connected to Agent Nexus without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Agent Nexus MCP server still maintained?

Agent Nexus is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://agentnexus.app/api/public/mcp
- Website: https://agentnexus.app/
- Changelog RSS feed: https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp.json
- HTML version of this page: https://verifymcp.io/servers/app-agentnexus-agent-nexus/api-public-mcp
