Skip to main content
Glama
MatthiasVanDE

jena-mcp-server

create_dataset

Create a persistent TDB2 or in-memory dataset on the Apache Jena Fuseki server, ready with stock SPARQL query, update and Graph Store endpoints.

Instructions

Create a dataset on the server.

kind "tdb2" (the default) is persistent and survives a restart; "mem" is in-memory and is gone when the server stops -- useful for a scratch space, and a trap if you meant to keep the data.

Fuseki writes a configuration file for the new dataset, so it comes back after a restart. A dataset created this way has the stock endpoints: sparql, query, update, data and get.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNo"tdb2" (default, persistent) or "mem" (in-memory).
nameYesDataset name, without a leading slash.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and largely succeeds: it discloses that Fuseki writes a config file so the dataset survives restarts, that 'mem' data vanishes on stop, and which stock endpoints get created. It omits auth/permission requirements and duplicate-name behavior, so it's strong but not exhaustive.

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?

The purpose is front-loaded in the first sentence, followed by the durability distinction the caller most needs. It's slightly wordy in the middle section, but each sentence conveys non-redundant behavioral information, so nothing is wasted.

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?

For a no-annotation, no-output-schema mutation tool, the description covers persistence, restart behavior, and resulting endpoints — the factors an agent needs to call it correctly. Missing are permission requirements and conflict/error handling, but the core is complete.

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%, so the baseline is 3. The description genuinely enriches the 'kind' parameter by explaining the durability consequence of each value and flagging the common mistake of choosing 'mem' unintentionally, adding meaning beyond the schema's brief gloss.

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?

The description opens with a specific verb and resource ('Create a dataset on the server'), making the tool's function unmistakable. It doesn't explicitly differentiate itself from siblings like delete_dataset or list_datasets, but the creation semantics are clear enough that an agent won't confuse it.

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

Usage Guidelines4/5

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

It gives clear context for the key decision — choosing between 'tdb2' (persistent) and 'mem' (in-memory), including the 'trap' warning about losing data. It stops short of naming alternatives or exclusions (e.g., when to prefer load_rdf_file or back up instead), so it lands at clear-context rather than full when/when-not.

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