Skip to main content
Glama

Get connection capabilities

koskamo_get_capabilities
Read-onlyIdempotent

Read supported discovery and exact knowledge capabilities with separate configuration and authority states. No inputs, writes, provider execution, or charges. Store availability is not probed.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "koskamo_get_capabilities"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "context": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "app_id": {
      -            "const": "koskamo",
      -            "type": "string"
      -          },
      -          "environment": {
      -            "enum": [
      -              "public",
      -              "production",
      -              "sandbox"
      -            ],
      -            "type": "string"
      -          },
      -          "tenant_ref": {
      -            "type": "null"
      -          },
      -          "timezone": {
      -            "const": "UTC",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "app_id",
      -          "tenant_ref",
      -          "environment",
      -          "timezone"
      -        ],
      -        "type": "object"
      -      },
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "completeness": {
      -            "enum": [
      -              "complete",
      -              "partial",
      -              "unavailable"
      -            ],
      -            "type": "string"
      -          },
      -          "items": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "authorized": {
      -                  "enum": [
      -                    "yes",
      -                    "no",
      -                    "unknown"
      -                  ],
      -                  "type": "string"
      -                },
      -                "blockers": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "code": {
      -                        "type": "string"
      -                      },
      -                      "message": {
      -                        "type": "string"
      -                      },
      -                      "next_actions": {
      -                        "items": {
      -                          "not": {}
      -                        },
      -                        "type": "array"
      -                      }
      -                    },
      -                    "required": [
      -                      "code",
      -                      "message",
      -                      "next_actions"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "capability_id": {
      -                  "type": "string"
      -                },
      -                "configured": {
      -                  "enum": [
      -                    "yes",
      -                    "no",
      -                    "unknown"
      -                  ],
      -                  "type": "string"
      -                },
      -                "effect_class": {
      -                  "enum": [
      -                    "read",
      -                    "preview",
      -                    "draft_write",
      -                    "internal_write",
      -                    "external_write",
      -                    "financial_write",
      -                    "admin_write"
      -                  ],
      -                  "type": "string"
      -                },
      -                "evidence_level": {
      -                  "enum": [
      -                    "source_only",
      -                    "deployed",
      -                    "client_verified"
      -                  ],
      -                  "type": "string"
      -                },
      -                "limits": {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "max_page_size": {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    },
      -                    "max_result_bytes": {
      -                      "maximum": 9007199254740991,
      -                      "minimum": -9007199254740991,
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "required": [
      -                    "max_page_size",
      -                    "max_result_bytes"
      -                  ],
      -                  "type": "object"
      -                },
      -                "observed_at": {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                "ready": {
      -                  "enum": [
      -                    "yes",
      -                    "no",
      -                    "unknown"
      -                  ],
      -                  "type": "string"
      -                },
      -                "required_scopes": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "supported": {
      -                  "enum": [
      -                    "yes",
      -                    "no",
      -                    "unknown"
      -                  ],
      -                  "type": "string"
      -                },
      -                "tool_names": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                }
      -              },
      -              "required": [
      -                "capability_id",
      -                "tool_names",
      -                "supported",
      -                "configured",
      -                "authorized",
      -                "ready",
      -                "blockers",
      -                "required_scopes",
      -                "effect_class",
      -                "limits",
      -                "observed_at",
      -                "evidence_level"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "omissions": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "code": {
      -                  "type": "string"
      -                },
      -                "count": {
      -                  "anyOf": [
      -                    {
      -                      "maximum": 9007199254740991,
      -                      "minimum": 0,
      -                      "type": "integer"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ]
      -                },
      -                "reason": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "code",
      -                "reason",
      -                "count"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "page": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "consistency": {
      -                "enum": [
      -                  "snapshot",
      -                  "live"
      -                ],
      -                "type": "string"
      -              },
      -              "has_more": {
      -                "type": "boolean"
      -              },
      -              "next_cursor": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "returned_count": {
      -                "maximum": 9007199254740991,
      -                "minimum": 0,
      -                "type": "integer"
      -              },
      -              "snapshot_expires_at": {
      -                "format": "date-time",
      -                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                "type": "string"
      -              },
      -              "snapshot_id": {
      -                "type": "string"
      -              },
      -              "total_count": {
      -                "anyOf": [
      -                  {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "returned_count",
      -              "total_count",
      -              "has_more",
      -              "next_cursor",
      -              "consistency"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "items",
      -          "page",
      -          "completeness",
      -          "omissions"
      -        ],
      -        "type": "object"
      -      },
      -      "generated_at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "collection",
      -        "type": "string"
      -      },
      -      "next_actions": {
      -        "items": {
      -          "oneOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "tool_name": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "call_tool",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "tool_name",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "open_url",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "format": "uri",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "url",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "fields": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "provide_input",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "fields",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "retry_after_ms": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "type": {
      -                  "const": "wait",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "retry_after_ms",
      -                "reason"
      -              ],
      -              "type": "object"
      -            }
      -          ]
      -        },
      -        "type": "array"
      -      },
      -      "provenance": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "freshness": {
      -              "enum": [
      -                "fresh",
      -                "stale",
      -                "unknown"
      -              ],
      -              "type": "string"
      -            },
      -            "observed_at": {
      -              "anyOf": [
      -                {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "retrieved_at": {
      -              "format": "date-time",
      -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -              "type": "string"
      -            },
      -            "source_id": {
      -              "type": "string"
      -            },
      -            "source_url": {
      -              "format": "uri",
      -              "type": "string"
      -            },
      -            "source_version": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source_id",
      -            "observed_at",
      -            "retrieved_at",
      -            "freshness"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "request_id": {
      -        "type": "string"
      -      },
      -      "schema_version": {
      -        "const": "1.0.0",
      -        "type": "string"
      -      },
      -      "warnings": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "code": {
      -              "type": "string"
      -            },
      -            "field": {
      -              "type": "string"
      -            },
      -            "message": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "code",
      -            "message"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "schema_version",
      -      "kind",
      -      "request_id",
      -      "generated_at",
      -      "context",
      -      "data",
      -      "warnings",
      -      "next_actions"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "context": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "app_id": {
      -            "const": "koskamo",
      -            "type": "string"
      -          },
      -          "environment": {
      -            "enum": [
      -              "public",
      -              "production",
      -              "sandbox"
      -            ],
      -            "type": "string"
      -          },
      -          "tenant_ref": {
      -            "type": "null"
      -          },
      -          "timezone": {
      -            "const": "UTC",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "app_id",
      -          "tenant_ref",
      -          "environment",
      -          "timezone"
      -        ],
      -        "type": "object"
      -      },
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "enum": [
      -              "invalid_input",
      -              "unauthenticated",
      -              "permission_denied",
      -              "consent_required",
      -              "ambiguous_target",
      -              "not_found",
      -              "unsupported_capability",
      -              "configuration_required",
      -              "integration_expired",
      -              "stale_data",
      -              "version_conflict",
      -              "approval_required",
      -              "approval_expired",
      -              "idempotency_conflict",
      -              "rate_limited",
      -              "quota_exceeded",
      -              "provider_unavailable",
      -              "outcome_unknown",
      -              "reconciliation_required",
      -              "cursor_expired",
      -              "artifact_expired",
      -              "internal_error"
      -            ],
      -            "type": "string"
      -          },
      -          "domain_code": {
      -            "type": "string"
      -          },
      -          "effects": {
      -            "enum": [
      -              "none",
      -              "committed",
      -              "partial",
      -              "unknown"
      -            ],
      -            "type": "string"
      -          },
      -          "field_errors": {
      -            "items": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "field": {
      -                  "type": "string"
      -                },
      -                "message": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "field",
      -                "message"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "message": {
      -            "type": "string"
      -          },
      -          "operation_id": {
      -            "type": "string"
      -          },
      -          "retry_after_ms": {
      -            "maximum": 9007199254740991,
      -            "minimum": 0,
      -            "type": "integer"
      -          },
      -          "retry_strategy": {
      -            "enum": [
      -              "never",
      -              "same_request",
      -              "after_delay",
      -              "after_correction",
      -              "reconcile_first"
      -            ],
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message",
      -          "effects",
      -          "retry_strategy"
      -        ],
      -        "type": "object"
      -      },
      -      "generated_at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "kind": {
      -        "const": "error",
      -        "type": "string"
      -      },
      -      "next_actions": {
      -        "items": {
      -          "oneOf": [
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "tool_name": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "call_tool",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "tool_name",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "open_url",
      -                  "type": "string"
      -                },
      -                "url": {
      -                  "format": "uri",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "url",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "fields": {
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "type": {
      -                  "const": "provide_input",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "fields",
      -                "reason"
      -              ],
      -              "type": "object"
      -            },
      -            {
      -              "additionalProperties": false,
      -              "properties": {
      -                "reason": {
      -                  "type": "string"
      -                },
      -                "retry_after_ms": {
      -                  "maximum": 9007199254740991,
      -                  "minimum": 0,
      -                  "type": "integer"
      -                },
      -                "type": {
      -                  "const": "wait",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "type",
      -                "retry_after_ms",
      -                "reason"
      -              ],
      -              "type": "object"
      -            }
      -          ]
      -        },
      -        "type": "array"
      -      },
      -      "provenance": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "freshness": {
      -              "enum": [
      -                "fresh",
      -                "stale",
      -                "unknown"
      -              ],
      -              "type": "string"
      -            },
      -            "observed_at": {
      -              "anyOf": [
      -                {
      -                  "format": "date-time",
      -                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                  "type": "string"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ]
      -            },
      -            "retrieved_at": {
      -              "format": "date-time",
      -              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -              "type": "string"
      -            },
      -            "source_id": {
      -              "type": "string"
      -            },
      -            "source_url": {
      -              "format": "uri",
      -              "type": "string"
      -            },
      -            "source_version": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "source_id",
      -            "observed_at",
      -            "retrieved_at",
      -            "freshness"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "request_id": {
      -        "type": "string"
      -      },
      -      "schema_version": {
      -        "const": "1.0.0",
      -        "type": "string"
      -      },
      -      "warnings": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "code": {
      -              "type": "string"
      -            },
      -            "field": {
      -              "type": "string"
      -            },
      -            "message": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "code",
      -            "message"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "schema_version",
      -      "kind",
      -      "request_id",
      -      "generated_at",
      -      "context",
      -      "data",
      -      "warnings",
      -      "next_actions"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "context": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "app_id": {
      +            "const": "koskamo",
      +            "type": "string"
      +          },
      +          "environment": {
      +            "enum": [
      +              "public",
      +              "production",
      +              "sandbox"
      +            ],
      +            "type": "string"
      +          },
      +          "tenant_ref": {
      +            "type": "null"
      +          },
      +          "timezone": {
      +            "const": "UTC",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "app_id",
      +          "tenant_ref",
      +          "environment",
      +          "timezone"
      +        ],
      +        "type": "object"
      +      },
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "completeness": {
      +            "enum": [
      +              "complete",
      +              "partial",
      +              "unavailable"
      +            ],
      +            "type": "string"
      +          },
      +          "items": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "authorized": {
      +                  "enum": [
      +                    "yes",
      +                    "no",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "blockers": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "code": {
      +                        "type": "string"
      +                      },
      +                      "message": {
      +                        "type": "string"
      +                      },
      +                      "next_actions": {
      +                        "items": {
      +                          "not": {}
      +                        },
      +                        "type": "array"
      +                      }
      +                    },
      +                    "required": [
      +                      "code",
      +                      "message",
      +                      "next_actions"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "capability_id": {
      +                  "type": "string"
      +                },
      +                "configured": {
      +                  "enum": [
      +                    "yes",
      +                    "no",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "effect_class": {
      +                  "enum": [
      +                    "read",
      +                    "preview",
      +                    "draft_write",
      +                    "internal_write",
      +                    "external_write",
      +                    "financial_write",
      +                    "admin_write"
      +                  ],
      +                  "type": "string"
      +                },
      +                "evidence_level": {
      +                  "enum": [
      +                    "source_only",
      +                    "deployed",
      +                    "client_verified"
      +                  ],
      +                  "type": "string"
      +                },
      +                "limits": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "max_page_size": {
      +                      "maximum": 9007199254740991,
      +                      "minimum": -9007199254740991,
      +                      "type": "integer"
      +                    },
      +                    "max_result_bytes": {
      +                      "maximum": 9007199254740991,
      +                      "minimum": -9007199254740991,
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "required": [
      +                    "max_page_size",
      +                    "max_result_bytes"
      +                  ],
      +                  "type": "object"
      +                },
      +                "observed_at": {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                "ready": {
      +                  "enum": [
      +                    "yes",
      +                    "no",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "required_scopes": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "supported": {
      +                  "enum": [
      +                    "yes",
      +                    "no",
      +                    "unknown"
      +                  ],
      +                  "type": "string"
      +                },
      +                "tool_names": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "capability_id",
      +                "tool_names",
      +                "supported",
      +                "configured",
      +                "authorized",
      +                "ready",
      +                "blockers",
      +                "required_scopes",
      +                "effect_class",
      +                "limits",
      +                "observed_at",
      +                "evidence_level"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "omissions": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "code": {
      +                  "type": "string"
      +                },
      +                "count": {
      +                  "anyOf": [
      +                    {
      +                      "maximum": 9007199254740991,
      +                      "minimum": 0,
      +                      "type": "integer"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ]
      +                },
      +                "reason": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "code",
      +                "reason",
      +                "count"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "page": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "consistency": {
      +                "enum": [
      +                  "snapshot",
      +                  "live"
      +                ],
      +                "type": "string"
      +              },
      +              "has_more": {
      +                "type": "boolean"
      +              },
      +              "next_cursor": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "returned_count": {
      +                "maximum": 9007199254740991,
      +                "minimum": 0,
      +                "type": "integer"
      +              },
      +              "snapshot_expires_at": {
      +                "format": "date-time",
      +                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                "type": "string"
      +              },
      +              "snapshot_id": {
      +                "type": "string"
      +              },
      +              "total_count": {
      +                "anyOf": [
      +                  {
      +                    "maximum": 9007199254740991,
      +                    "minimum": 0,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "returned_count",
      +              "total_count",
      +              "has_more",
      +              "next_cursor",
      +              "consistency"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "items",
      +          "page",
      +          "completeness",
      +          "omissions"
      +        ],
      +        "type": "object"
      +      },
      +      "generated_at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "collection",
      +        "type": "string"
      +      },
      +      "next_actions": {
      +        "items": {
      +          "oneOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "tool_name": {
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "call_tool",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "tool_name",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "open_url",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "format": "uri",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "url",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "fields": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "provide_input",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "fields",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "retry_after_ms": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "type": {
      +                  "const": "wait",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "retry_after_ms",
      +                "reason"
      +              ],
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "type": "array"
      +      },
      +      "provenance": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "freshness": {
      +              "enum": [
      +                "fresh",
      +                "stale",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            },
      +            "observed_at": {
      +              "anyOf": [
      +                {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "retrieved_at": {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            "source_id": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "source_url": {
      +              "format": "uri",
      +              "type": "string"
      +            },
      +            "source_version": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source_id",
      +            "observed_at",
      +            "retrieved_at",
      +            "freshness"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "request_id": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "schema_version": {
      +        "const": "1.0.0",
      +        "type": "string"
      +      },
      +      "warnings": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "field": {
      +              "type": "string"
      +            },
      +            "message": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "schema_version",
      +      "kind",
      +      "request_id",
      +      "generated_at",
      +      "context",
      +      "data",
      +      "warnings",
      +      "next_actions"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "context": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "app_id": {
      +            "const": "koskamo",
      +            "type": "string"
      +          },
      +          "environment": {
      +            "enum": [
      +              "public",
      +              "production",
      +              "sandbox"
      +            ],
      +            "type": "string"
      +          },
      +          "tenant_ref": {
      +            "type": "null"
      +          },
      +          "timezone": {
      +            "const": "UTC",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "app_id",
      +          "tenant_ref",
      +          "environment",
      +          "timezone"
      +        ],
      +        "type": "object"
      +      },
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "enum": [
      +              "invalid_input",
      +              "unauthenticated",
      +              "permission_denied",
      +              "consent_required",
      +              "ambiguous_target",
      +              "not_found",
      +              "unsupported_capability",
      +              "configuration_required",
      +              "integration_expired",
      +              "stale_data",
      +              "version_conflict",
      +              "approval_required",
      +              "approval_expired",
      +              "idempotency_conflict",
      +              "rate_limited",
      +              "quota_exceeded",
      +              "provider_unavailable",
      +              "outcome_unknown",
      +              "reconciliation_required",
      +              "cursor_expired",
      +              "artifact_expired",
      +              "internal_error"
      +            ],
      +            "type": "string"
      +          },
      +          "domain_code": {
      +            "type": "string"
      +          },
      +          "effects": {
      +            "enum": [
      +              "none",
      +              "committed",
      +              "partial",
      +              "unknown"
      +            ],
      +            "type": "string"
      +          },
      +          "field_errors": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "field": {
      +                  "type": "string"
      +                },
      +                "message": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "field",
      +                "message"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "message": {
      +            "type": "string"
      +          },
      +          "operation_id": {
      +            "type": "string"
      +          },
      +          "retry_after_ms": {
      +            "maximum": 9007199254740991,
      +            "minimum": 0,
      +            "type": "integer"
      +          },
      +          "retry_strategy": {
      +            "enum": [
      +              "never",
      +              "same_request",
      +              "after_delay",
      +              "after_correction",
      +              "reconcile_first"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message",
      +          "effects",
      +          "retry_strategy"
      +        ],
      +        "type": "object"
      +      },
      +      "generated_at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "kind": {
      +        "const": "error",
      +        "type": "string"
      +      },
      +      "next_actions": {
      +        "items": {
      +          "oneOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "tool_name": {
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "call_tool",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "tool_name",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "open_url",
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "format": "uri",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "url",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "fields": {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "type": {
      +                  "const": "provide_input",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "fields",
      +                "reason"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "reason": {
      +                  "type": "string"
      +                },
      +                "retry_after_ms": {
      +                  "maximum": 9007199254740991,
      +                  "minimum": 0,
      +                  "type": "integer"
      +                },
      +                "type": {
      +                  "const": "wait",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "type",
      +                "retry_after_ms",
      +                "reason"
      +              ],
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "type": "array"
      +      },
      +      "provenance": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "freshness": {
      +              "enum": [
      +                "fresh",
      +                "stale",
      +                "unknown"
      +              ],
      +              "type": "string"
      +            },
      +            "observed_at": {
      +              "anyOf": [
      +                {
      +                  "format": "date-time",
      +                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "retrieved_at": {
      +              "format": "date-time",
      +              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +              "type": "string"
      +            },
      +            "source_id": {
      +              "minLength": 1,
      +              "type": "string"
      +            },
      +            "source_url": {
      +              "format": "uri",
      +              "type": "string"
      +            },
      +            "source_version": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source_id",
      +            "observed_at",
      +            "retrieved_at",
      +            "freshness"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "request_id": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "schema_version": {
      +        "const": "1.0.0",
      +        "type": "string"
      +      },
      +      "warnings": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "code": {
      +              "type": "string"
      +            },
      +            "field": {
      +              "type": "string"
      +            },
      +            "message": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "schema_version",
      +      "kind",
      +      "request_id",
      +      "generated_at",
      +      "context",
      +      "data",
      +      "warnings",
      +      "next_actions"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Added

TDQS

B3.4/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 the safety profile is covered. The description still earns credit by adding meaningful behavior beyond them: no inputs, no writes, no provider execution, no charges, and explicitly that store availability is not probed — pre-empting a common false expectation about what the returned states reflect.

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?

Two tight sentences, front-loaded with the resource and its scope, followed by negative constraints. No filler, though the phrase 'discovery and exact knowledge capabilities' is dense enough to be ambiguous rather than efficient.

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 an output schema present, the description need not explain return values, and the annotation set covers safety semantics. For a zero-parameter read tool, the main remaining gap is routing guidance against the many similarly named get_* and check_* siblings, which the description does not supply.

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?

The tool takes zero parameters, so the baseline is 4; the schema is empty and there is nothing further the description could add about parameter meaning. The description's 'No inputs' statement is consistent with the schema.

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

Purpose3/5

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

The description says it reads 'supported discovery and exact knowledge capabilities' with 'separate configuration and authority states', which identifies a read of capability metadata. However, 'discovery and exact knowledge capabilities' is internal jargon, and the description never distinguishes this from near-neighbours like koskamo_check_readiness, koskamo_get_connection_health, or koskamo_get_connection_plan, so an agent cannot confidently pick this tool over those.

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

Usage Guidelines2/5

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

There is no explicit statement of when to call this versus its siblings. The line 'Store availability is not probed' implies that liveness/availability questions belong to check_readiness or get_connection_health, but that alternative is never named and no prerequisites are given.

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