Skip to main content
Glama
ondata

CKAN MCP Server

by ondata

SPARQL Query

sparql_query
Read-onlyIdempotent

Execute SPARQL SELECT queries against public HTTPS SPARQL endpoints to retrieve data from open data portals and knowledge graphs.

Instructions

Execute a SPARQL SELECT query against any public HTTPS SPARQL endpoint.

Useful for querying open data portals and knowledge graphs that expose SPARQL endpoints, including:

  • data.europa.eu (European open data portal)

  • publications.europa.eu (EU Publications Office)

  • DBpedia, Wikidata

  • Any DCAT-AP compliant data catalog

Only HTTPS endpoints are allowed. Queries timeout after 15 seconds. Only SELECT queries are supported (read-only).

If the query does not contain a LIMIT clause, one is injected automatically (default: 25, max: 1000).

Args:

  • endpoint_url (string): HTTPS URL of the SPARQL endpoint

  • query (string): SPARQL SELECT query to execute

  • limit (number): Max rows to return (default: 25). Ignored if query already contains LIMIT.

  • response_format ('markdown' | 'json'): Output format

Examples:

  • Count Italian HVD datasets by publisher on data.europa.eu

  • Query Wikidata for entities related to a dataset topic

  • Explore EU controlled vocabularies on publications.europa.eu

Typical workflow: sparql_query (explore schema) → sparql_query (targeted query) → ckan_package_search (get dataset details)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows to return (default: 25, max: 1000). Injected as SPARQL LIMIT if not already present in query.
queryYesSPARQL SELECT query to execute
endpoint_urlYesHTTPS URL of the SPARQL endpoint
response_formatNoOutput format: 'markdown' for human-readable or 'json' for machine-readablemarkdown
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive. The description adds critical behavioral details: HTTPS-only restriction, 15s timeout, auto LIMIT injection (default 25, max 1000), and that the query must be SELECT. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-structured: purpose sentence, bullet list of endpoints, constraints block, parameter details, examples, workflow. Every sentence is informative and no redundancy. Ideal length for the complexity.

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?

Lacks explicit description of return structure (e.g., SPARQL results JSON format) but covers constraints, examples, and workflow. For a read-only query tool with good annotations, this is nearly complete. Minor omission of output format details.

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% with detailed parameter descriptions. The description adds value by explaining the LIMIT injection behavior (ignored if query already has LIMIT) and providing context for response_format. Slightly above baseline due to extra contextual details.

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

Purpose5/5

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

The description clearly states 'Execute a SPARQL SELECT query against any public HTTPS SPARQL endpoint' and lists specific endpoints and use cases. It distinguishes itself from sibling tools (all CKAN-based) by being the sole SPARQL query tool.

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

Usage Guidelines5/5

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

Provides explicit context: only HTTPS, 15s timeout, only SELECT queries, automatic LIMIT injection. Includes examples and a typical workflow showing when to use in sequence with other tools. No exclusions needed as tool is purpose-specific.

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

Install Server

Other 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/ondata/ckan-mcp-server'

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