Skip to main content
Glama

StealthStack ARD Discovery

Server Details

Search a public index of agents, MCP servers and skills found on the open web. Free, no auth.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 42 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 3 tools

Disambiguation5/5

The three tools form a clean browse / search / fetch-detail triangle: list_resources browses without a query, search_resources ranks by relevance, and get_resource expands a known id into install details. Each description explicitly points to the others and states when to prefer one over the other, so misselection is unlikely.

Naming Consistency5/5

All three follow the same snake_case verb_noun convention (get_resource, list_resources, search_resources) on the same noun. No mixed casing or inconsistent verb styles.

Tool Count4/5

Three tools is enough for a read-only discovery index and each earns its place, but the surface is on the thin side — there is no dedicated tool for filtered faceting or pagination beyond a single list call. Reasonable scope, just minimal.

Completeness4/5

Read-side lifecycle is fully covered: browse, relevance search, and detail/install resolution with a documented handoff between them. Gaps are minor — no publishing/registration path and no explicit pagination or result-filtering tool for large result sets.

Available Tools

3 tools
get_resourceGet install and connect detailsA
Read-onlyIdempotent
Inspect

Get install and connect details for one resource found with search_resources or list_resources, by its identifier. Call it after a search, before you install or connect anything. Returns the connect URL or install command (npm, PyPI or Docker package when one is listed), transport, repository, publisher, version, auth and payment terms when known, the publisher's description, tags and example queries.

NameRequiredDescriptionDefault
identifierYesThe `id` of a search_resources or list_resources result, e.g. urn:air:stealthstack.ai:skill:parquet (urn:ai: and urn:air: prefixes are both accepted).

Output Schema

NameRequiredDescription
foundYes
resourceNo
resolvedIdentifierNoThe identifier the index matched (may use the other URN prefix).
requestedIdentifierYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the bar is lower. The description adds real context: the payload contents (connect URL or npm/PyPI/Docker install command, transport, repository, publisher, version, auth and payment terms, tags, example queries) and the 'when known' caveat that fields may be absent. It doesn't mention pagination or error behavior, which keeps it off a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose and ordering before the payload enumeration. The long comma-separated list of returned fields is informative but dense; a slight trim would improve scannability without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

One fully documented parameter, an output schema present, and rich annotations — the description covers everything an agent needs to decide to call it and to interpret the result. Nothing material is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema itself documents the URN format and accepted prefixes, so the schema does the heavy lifting. The description only adds provenance ('found with search_resources or list_resources'), which is a mild but useful addition — baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get install and connect details for one resource') and explicitly scopes it to records produced by search_resources or list_resources, which separates it cleanly from those siblings. An agent can tell what it returns without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit sequencing: 'Call it after a search, before you install or connect anything.' It names the sibling tools that supply the identifier, so the agent knows which tool to use first and which one this complements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_resourcesBrowse the index by kind or sourceA
Read-onlyIdempotent
Inspect

Browse the StealthStack index without a search query: for example every agent skill (kind=skill), everything one domain publishes (domain=...), or services that accept x402 payments (paid=x402). Returns the total, a count per kind and one page of records with connect details. For a specific need ("MCP server for Postgres") use search_resources, which ranks by relevance.

NameRequiredDescriptionDefault
kindNoOptional. Only one kind: mcp (MCP server), skill (agent skill, SKILL.md), agent (A2A agent), api (HTTP / OpenAPI service), catalog or registry (lists of more resources), other. Omit to include every kind.
paidNoOptional. x402 = only services that list x402 pay-per-request pricing (stablecoins). A filter, not a ranking.
limitNoOptional. Number of results, 1-50 (default 25).
trustNoOptional. verified = the record's URN names the same domain that hosts its catalog. It shows where the record was published, not that anyone reviewed the resource.
domainNoOptional. Only resources from this source domain, e.g. "stealthstack.ai".

Output Schema

NameRequiredDescription
totalYes
byKindNo
resultsYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and open-world, so safety is covered. The description adds real behavioral context: the response includes a total, a per-kind count, and exactly one page of records with connect details, which tells the agent results are paginated rather than exhaustive. It stops short of naming a pagination cursor or rate limits, so it is strong but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler: the scope and examples come first, the sibling routing comes second. Every clause carries information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five optional parameters, an output schema, and full annotation coverage, the remaining risk is ambiguity about the tool's role versus search. The description closes that gap explicitly and even sketches the response shape, so nothing material is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description goes beyond the enum definitions by mapping filters to intents — 'every agent skill (kind=skill)', 'everything one domain publishes (domain=...)', 'services that accept x402 payments (paid=x402)'. That gives the agent a mental model for combining filters, though it omits trust and limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Browse the StealthStack index') and immediately scopes it as query-less, with three concrete filter axes (kind, domain, paid). It explicitly contrasts with the sibling search_resources, so an agent can pick between them without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives both directions: use this for open-ended browsing by kind/domain/payment type, and use search_resources for a specific need like 'MCP server for Postgres' because that one ranks by relevance. The selection condition is explicit and unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_resourcesFind MCP servers, skills, agents and APIsA
Read-onlyIdempotent
Inspect

Find an MCP server, agent skill, A2A agent or API that does a job, and get what you need to install or connect it. Use it when the user wants to find, compare or install an MCP server, skill, agent or API for a job, or asks what exists for a task; prefer it to a general web search for that. Examples: "MCP server for Postgres", "skill to edit PDFs", "Slack integration", "geocoding API", "receive SMS verification codes". Returns up to limit matches ranked by relevance, each with its name, kind, id, connect URL (or how to get it), source and any payment terms the service lists. Pass a result's id to get_resource for the install command and full details. Results are third-party listings that StealthStack has not reviewed.

NameRequiredDescriptionDefault
kindNoOptional. Only one kind: mcp (MCP server), skill (agent skill, SKILL.md), agent (A2A agent), api (HTTP / OpenAPI service), catalog or registry (lists of more resources), other. Omit to include every kind.
paidNoOptional. x402 = only services that list x402 pay-per-request pricing (stablecoins). A filter, not a ranking.
limitNoOptional. Number of results, 1-50 (default 10).
queryYesThe capability you need, in a few plain keywords, e.g. "postgres", "send sms", "pdf edit", "email verification code", "github issues", "esim". Short keyword queries match better than full sentences.
trustNoOptional. verified = the record's URN names the same domain that hosts its catalog. It shows where the record was published, not that anyone reviewed the resource.
domainNoOptional. Only resources from this source domain, e.g. "stealthstack.ai" or "registry.modelcontextprotocol.io".

Output Schema

NameRequiredDescription
modeYes
queryYes
resultsYes

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered; the description adds real behavioral detail beyond that — results are limited to `limit` and ranked by relevance, and, critically, they are 'third-party listings that StealthStack has not reviewed,' which an agent needs for trust decisions. It does not describe pagination or what happens when zero matches are found, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then usage, examples, return shape and the caveat — a sound information order. The five inline examples are slightly more than needed and push the trust caveat to the end, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full schema description coverage, the description needn't enumerate return fields or filter semantics, and it correctly focuses on when to choose this tool, what the result list represents, and the handoff to get_resource. Nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns one above it by explaining the result contract the parameters feed into ('up to `limit` matches ranked by relevance') and by reinforcing that short keyword queries are the intended form, with examples like 'MCP server for Postgres'. It still leaves the `kind`, `trust`, `domain` and `paid` filters entirely to the schema, which is fine given that coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource set ('Find an MCP server, agent skill, A2A agent or API that does a job') plus the outcome ('get what you need to install or connect it'). It also distinguishes itself from the sibling get_resource by telling the agent to pass a result's id there for install commands and full details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names when to use it (user wants to find, compare or install an MCP server/skill/agent/API, or asks what exists) and gives an explicit exclusion: 'prefer it to a general web search for that.' The five example queries map directly onto real invocation requests.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedget_resource4 fields changed
      • changedInput schema / properties / identifier / description
        Previous value: -"The resource URN, e.g. urn:air:stealthstack.ai:skill:parquet (urn:ai: and urn:air: are both accepted)."New value: +"The `id` of a search_resources or list_resources result, e.g. urn:air:stealthstack.ai:skill:parquet (urn:ai: and urn:air: prefixes are both accepted)."
      • addedOutput schema / properties / resource / properties / access
        Added value: +{
        +  "description": "What is known about auth and pricing. requiresAuth comes from the MCP Registry entry; auth and pricing are StealthStack's automated labels (unknown values omitted).",
        +  "properties": {
        +    "auth": {
        +      "type": "string"
        +    },
        +    "pricing": {
        +      "type": "string"
        +    },
        +    "requiresAuth": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / resource / properties / install
        Added value: +{
        +  "description": "Packages to install the server from (MCP Registry entries). `command` is a ready-to-run start command (npx / uvx / docker / cargo), present only when the package name passes a strict charset check.",
        +  "items": {
        +    "properties": {
        +      "command": {
        +        "type": "string"
        +      },
        +      "env": {
        +        "description": "Required environment variable names the package lists (names only).",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "package": {
        +        "type": "string"
        +      },
        +      "registry": {
        +        "type": "string"
        +      },
        +      "transport": {
        +        "type": "string"
        +      },
        +      "version": {
        +        "type": "string"
        +      },
        +      "versionRejected": {
        +        "description": "The listed version failed validation; `command` is not pinned to it.",
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "registry",
        +      "package"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / resource / properties / repository
        Added value: +{
        +  "description": "Source repository URL (https), as listed.",
        +  "type": "string"
        +}
    • Changedlist_resources8 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"Restrict to one publisher domain (e.g. stealthstack.ai)."New value: +"Optional. Only resources from this source domain, e.g. \"stealthstack.ai\"."
      • changedInput schema / properties / kind / description
        Previous value: -"Restrict to one resource kind."New value: +"Optional. Only one kind: mcp (MCP server), skill (agent skill, SKILL.md), agent (A2A agent), api (HTTP / OpenAPI service), catalog or registry (lists of more resources), other. Omit to include every kind."
      • changedInput schema / properties / limit / description
        Previous value: -"Max results (1-50)."New value: +"Optional. Number of results, 1-50 (default 25)."
      • changedInput schema / properties / paid / description
        Previous value: -"Only services that list this payment protocol (x402: pay-per-request in stablecoins). A filter, never a ranking."New value: +"Optional. x402 = only services that list x402 pay-per-request pricing (stablecoins). A filter, not a ranking."
      • changedInput schema / properties / trust / description
        Previous value: -"Restrict by trust status."New value: +"Optional. verified = the record's URN names the same domain that hosts its catalog. It shows where the record was published, not that anyone reviewed the resource."
      • addedOutput schema / properties / results / items / properties / access
        Added value: +{
        +  "description": "What is known about auth and pricing. requiresAuth comes from the MCP Registry entry; auth and pricing are StealthStack's automated labels (unknown values omitted).",
        +  "properties": {
        +    "auth": {
        +      "type": "string"
        +    },
        +    "pricing": {
        +      "type": "string"
        +    },
        +    "requiresAuth": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / results / items / properties / install
        Added value: +{
        +  "description": "Packages to install the server from (MCP Registry entries). `command` is a ready-to-run start command (npx / uvx / docker / cargo), present only when the package name passes a strict charset check.",
        +  "items": {
        +    "properties": {
        +      "command": {
        +        "type": "string"
        +      },
        +      "env": {
        +        "description": "Required environment variable names the package lists (names only).",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "package": {
        +        "type": "string"
        +      },
        +      "registry": {
        +        "type": "string"
        +      },
        +      "transport": {
        +        "type": "string"
        +      },
        +      "version": {
        +        "type": "string"
        +      },
        +      "versionRejected": {
        +        "description": "The listed version failed validation; `command` is not pinned to it.",
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "registry",
        +      "package"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / results / items / properties / repository
        Added value: +{
        +  "description": "Source repository URL (https), as listed.",
        +  "type": "string"
        +}
    • Changedsearch_resources9 fields changed
      • changedInput schema / properties / domain / description
        Previous value: -"Restrict to one publisher domain (e.g. stealthstack.ai)."New value: +"Optional. Only resources from this source domain, e.g. \"stealthstack.ai\" or \"registry.modelcontextprotocol.io\"."
      • changedInput schema / properties / kind / description
        Previous value: -"Restrict to one resource kind."New value: +"Optional. Only one kind: mcp (MCP server), skill (agent skill, SKILL.md), agent (A2A agent), api (HTTP / OpenAPI service), catalog or registry (lists of more resources), other. Omit to include every kind."
      • changedInput schema / properties / limit / description
        Previous value: -"Max results (1-50)."New value: +"Optional. Number of results, 1-50 (default 10)."
      • changedInput schema / properties / paid / description
        Previous value: -"Only services that list this payment protocol (x402: pay-per-request in stablecoins). A filter, never a ranking."New value: +"Optional. x402 = only services that list x402 pay-per-request pricing (stablecoins). A filter, not a ranking."
      • changedInput schema / properties / query / description
        Previous value: -"Free-text search over name, description, and tags."New value: +"The capability you need, in a few plain keywords, e.g. \"postgres\", \"send sms\", \"pdf edit\", \"email verification code\", \"github issues\", \"esim\". Short keyword queries match better than full sentences."
      • changedInput schema / properties / trust / description
        Previous value: -"verified = the resource's URN authority matches its catalog host (domain-anchored)."New value: +"Optional. verified = the record's URN names the same domain that hosts its catalog. It shows where the record was published, not that anyone reviewed the resource."
      • addedOutput schema / properties / results / items / properties / access
        Added value: +{
        +  "description": "What is known about auth and pricing. requiresAuth comes from the MCP Registry entry; auth and pricing are StealthStack's automated labels (unknown values omitted).",
        +  "properties": {
        +    "auth": {
        +      "type": "string"
        +    },
        +    "pricing": {
        +      "type": "string"
        +    },
        +    "requiresAuth": {
        +      "type": "boolean"
        +    }
        +  },
        +  "type": "object"
        +}
      • addedOutput schema / properties / results / items / properties / install
        Added value: +{
        +  "description": "Packages to install the server from (MCP Registry entries). `command` is a ready-to-run start command (npx / uvx / docker / cargo), present only when the package name passes a strict charset check.",
        +  "items": {
        +    "properties": {
        +      "command": {
        +        "type": "string"
        +      },
        +      "env": {
        +        "description": "Required environment variable names the package lists (names only).",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "package": {
        +        "type": "string"
        +      },
        +      "registry": {
        +        "type": "string"
        +      },
        +      "transport": {
        +        "type": "string"
        +      },
        +      "version": {
        +        "type": "string"
        +      },
        +      "versionRejected": {
        +        "description": "The listed version failed validation; `command` is not pinned to it.",
        +        "type": "boolean"
        +      }
        +    },
        +    "required": [
        +      "registry",
        +      "package"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / results / items / properties / repository
        Added value: +{
        +  "description": "Source repository URL (https), as listed.",
        +  "type": "string"
        +}
  2. 3 tool updates
    • Changedget_resource1 field changed
      • addedOutput schema / properties / resource / properties / payment
        Added value: +{
        +  "description": "Payment terms the service lists (x402): protocol, lowest listed price + currency, network (CAIP-2). Self-declared; never a payee address.",
        +  "properties": {
        +    "currency": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": "string"
        +    },
        +    "protocol": {
        +      "type": "string"
        +    },
        +    "testnet": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "protocol"
        +  ],
        +  "type": "object"
        +}
    • Changedlist_resources2 fields changed
      • addedInput schema / properties / paid
        Added value: +{
        +  "description": "Only services that list this payment protocol (x402: pay-per-request in stablecoins). A filter, never a ranking.",
        +  "enum": [
        +    "x402"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / results / items / properties / payment
        Added value: +{
        +  "description": "Payment terms the service lists (x402): protocol, lowest listed price + currency, network (CAIP-2). Self-declared; never a payee address.",
        +  "properties": {
        +    "currency": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": "string"
        +    },
        +    "protocol": {
        +      "type": "string"
        +    },
        +    "testnet": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "protocol"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_resources2 fields changed
      • addedInput schema / properties / paid
        Added value: +{
        +  "description": "Only services that list this payment protocol (x402: pay-per-request in stablecoins). A filter, never a ranking.",
        +  "enum": [
        +    "x402"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / results / items / properties / payment
        Added value: +{
        +  "description": "Payment terms the service lists (x402): protocol, lowest listed price + currency, network (CAIP-2). Self-declared; never a payee address.",
        +  "properties": {
        +    "currency": {
        +      "type": "string"
        +    },
        +    "network": {
        +      "type": "string"
        +    },
        +    "price": {
        +      "type": "string"
        +    },
        +    "protocol": {
        +      "type": "string"
        +    },
        +    "testnet": {
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "protocol"
        +  ],
        +  "type": "object"
        +}
  3. 3 tool updates
    • First observedget_resource
    • First observedlist_resources
    • First observedsearch_resources

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables coding agents to search an index of 22k+ MCP servers, agent skills and coding-agent plugins directly from chat, returning matches with stars, install commands and page links, plus trending repos and curated best-of topic lists. Read-only, no API key required, usable via a hosted HTTP endpoint or locally over stdio.
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables searching and retrieving details of 41,000+ agent skills, MCP servers, Claude Code plugins, and agentic loops from any MCP-capable agent.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Open MCP server for AI agents to discover people, jobs, collaborators and projects through semantic search over human-published context.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to search MCP servers ranked by measured handshake checks, tool lists, repository signals, and signed reports, with open data.
    229 npm
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources