Skip to content

jena-mcp

Apache Jena (Fuseki) API + MCP Server + A2A Agent for the agent-utilities ecosystem — SPARQL query/update, the Graph Store Protocol, and Fuseki server administration exposed as typed, deterministic tools.

Official documentation

This site is the canonical reference for jena-mcp, maintained alongside every release.

PyPI MCP Server License GitHub

Overview

jena-mcp wraps an Apache Jena Fuseki server's REST surface — the SPARQL Protocol, the Graph Store Protocol (GSP), and the Fuseki administration API — with typed MCP tools and an optional Pydantic-AI agent server. It provides:

  • JenaApi — a tolerant requests-based REST facade over a Fuseki endpoint, organized by protocol (SPARQL, Graph Store, administration); every call degrades to a clear error rather than failing silently.
  • Three action-dispatch MCP toolsjena_sparql, jena_graph, and jena_admin — covering reads, writes, and server administration.
  • An A2A agent server (jena-agent) that runs graph-orchestrated workflows over the same tool surface.

The server remains inactive when credentials are absent, so it is safe to register before a Fuseki endpoint is reachable.

Explore the documentation

  • Installation — pip, source, extras, and the prebuilt Docker image.
  • Deployment — run the MCP and agent servers, Docker Compose, Caddy + Technitium.
  • Usage — the MCP tools, the JenaApi client, and the CLI.
  • Backing Platform — deploy Apache Jena Fuseki with Docker.
  • Architecture — layered client, MCP surface, agent server.
  • Concepts — the CONCEPT:JENA-* registry.

Quick start

pip install "jena-mcp[mcp]"
jena-mcp                          # stdio MCP server (default transport)

Connect it to a Fuseki server:

export JENA_FUSEKI_URL=http://your-fuseki:3030
export JENA_USERNAME=admin
export JENA_PASSWORD=admin
jena-mcp --transport streamable-http --host 0.0.0.0 --port 8000

See Installation and Deployment for the full matrix (PyPI extras, Docker image, all transports, reverse proxy, DNS, and the agent server).