Skip to main content
Glama

STAC MCP Server

by BnJam
get_queryables.py1.21 kB
"""Tool to fetch STAC API (or collection) queryables.""" from typing import Any from mcp.types import TextContent from stac_mcp.tools.client import STACClient PREVIEW_LIMIT = 25 def handle_get_queryables( client: STACClient, arguments: dict[str, Any], ) -> list[TextContent] | dict[str, Any]: collection_id = arguments.get("collection_id") data = client.get_queryables(collection_id=collection_id) if arguments.get("output_format") == "json": return {"type": "queryables", **data} props = data.get("queryables", {}) result_text = "**Queryables**\n\n" if not props: result_text += data.get("message", "No queryables available") + "\n" return [TextContent(type="text", text=result_text)] result_text += f"Collection: {collection_id or 'GLOBAL'}\n" result_text += f"Count: {len(props)}\n\n" for name, spec in list(props.items())[:PREVIEW_LIMIT]: typ = spec.get("type", "unknown") if isinstance(spec, dict) else "unknown" result_text += f" - {name}: {typ}\n" if len(props) > PREVIEW_LIMIT: result_text += f" ... and {len(props) - PREVIEW_LIMIT} more\n" return [TextContent(type="text", text=result_text)]

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/BnJam/stac-mcp'

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