Skip to main content
Glama
ramuzes

MCP Server for Apache Jena

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.

Related MCP server: Logseq MCP Tools

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

Estibador

Puede ejecutar el servidor MCP Jena usando Docker:

Construyendo la imagen de Docker

docker build -t mcp-jena .

Ejecutando con Docker

docker run -e JENA_FUSEKI_URL=http://your-jena-server:3030 -e DEFAULT_DATASET=your_dataset mcp-jena

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
A
license - permissive license
-
quality - not tested

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/ramuzes/mcp-jena'

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