Skip to main content
Glama
aywengo

MCP Kafka Schema Reg

count_contexts

Determine the total number of contexts within a Kafka Schema Registry using this tool, enabling efficient registry management and schema organization.

Instructions

Count the number of contexts in a registry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
registryNo

Implementation Reference

  • Core implementation of the count_contexts tool handler. Uses registry client to fetch contexts, counts them, and returns structured JSON with metadata and error handling.
    @structured_output("count_contexts", fallback_on_error=True)
    def count_contexts_tool(registry_manager, registry_mode: str, registry: Optional[str] = None) -> Dict[str, Any]:
        """
        Count the number of contexts in a registry.
    
        Args:
            registry: Optional registry name (ignored in single-registry mode)
    
        Returns:
            Dictionary containing context count and details with registry metadata and structured validation
        """
        try:
            if registry_mode == "single":
                client = get_default_client(registry_manager)
            else:
                client = registry_manager.get_registry(registry)
                if client is None:
                    return create_error_response(
                        f"Registry '{registry}' not found",
                        error_code="REGISTRY_NOT_FOUND",
                        registry_mode=registry_mode,
                    )
    
            contexts = client.get_contexts()
            if isinstance(contexts, dict) and "error" in contexts:
                return create_error_response(
                    f"Failed to get contexts: {contexts.get('error')}",
                    error_code="CONTEXTS_RETRIEVAL_FAILED",
                    registry_mode=registry_mode,
                )
    
            # Get registry metadata
            metadata = client.get_server_metadata()
    
            result = {
                "registry": (client.config.name if hasattr(client.config, "name") else "default"),
                "count": len(contexts),
                "scope": "contexts",
                "contexts": contexts,
                "counted_at": datetime.now().isoformat(),
                "registry_mode": registry_mode,
                "mcp_protocol_version": "2025-06-18",
            }
    
            # Add metadata information, but preserve the scope field
            metadata_copy = metadata.copy()
            if "scope" in metadata_copy:
                # Preserve the simple string scope, but add server scope info separately
                metadata_copy["server_scope"] = metadata_copy.pop("scope")
            result.update(metadata_copy)
    
            return result
        except Exception as e:
            return create_error_response(str(e), error_code="CONTEXT_COUNT_FAILED", registry_mode=registry_mode)
  • JSON Schema definition (COUNT_SCHEMA) used for validating the structured output of the count_contexts tool.
    COUNT_SCHEMA = {
        "type": "object",
        "properties": {
            "count": {"type": "integer", "minimum": 0, "description": "Count result"},
            "scope": {
                "type": "string",
                "description": "What was counted (contexts, schemas, versions)",
            },
            "context": {
                "type": "string",
                "description": "Context name if scoped to context",
            },
            "registry": {"type": "string", "description": "Registry name"},
            **METADATA_FIELDS,
        },
        "required": ["count", "scope"],
        "additionalProperties": True,
    }
  • Mapping of the 'count_contexts' tool name to its output schema (COUNT_SCHEMA) in the TOOL_OUTPUT_SCHEMAS dictionary.
    "count_contexts": COUNT_SCHEMA,
  • Registration metadata for the count_contexts operation, specifying it as a QUICK direct operation (no task queue). Used for MCP client guidance.
    "count_contexts": {
        "duration": OperationDuration.QUICK,
        "pattern": AsyncPattern.DIRECT,
Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aywengo/kafka-schema-reg-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server