Apache Jena (Fuseki) API + MCP Server + A2A Server for Agentic AI!
Project description
jena-mcp
A Model Context Protocol (MCP) server, A2A agent, and API client for Apache Jena (Fuseki) integration.
Documentation — Installation, deployment, usage across the API, CLI, and MCP interfaces, and guidance for provisioning the Apache Jena Fuseki platform are maintained in the official documentation.
Table of Contents
Overview
jena-mcp exposes a standardized interface to interact with an Apache Jena Fuseki server using the Model Context Protocol — SPARQL query/update, the Graph Store Protocol, and Fuseki server administration — plus an optional Pydantic-AI agent server.
Installation
pip install -e .
Usage
Run the MCP server directly:
python -m jena_mcp
Architecture
See /docs for architectural diagrams and further documentation.
Deployment
Bare-metal
python -m jena_mcp.agent_server
Docker
docker compose -f docker/agent.compose.yml up -d
Additional Deployment Options
jena-mcp can also run as a local container (Docker / Podman / uv) or be
consumed from a remote deployment. The
Deployment guide has full, copy-paste
mcp_config.json for all four transports — stdio, streamable-http,
local container / uv, and remote URL:
- Local container / uv — launch the server from
mcp_config.jsonviauvx,docker run, orpodman run, or point at a local streamable-http container byurl. - Remote URL — connect to a server deployed behind Caddy at
http://jena-mcp.arpa/mcpusing the"url"key.
Environment Variables
| Variable | Description |
|---|---|
JENA_FUSEKI_URL |
Fuseki server base URL (alias: JENA_URL) |
JENA_USERNAME |
Basic-auth user id |
JENA_PASSWORD |
Basic-auth password |
JENA_TOKEN |
Bearer token (used in place of basic auth) |
JENA_SSL_VERIFY |
Verify TLS (set False for self-signed homelab) |
JENATOOL |
Register the Jena tool set |
MCP Tools
| Tool | Description |
|---|---|
jena_sparql |
Run a SPARQL query or update against a Fuseki dataset |
jena_graph |
Read or modify RDF graphs via the Graph Store Protocol |
jena_admin |
Administer the Fuseki server: datasets, stats, tasks, backup, compact |
Documentation
The complete documentation is published as the official documentation site and is the recommended reference for installation, deployment, and day-to-day operation.
| Page | Contents |
|---|---|
| Installation | pip, source, extras, prebuilt Docker image |
| Deployment | run the MCP and agent servers, Compose, Caddy + Technitium, env config |
| Usage | the MCP tools, the JenaApi client, the CLI |
| Backing Platform | deploy Apache Jena Fuseki with Docker |
| Overview | tool surface, endpoints, components |
| Architecture | layered client, MCP surface, agent server |
| Concepts | concept registry (CONCEPT:JENA-*) |
AGENTS.md is the canonical contributor/agent guidance.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jena_mcp-0.8.0.tar.gz.
File metadata
- Download URL: jena_mcp-0.8.0.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c3d329538dbdc066325109404f5f017e47e3888b6abee494111a6cc6a5a42cd
|
|
| MD5 |
e9132e7105e56dab053921374ec791bb
|
|
| BLAKE2b-256 |
25625bca808630c386dee52b7f70abf8e85dbc6dbaf7969858814c4a280712df
|
File details
Details for the file jena_mcp-0.8.0-py3-none-any.whl.
File metadata
- Download URL: jena_mcp-0.8.0-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ccf02fa084036addb955e5a16c977c532c14b6c81a9ec81b8d4e040fb2f0c94
|
|
| MD5 |
c1258a987f6ba752edec664cc9e3d8f0
|
|
| BLAKE2b-256 |
91b1960724c7f8f01cb43c409414a684a269768bb45daad72f3675a10036c2e6
|