Skip to main content
Glama

agentswitchboard

Search Agents

search_agents
Read-onlyIdempotent

Search the curated Agent Switchboard directory of AI agents, MCP servers, and agentic tools. Filter by task, category slug, access methods, official (first-party listings from major vendors), verified, and/or auth type; sort by relevance, newest, most skills, or name. Verified: we checked it works — its URLs load and its declared access (API, MCP, CLI or extension) responds. Re-checked monthly; the label drops if it stops working. Official: a first-party listing, published by the company behind the product under its own domain or GitHub org (e.g. Notion's own Notion MCP, not a community build), where that company is a major vendor (publicly traded, a frontier AI lab, or valued around $1B+). It records who publishes the product, not a paid placement, and is separate from Verified. Featured: set only by the maintainer. With no search text, results list featured listings first, then A→Z; with search text, results are ranked by relevance and equal scores keep that featured-first order.

Input Schema

NameRequiredDescriptionDefault
authNoOnly listings with one of these auth types: none (no key or sign-in needed), apiKey, oauth2, bearer. A listing has one auth type, so several mean any of them
sortNoResult order. relevance (default): best match first with search text; without it, best fit first for a task, else featured then A→Z. newest: most recently added first. skills: most skills first. name: A→Z
taskNoTask slug, e.g. "query-a-database": only the listings that do that job, best fit first. GET https://agentswitchboard.dev/api/tasks lists the tasks
limitNoMax results per page (1–50)
queryNoFree-text search over name, description, skills, categories, tags, and provider
sinceNoOnly listings added to the directory on or after this day: a date (YYYY-MM-DD), or a number of days back with today included ("7" is the last 7 days). Add sort "newest" to list the newest first
accessNoRequire ALL of these access methods: api, mcp, cli, browser-extension ("extension" is accepted as an alias of browser-extension)
offsetNoNumber of results to skip, for pagination
categoryNoCategory slug, e.g. "code-devtools", "voice-messaging"
officialNoOnly first-party listings from major vendors (e.g. Notion's own Notion MCP)
verifiedNoOnly Verified listings: checked to work, re-checked monthly

Output Schema

NameRequiredDescriptionDefault
limitYes
sinceNoWith since: the first day kept (YYYY-MM-DD, UTC)
totalYesTotal matches before paging
agentsYes
offsetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / auth
      Added value: +{
      +  "description": "Only listings with one of these auth types: none (no key or sign-in needed), apiKey, oauth2, bearer. A listing has one auth type, so several mean any of them",
      +  "items": {
      +    "enum": [
      +      "none",
      +      "apiKey",
      +      "oauth2",
      +      "bearer"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / since
      Added value: +{
      +  "description": "Only listings added to the directory on or after this day: a date (YYYY-MM-DD), or a number of days back with today included (\"7\" is the last 7 days). Add sort \"newest\" to list the newest first",
      +  "type": "string"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "description": "Result order. relevance (default): best match first with search text; without it, best fit first for a task, else featured then A→Z. newest: most recently added first. skills: most skills first. name: A→Z",
      +  "enum": [
      +    "relevance",
      +    "newest",
      +    "skills",
      +    "name"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / task
      Added value: +{
      +  "description": "Task slug, e.g. \"query-a-database\": only the listings that do that job, best fit first. GET https://agentswitchboard.dev/api/tasks lists the tasks",
      +  "type": "string"
      +}
    • addedInput schema / properties / verified
      Added value: +{
      +  "description": "Only Verified listings: checked to work, re-checked monthly",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / agents / items / properties / iconUrl
      Added value: +{
      +  "description": "Absolute URL of the listing's 128px PNG icon, served by Agent Switchboard; null when it has none",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / agents / items / required
      Previous value: -[
      -  "name",
      -  "slug",
      -  "description",
      -  "provider",
      -  "categories",
      -  "accessMethods",
      -  "authType",
      -  "verified",
      -  "official",
      -  "officialVendor",
      -  "featured",
      -  "url"
      -]New value: +[
      +  "name",
      +  "slug",
      +  "description",
      +  "provider",
      +  "categories",
      +  "accessMethods",
      +  "authType",
      +  "verified",
      +  "official",
      +  "officialVendor",
      +  "featured",
      +  "url",
      +  "iconUrl"
      +]
    • addedOutput schema / properties / since
      Added value: +{
      +  "description": "With since: the first day kept (YYYY-MM-DD, UTC)",
      +  "type": "string"
      +}
  2. Changed7 schema fields changed
    • changedInput schema / properties / access / description
      Previous value: -"Require ALL of these access methods (api, mcp, cli, browser-extension)"New value: +"Require ALL of these access methods: api, mcp, cli, browser-extension (\"extension\" is accepted as an alias of browser-extension)"
    • changedInput schema / properties / access / items / enum
      Previous value: -[
      -  "api",
      -  "mcp",
      -  "cli",
      -  "browser-extension"
      -]New value: +[
      +  "api",
      +  "mcp",
      +  "cli",
      +  "browser-extension",
      +  "extension"
      +]
    • changedInput schema / properties / query / description
      Previous value: -"Free-text search (name, description, skills, tags)"New value: +"Free-text search over name, description, skills, categories, tags, and provider"
    • addedOutput schema / properties / agents / items / properties / featured
      Added value: +{
      +  "description": "Featured: set only by the maintainer. With no search text, results list featured listings first, then A→Z; with search text, results are ranked by relevance and equal scores keep that featured-first order.",
      +  "type": "boolean"
      +}
    • changedOutput schema / properties / agents / items / properties / official / description
      Previous value: -"First-party listing from a major vendor"New value: +"Official: a first-party listing, published by the company behind the product under its own domain or GitHub org (e.g. Notion's own Notion MCP, not a community build), where that company is a major vendor (publicly traded, a frontier AI lab, or valued around $1B+). It records who publishes the product, not a paid placement, and is separate from Verified."
    • addedOutput schema / properties / agents / items / properties / verified / description
      Added value: +"Verified: we checked it works — its URLs load and its declared access (API, MCP, CLI or extension) responds. Re-checked monthly; the label drops if it stops working."
    • changedOutput schema / properties / agents / items / required
      Previous value: -[
      -  "name",
      -  "slug",
      -  "description",
      -  "provider",
      -  "categories",
      -  "accessMethods",
      -  "authType",
      -  "verified",
      -  "official",
      -  "officialVendor",
      -  "url"
      -]New value: +[
      +  "name",
      +  "slug",
      +  "description",
      +  "provider",
      +  "categories",
      +  "accessMethods",
      +  "authType",
      +  "verified",
      +  "official",
      +  "officialVendor",
      +  "featured",
      +  "url"
      +]
  3. Changed4 schema fields changed
    • addedInput schema / properties / official
      Added value: +{
      +  "description": "Only first-party listings from major vendors (e.g. Notion's own Notion MCP)",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / agents / items / properties / official
      Added value: +{
      +  "description": "First-party listing from a major vendor",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / agents / items / properties / officialVendor
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • changedOutput schema / properties / agents / items / required
      Previous value: -[
      -  "name",
      -  "slug",
      -  "description",
      -  "provider",
      -  "categories",
      -  "accessMethods",
      -  "authType",
      -  "verified",
      -  "url"
      -]New value: +[
      +  "name",
      +  "slug",
      +  "description",
      +  "provider",
      +  "categories",
      +  "accessMethods",
      +  "authType",
      +  "verified",
      +  "official",
      +  "officialVendor",
      +  "url"
      +]
  4. Changed6 schema fields changed
    • addedInput schema / properties / limit / description
      Added value: +"Max results per page (1–50)"
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Number of results to skip, for pagination",
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / limit
      Added value: +{
      +  "type": "integer"
      +}
    • addedOutput schema / properties / offset
      Added value: +{
      +  "type": "integer"
      +}
    • addedOutput schema / properties / total / description
      Added value: +"Total matches before paging"
    • changedOutput schema / required
      Previous value: -[
      -  "total",
      -  "agents"
      -]New value: +[
      +  "total",
      +  "offset",
      +  "limit",
      +  "agents"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "agents": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "accessMethods": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "authType": {
      +            "type": "string"
      +          },
      +          "categories": {
      +            "items": {
      +              "type": "string"
      +            },
      +            "type": "array"
      +          },
      +          "description": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          },
      +          "provider": {
      +            "type": "string"
      +          },
      +          "slug": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          },
      +          "verified": {
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "name",
      +          "slug",
      +          "description",
      +          "provider",
      +          "categories",
      +          "accessMethods",
      +          "authType",
      +          "verified",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total": {
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "agents"
      +  ],
      +  "type": "object"
      +}
  6. First observed

TDQS

A4/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior, and the description adds substantial meaning on top: how 'Verified' is computed (URLs load, declared access responds, re-checked monthly, label drops on failure), what 'Official' means (first-party under the vendor's own domain/GitHub org, major-vendor threshold, not paid placement), and that 'Featured' is maintainer-set. These are exactly the trust signals an agent needs to interpret results and are unavailable anywhere else.

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?

Purpose and filter surface are front-loaded in the first sentence, and every subsequent sentence carries information (verification lifecycle, official criteria, ordering rules). It runs long for an 11-parameter tool and the Featured/ordering sentences are dense, but nothing is plainly redundant with the schema.

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

Completeness4/5

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

With 11 fully documented params, an output schema, and rich annotations, the description's remaining obligation is explaining the qualitative labels it filters on — and it does that thoroughly for Verified, Official, and Featured. Pagination and rate-limit behavior are only covered by the limit/offset schema fields, which is a minor residual gap.

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, but the description adds real semantics the schema only gestures at — the definition of 'Official' (publicly traded, frontier AI lab, or ~$1B+ valuation) and the tie-break interaction between relevance ranking and the featured-first ordering. The verified/official/featured distinctions map directly to the boolean and sort parameters.

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

Purpose4/5

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

Opens with a specific verb and resource: 'Search the curated Agent Switchboard directory of AI agents, MCP servers, and agentic tools', plus the filter/sort surface. An agent can tell this is the broad discovery tool rather than a single-record fetch like get_agent. It stops short of naming siblings (alternatives_to, compare_agents, list_categories) to make the boundary explicit.

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

Usage Guidelines3/5

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

Usage is implied through the enumeration of filters and the rule that with no search text results list featured-first then A→Z, and with text they rank by relevance. There is no explicit 'use this when… / use X instead' guidance against the sibling tools, so the agent must infer that this is the entry point versus compare_agents or get_agent.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.