Skip to main content
Glama

Find an MCP server

koskamo_find_mcp_server
Read-onlyIdempotent

Find remote MCP servers and local MCP packages. Filter by vendor/community publisher, transport, capabilities, and sign-in. Live-check and source-verification states are returned independently.

Input Schema

NameRequiredDescriptionDefault
authNoOptional remote sign-in filter
kindNoRemote endpoint or local package
limitNoMaximum rows in this page
queryNoWords to match against name, operator, description, use cases, requirements, and capability descriptions
offsetNoContinue from pagination.nextOffset while keeping the same filters
behaviorNoMatch explicit server-advertised annotations only
categoryNoOptional category filter
publisherNo
transportNo
capabilityNo

Output Schema

NameRequiredDescriptionDefault
serversYes
paginationYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed20 schema fields changed
    • changedInput schema / properties / auth / description
      Previous value: -"Optional sign-in filter; none means usable without an account; oauth-optional means public tools work anonymously and account tools prompt OAuth sign-in"New value: +"Optional remote sign-in filter"
    • addedInput schema / properties / behavior
      Added value: +{
      +  "description": "Match explicit server-advertised annotations only",
      +  "enum": [
      +    "read-only",
      +    "writes"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / capability
      Added value: +{
      +  "enum": [
      +    "tools",
      +    "resources",
      +    "prompts"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "Remote endpoint or local package",
      +  "enum": [
      +    "remote",
      +    "package"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / publisher
      Added value: +{
      +  "enum": [
      +    "vendor",
      +    "community"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Words to match against name, operator, description, use cases, and tool names"New value: +"Words to match against name, operator, description, use cases, requirements, and capability descriptions"
    • addedInput schema / properties / transport
      Added value: +{
      +  "enum": [
      +    "streamable-http",
      +    "sse",
      +    "stdio"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / servers / items / properties / auth / enum
      Previous value: -[
      -  "none",
      -  "oauth-optional",
      -  "oauth",
      -  "api-key"
      -]New value: +[
      +  "none",
      +  "oauth-optional",
      +  "oauth",
      +  "api-key",
      +  null
      +]
    • changedOutput schema / properties / servers / items / properties / auth / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / servers / items / properties / catalogKind
      Added value: +{
      +  "enum": [
      +    "remote",
      +    "package"
      +  ],
      +  "type": "string"
      +}
    • changedOutput schema / properties / servers / items / properties / endpoint / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / servers / items / properties / observationState
      Added value: +{
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / servers / items / properties / promptCount
      Added value: +{
      +  "minimum": 0,
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / servers / items / properties / publisherKind
      Added value: +{
      +  "enum": [
      +    "vendor",
      +    "community"
      +  ],
      +  "type": "string"
      +}
    • addedOutput schema / properties / servers / items / properties / registryVersion
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / servers / items / properties / repository
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / servers / items / properties / resourceCount
      Added value: +{
      +  "minimum": 0,
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / servers / items / properties / toolCount
      Added value: +{
      +  "minimum": 0,
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • addedOutput schema / properties / servers / items / properties / transport / enum
      Added value: +[
      +  "streamable-http",
      +  "sse",
      +  "stdio"
      +]
    • changedOutput schema / properties / servers / items / required
      Previous value: -[
      -  "id",
      -  "name",
      -  "operator",
      -  "endpoint",
      -  "transport",
      -  "auth",
      -  "category",
      -  "docsUrl",
      -  "directoryUrl"
      -]New value: +[
      +  "id",
      +  "name",
      +  "operator",
      +  "catalogKind",
      +  "publisherKind",
      +  "endpoint",
      +  "transport",
      +  "auth",
      +  "category",
      +  "docsUrl",
      +  "directoryUrl"
      +]
  2. Changed4 schema fields changed
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 50,
      +  "description": "Maximum rows in this page",
      +  "maximum": 100,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Continue from pagination.nextOffset while keeping the same filters",
      +  "maximum": 9007199254740891,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / pagination
      Added value: +{
      +  "properties": {
      +    "hasMore": {
      +      "type": "boolean"
      +    },
      +    "limit": {
      +      "maximum": 100,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    "nextOffset": {
      +      "minimum": 0,
      +      "type": [
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "offset": {
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "limit",
      +    "offset",
      +    "hasMore",
      +    "nextOffset"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "servers"
      -]New value: +[
      +  "servers",
      +  "pagination"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "docs-reference",
      -  "developer-tools",
      -  "cloud-infrastructure",
      -  "data-analytics",
      -  "ai-ml",
      -  "commerce",
      -  "payments",
      -  "productivity",
      -  "project-management",
      -  "crm-marketing",
      -  "design"
      -]New value: +[
      +  "docs-reference",
      +  "developer-tools",
      +  "cloud-infrastructure",
      +  "data-analytics",
      +  "ai-ml",
      +  "commerce",
      +  "payments",
      +  "productivity",
      +  "project-management",
      +  "crm-marketing",
      +  "erp-supply-chain",
      +  "design"
      +]
    • changedOutput schema / properties / servers / items / properties / category / enum
      Previous value: -[
      -  "docs-reference",
      -  "developer-tools",
      -  "cloud-infrastructure",
      -  "data-analytics",
      -  "ai-ml",
      -  "commerce",
      -  "payments",
      -  "productivity",
      -  "project-management",
      -  "crm-marketing",
      -  "design"
      -]New value: +[
      +  "docs-reference",
      +  "developer-tools",
      +  "cloud-infrastructure",
      +  "data-analytics",
      +  "ai-ml",
      +  "commerce",
      +  "payments",
      +  "productivity",
      +  "project-management",
      +  "crm-marketing",
      +  "erp-supply-chain",
      +  "design"
      +]
  4. Changed1 schema field changed
    • addedOutput schema / properties / servers / items / properties / requirements
      Added value: +{
      +  "description": "Accounts, subscriptions, or keys needed before the server is useful",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  5. Changed3 schema fields changed
    • changedInput schema / properties / category / enum
      Previous value: -[
      -  "docs-reference",
      -  "developer-tools",
      -  "cloud-infrastructure",
      -  "data-analytics",
      -  "ai-ml",
      -  "payments-commerce",
      -  "productivity",
      -  "project-management",
      -  "crm-marketing",
      -  "design"
      -]New value: +[
      +  "docs-reference",
      +  "developer-tools",
      +  "cloud-infrastructure",
      +  "data-analytics",
      +  "ai-ml",
      +  "commerce",
      +  "payments",
      +  "productivity",
      +  "project-management",
      +  "crm-marketing",
      +  "design"
      +]
    • changedOutput schema / properties / servers / items / properties / category / enum
      Previous value: -[
      -  "docs-reference",
      -  "developer-tools",
      -  "cloud-infrastructure",
      -  "data-analytics",
      -  "ai-ml",
      -  "payments-commerce",
      -  "productivity",
      -  "project-management",
      -  "crm-marketing",
      -  "design"
      -]New value: +[
      +  "docs-reference",
      +  "developer-tools",
      +  "cloud-infrastructure",
      +  "data-analytics",
      +  "ai-ml",
      +  "commerce",
      +  "payments",
      +  "productivity",
      +  "project-management",
      +  "crm-marketing",
      +  "design"
      +]
    • addedOutput schema / properties / servers / items / properties / companyUrl
      Added value: +{
      +  "description": "Company website",
      +  "format": "uri",
      +  "type": "string"
      +}
  6. Changed3 schema fields changed
    • changedInput schema / properties / auth / description
      Previous value: -"Optional sign-in filter; none means usable without an account"New value: +"Optional sign-in filter; none means usable without an account; oauth-optional means public tools work anonymously and account tools prompt OAuth sign-in"
    • changedInput schema / properties / auth / enum
      Previous value: -[
      -  "none",
      -  "oauth",
      -  "api-key"
      -]New value: +[
      +  "none",
      +  "oauth-optional",
      +  "oauth",
      +  "api-key"
      +]
    • changedOutput schema / properties / servers / items / properties / auth / enum
      Previous value: -[
      -  "none",
      -  "oauth",
      -  "api-key"
      -]New value: +[
      +  "none",
      +  "oauth-optional",
      +  "oauth",
      +  "api-key"
      +]
  7. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, openWorld, idempotent, non-destructive, so the safety profile is covered structurally. The description adds one genuinely non-obvious trait — that live-check and source-verification are independent states — which affects how results should be interpreted. It says nothing about empty result sets, result-set breadth, or how pagination behaves in practice.

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 short sentences, front-loaded with the resource and then the filter surface; minimal waste. The closing sentence on live-check/source-verification is compressed to the point of being slightly opaque out of context, but it earns its place as output interpretation.

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

Completeness3/5

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

With 10 optional parameters, an output schema in place, and rich annotations, the description does not need to explain return values. Still, for a faceted search tool it leaves filter-combination semantics and pagination expectations unstated, which is a meaningful gap at this parameter count.

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 70% with seven enums, so the schema already carries most semantics, including the important note that behavior matches only explicitly advertised annotations. The description reinforces the filter axes (publisher, transport, capabilities, sign-in) but adds no matching rules for query, no guidance on combining filters, and no explanation of limit/offset interplay beyond what the schema states.

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 a two-part resource ("Find remote MCP servers and local MCP packages"), which tells an agent exactly what universe is being searched. It is clearly a discovery/list tool rather than the get-by-id sibling, though it never names koskamo_get_mcp_server or koskamo_register_mcp_server 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?

The list of filter dimensions implies a faceted search use case, but there is no statement of when to reach for this versus koskamo_get_mcp_server (lookup by known id) or how it relates to registration. Usage is inferable from context, not stated.

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.

Resources