MCP Server for Apache Jena

by ramuzes
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Manages environment variables for configuring the MCP server, including API keys, server URLs, and dataset specifications.

  • Connects to Apache Jena Fuseki server to execute SPARQL queries and updates against RDF data, allowing access to and modification of graph databases.

  • Hosts the repository for the MCP server code, allowing for version control and distribution of the server implementation.

Servidor MCP para Apache Jena

Un servidor de Protocolo de contexto de modelo (MCP) que conecta agentes de IA a Apache Jena para capacidades de consulta SPARQL.

Descripción general

Este proyecto implementa un servidor MCP que permite a los agentes de IA (como Cursor, Claude for Cline o Claude Desktop) acceder y consultar datos RDF almacenados en Apache Jena. El servidor proporciona herramientas para ejecutar consultas y actualizaciones SPARQL en un servidor Jena Fuseki.

Características

  • Ejecutar consultas SPARQL contra un servidor Jena Fuseki
  • Ejecutar actualizaciones SPARQL para modificar datos RDF
  • Enumere los gráficos con nombre disponibles en el conjunto de datos
  • Compatibilidad con autenticación básica HTTP para Jena Fuseki
  • Compatible con el Protocolo de Contexto Modelo

Prerrequisitos

  • Node.js (v16 o posterior)
  • Servidor Apache Jena Fuseki ejecutándose con sus datos RDF cargados
  • Un agente de IA que admita el Protocolo de contexto de modelo (por ejemplo, Cursor, Claude para Cline)

Instalación

  1. Clonar este repositorio:
    git clone https://github.com/ramuzes/mcp-jena.git cd mcp-jena
  2. Instalar dependencias:
    npm install
  3. Construya el código TypeScript:
    npm run build

Uso

Ejecute el servidor con la configuración predeterminada (localhost:3030 para Jena, 'ds' para el conjunto de datos):

npm start

O especifique un punto final de Jena personalizado, un conjunto de datos y credenciales de autenticación:

npm start -- --endpoint http://your-jena-server:3030 --dataset your_dataset --username your_username --password your_password

También puedes utilizar banderas cortas:

npm start -- -e http://your-jena-server:3030 -d your_dataset -u your_username -p your_password

Para el modo de desarrollo con transpilación automática:

npm run dev:transpile -- -e http://your-jena-server:3030 -d your_dataset -u your_username -p your_password

Herramientas disponibles

Este servidor MCP proporciona las siguientes herramientas:

  1. execute_sparql_query : ejecuta una consulta SPARQL contra el conjunto de datos de Jena
  2. execute_sparql_update : ejecuta una consulta de actualización SPARQL para modificar el conjunto de datos
  3. list_graphs : enumera todos los gráficos con nombre disponibles en el conjunto de datos

Variables de entorno

También puedes configurar el servidor utilizando variables de entorno:

  • JENA_FUSEKI_URL : URL de su servidor Jena Fuseki (predeterminado: http://localhost:3030 )
  • DEFAULT_DATASET : Nombre del conjunto de datos predeterminado (predeterminado: ds)
  • JENA_USERNAME : Nombre de usuario para la autenticación básica HTTP en Jena Fuseki
  • JENA_PASSWORD : Contraseña para la autenticación básica HTTP en Jena Fuseki
  • PORT : Puerto para el servidor MCP (para transporte HTTP, predeterminado: 8080)
  • API_KEY : Clave API para la autenticación del servidor MCP

Ejemplos de consultas SPARQL

Consulta SELECT básica:

SELECT ?subject ?predicate ?object WHERE { ?subject ?predicate ?object } LIMIT 10

Insertar datos con UPDATE:

PREFIX ex: <http://example.org/> INSERT DATA { ex:subject1 ex:predicate1 "object1" . ex:subject2 ex:predicate2 42 . }

Consultar un gráfico con nombre específico:

SELECT ?subject ?predicate ?object FROM NAMED <http://example.org/graph1> WHERE { GRAPH <http://example.org/graph1> { ?subject ?predicate ?object } } LIMIT 10

Recursos

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que conecta agentes de IA a Apache Jena, lo que les permite ejecutar consultas y actualizaciones SPARQL en datos RDF almacenados en Jena Fuseki.

  1. Overview
    1. Features
      1. Prerequisites
        1. Installation
          1. Usage
            1. Available Tools
              1. Environment Variables
                1. Example SPARQL Queries
                  1. Basic SELECT query:
                  2. Insert data with UPDATE:
                  3. Query a specific named graph:
                2. Resources
                  ID: xk4oivwafn