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.

Apache Jena용 MCP 서버

SPARQL 쿼리 기능을 위해 AI 에이전트를 Apache Jena에 연결하는 MCP(Model Context Protocol) 서버입니다.

개요

이 프로젝트는 AI 에이전트(예: Cursor, Claude for Cline, Claude Desktop)가 Apache Jena에 저장된 RDF 데이터에 접근하고 쿼리할 수 있도록 하는 MCP 서버를 구현합니다. 이 서버는 Jena Fuseki 서버에 대해 SPARQL 쿼리 및 업데이트를 실행하는 도구를 제공합니다.

특징

  • Jena Fuseki 서버에 대해 SPARQL 쿼리 실행
  • RDF 데이터를 수정하기 위해 SPARQL 업데이트를 실행합니다.
  • 데이터 세트에서 사용 가능한 명명된 그래프 나열
  • Jena Fuseki에 대한 HTTP 기본 인증 지원
  • 모델 컨텍스트 프로토콜과 호환

필수 조건

  • Node.js(v16 이상)
  • RDF 데이터가 로드된 Apache Jena Fuseki 서버가 실행 중입니다.
  • 모델 컨텍스트 프로토콜(예: 커서, 클라인의 클로드)을 지원하는 AI 에이전트

설치

  1. 이 저장소를 복제하세요:지엑스피1
  2. 종속성 설치:
    npm install
  3. TypeScript 코드를 작성합니다.
    npm run build

용법

기본 설정(Jena의 경우 localhost:3030, 데이터 세트의 경우 'ds')으로 서버를 실행합니다.

npm start

또는 사용자 지정 Jena 엔드포인트, 데이터 세트 및 인증 자격 증명을 지정합니다.

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

짧은 플래그를 사용할 수도 있습니다.

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

자동 변환 기능이 있는 개발 모드의 경우:

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

사용 가능한 도구

이 MCP 서버는 다음과 같은 도구를 제공합니다.

  1. execute_sparql_query - Jena 데이터 세트에 대해 SPARQL 쿼리를 실행합니다.
  2. execute_sparql_update - SPARQL 업데이트 쿼리를 실행하여 데이터 세트를 수정합니다.
  3. list_graphs - 데이터 세트에서 사용 가능한 모든 명명된 그래프를 나열합니다.

환경 변수

환경 변수를 사용하여 서버를 구성할 수도 있습니다.

  • JENA_FUSEKI_URL : Jena Fuseki 서버의 URL(기본값: http://localhost:3030 )
  • DEFAULT_DATASET : 기본 데이터 세트 이름(기본값: ds)
  • JENA_USERNAME : Jena Fuseki에 대한 HTTP 기본 인증을 위한 사용자 이름
  • JENA_PASSWORD : Jena Fuseki에 대한 HTTP 기본 인증을 위한 비밀번호
  • PORT : MCP 서버의 포트(HTTP 전송용, 기본값: 8080)
  • API_KEY : MCP 서버 인증을 위한 API 키

SPARQL 쿼리 예시

기본 SELECT 쿼리:

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

UPDATE로 데이터 삽입:

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

특정 이름이 지정된 그래프를 쿼리합니다.

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

자원

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

AI 에이전트를 Apache Jena에 연결하여 Jena Fuseki에 저장된 RDF 데이터에 대해 SPARQL 쿼리와 업데이트를 실행할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

  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