Agent Nexus
by agentnexus.app · remote · no sign-in to list tools · v1.1.1 · published by app.agentnexus
Agent-native registry to discover APIs, MCP servers and CLIs, with live health checks.
6 tools: 2 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agent-nexus https://agentnexus.app/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "discover_capabilities" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.
- Warnget_entry
The input schema at properties.slug.description contains "any other tool", wording about other tools or servers.
What this check looks forMatched text
inputSchema.properties.slug.description: "...ars, as returned in the 'slug' field of any other tool, e.g. 'stripe-api' or 'github-mcp'. Cas..."
- Infosubmit_entry
The input schema at properties.auth_mode.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.auth_mode.description: "...gue; auth_params carries the individual credentials."
- Infosubmit_entry
The input schema at properties.auth_params.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.auth_params.description: "Up to 10 individual credentials the caller must supply, each {name, loc..."
- Infosubmit_entry
The input schema at properties.auth_params.items.properties.name.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.name.description: "Exact credential name as sent, e.g. 'Authorization' or '..."
- Infosubmit_entry
The input schema at properties.auth_params.items.properties.location.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.location.description: "Where the credential goes: 'header', 'query', 'env' (CLI/MCP..."
Show 2 more findingsShow fewer
- Infosubmit_entry
The input schema at properties.auth_params.items.properties.required.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.required.description: "...y when the call also works without this credential. Defaults to true."
- Infosubmit_entry
The input schema at properties.invocation_example.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.invocation_example.description: "...e, max 1000 chars. Never include a real credential — use a placeholder such as $API_KEY. T..."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Changes things 2Claude Code: ask
discover_capabilitiesCall this first whenever a task needs an external service (email, payments, search, storage, LLMs, data...) or when a service you use is failing.1 finding
Why it is in this group
- The description's first verb is "call": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "discover_capabilities" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.
Description, as the server wrote it Call this first whenever a task needs an external service (email, payments, search, storage, LLMs, data...) or when a service you use is failing. Maps a plain-language goal (e.g. 'send a transactional email') to callable APIs, MCP servers or CLIs. Returns matches[] with slug, endpoint, auth, formats, rate limit, pricing and a 0-100 reliability score; if nothing fits, coverage='none' and matches[] lists reliable starting points. Rate limits: 100 calls/day anonymous, 1,000/day with a free key, 50,000/day on Agent Pro. For a known keyword or slug, use search_registry.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- title: Find a working API, MCP server or CLI for a task
- destructiveHint: false
submit_entryRegister a new interface (HTTP API, MCP server or CLI) in the Agent Nexus catalogue.6 findings
Why it is in this group
- The name "submit_entry" says "submit": a word for a change.
Findings
- Info
The input schema at properties.auth_mode.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.auth_mode.description: "...gue; auth_params carries the individual credentials."
- Info
The input schema at properties.auth_params.description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.auth_params.description: "Up to 10 individual credentials the caller must supply, each {name, loc..."
- Info
The input schema at properties.auth_params.items.properties.name.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.name.description: "Exact credential name as sent, e.g. 'Authorization' or '..."
- Info
The input schema at properties.auth_params.items.properties.location.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.location.description: "Where the credential goes: 'header', 'query', 'env' (CLI/MCP..."
- Info
The input schema at properties.auth_params.items.properties.required.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.auth_params.items.properties.required.description: "...y when the call also works without this credential. Defaults to true."
- Info
The input schema at properties.invocation_example.description mentions "credential".
What this check looks forMatched text
inputSchema.properties.invocation_example.description: "...e, max 1000 chars. Never include a real credential — use a placeholder such as $API_KEY. T..."
Description, as the server wrote it 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 and per source address 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 per agent key and per source address, 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: true
- title: Submit an interface to the registry
Only reads 4Claude Code: allow
get_entryBefore calling a known service, check it is live right now and get its exact contract.1 finding
Why it is in this group
- The name "get_entry" says "get": a word for reading.
Findings
- Warn
The input schema at properties.slug.description contains "any other tool", wording about other tools or servers.
What this check looks forMatched text
inputSchema.properties.slug.description: "...ars, as returned in the 'slug' field of any other tool, e.g. 'stripe-api' or 'github-mcp'. Cas..."
Description, as the server wrote it Before calling a known service, check it is live right now and get its exact contract. Fetches 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- title: Check a service is up and how to call it
- destructiveHint: false
list_categoriesReturn 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 entri…No findings
Why it is in this group
- The name "list_categories" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- title: List interface categories
- destructiveHint: false
list_entriesEnumerate 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 ar…No findings
Why it is in this group
- The name "list_entries" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- title: List all registry entries (paginated)
- destructiveHint: false
search_registryKeyword 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.No findings
Why it is in this group
- The name "search_registry" says "search": a word for reading.
Description, as the server wrote it 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. Read-only and side-effect free. Returns {count, results[]} where each result is a summary entry record (slug, name, category, summary, endpoint, trust fields). Results are ordered alphabetically by name, not by relevance; there is no pagination beyond the limit parameter — raise limit (max 50) or narrow the query to see more. An empty results[] when nothing matches is a valid answer, not an error.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
- title: Look up a service by name
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http agent-nexus https://agentnexus.app/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agent-nexus__search_registry",
"mcp__agent-nexus__get_entry",
"mcp__agent-nexus__list_categories",
"mcp__agent-nexus__list_entries"
],
"ask": [
"mcp__agent-nexus__discover_capabilities",
"mcp__agent-nexus__submit_entry"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-nexus. Review it before you use it.