Sponsored by Deepsite.site

RDF Explorer

Created By
Emeka Azuka Okoye8 months ago
A Model Context Protocol (MCP) server that provides the conversational interface for the exploration and analysis of RDF Turtle based Knowledge Graph in either Local File mode or SPARQL Endpoint mode.
Content

RDF Explorer v1.0.0

Overview

A Model Context Protocol (MCP) server that provides conversational interface for the exploration and analysis of RDF (Turtle) based Knowledge Graph in Local File mode or SPARQL Endpoint mode. This server facilitates communication between AI applications (hosts/clients) and RDF data, making graph exploration and analyzing graph data through SPARQL queries. A perfect tool for knowledge graph research and AI data preparation.

Components

Tools

The server implements SPARQL queries and search functionality:

  • execute_on_endpoint

    • Execute a SPARQL query directly on an external endpoint
    • Input:
      • endpoint (str): The SPARQL endpoint URL to query.
      • query (str): The SPARQL query to execute.
      • ctx (Context): The FastMCP context object.
    • Returns: Query results as a newline-separated string, or an error message.
  • sparql_query

    • Execute a SPARQL query on the current graph or active external endpoint
    • Input:
      • query (str): The SPARQL query to execute.
      • ctx (Context): The FastMCP context object.
      • use_service (bool): Whether to use a SERVICE clause for federated queries in local mode (default: True).
    • Returns: Query results as a newline-separated string, or an error message.
  • graph_stats

    • Calculate and return statistics about the graph in JSON format
    • Input:
      • ctx (Context): The FastMCP context object.
    • Returns: JSON string containing graph statistics (e.g., triple count, unique subjects).
  • count_triples

    • Count triples in the graph. Disabled in SPARQL Endpoint Mode; use a custom prompt instead.
    • Input:
      • ctx (Context): The FastMCP context object.
    • Returns: Number of triples as a string, or an error message.
  • full_text_search

    • Perform a full-text search on the graph or endpoint, avoiding proprietary syntax.
    • Input:
      • search_term (str): The term to search for.
      • ctx (Context): The FastMCP context object.
    • Returns: Search results as a newline-separated string, or an error message.
  • health_check

    • Check the health of the triplestore connection.
    • Input:
      • ctx (Context): The FastMCP context object.
    • Returns: 'Healthy' if the connection is good, 'Unhealthy: ' otherwise.
  • get_mode

    • Get the current mode of RDF Explorer. Useful for knowledge graph and semantic tech users to verify data source.
    • Input:
      • ctx (Context): The FastMCP context object.
    • Returns: A message indicating the mode and dataset or endpoint.

Resources

The server exposes the following resources:

  • schema://all: Retrieve schema information (classes and properties) from the graph.

    • Returns: A newline-separated string of schema elements (classes and properties).
  • queries://{template_name}: Retrieve a predefined SPARQL query template by name.

    • Returns: The SPARQL query string or 'Template not found'.
  • explore://{query_name}: Execute an exploratory SPARQL query by name and return results in JSON.

    • query_name (str): The name of the exploratory query (e.g., 'classes', 'relationships/URI').
    • Returns: JSON string of query results.
  • explore://report: Generate a Markdown report of exploratory queries.

    • Returns: A Markdown-formatted report string.

Prompts

The server exposes the following prompts:

  • analyze_graph_structure: Initiate an analysis of the graph structure with schema data.

    • Returns: A list of messages to guide graph structure analysis.
  • find_relationships: Generate a SPARQL query to find relationships for a given subject.

    • Returns: A SPARQL query string to find relationships.
  • text_to_sparql: Convert a text prompt to a SPARQL query and execute it, with token limit checks.

    • prompt (str): The text prompt to convert to SPARQL.
    • Returns: Query results with usage stats, or an error message.

Setup

Configuration

Installing on Claude Desktop

Before starting make sure Claude Desktop is installed.

  1. Go to: Settings > Developer > Edit Config

  2. Add the following to your claude_desktop_config.json: On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

To use with a local RDF Turtle file, use this version with --triple-file args

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--triple-file", "your_file.ttl"]
    }
  }
}

To use with a SPARQL Endpoint, use this version with --sparql-endpoint args

{
  "mcpServers": {
    "rdf_explorer": {
      "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
      "args": ["C:\\path\\to\\server.py", "--sparql-endpoint", "https://example.com/sparql"]
    }
  }
}
  1. Restart Claude Desktop and start querying and exploring graph data.

  2. Prompt: "what mode is RDF Explorer running?"

Usage Examples

Here are examples of how you can explore RDF data using natural language:

Querying Data in Local File Mode

You can ask questions like:

  • "Show me all employees in the Sales department"
  • "Find the top 5 oldest customers"
  • "Who has purchased more than 3 products in the last month?"
  • "List all entities"
  • "Using the DBpedia endpoint, list 10 songs by Michael Jackson"
  • "Using the Wikidata endpoint, list 5 cities"
  • "count the triples"
  • "analyze the graph structure"
  • "Select ..."
  • "search '{text}' "
  • "find relationships of '{URI}'"
  • "what mode is RDF Explorer running?"

Querying Data in SPARQL Endpoint Mode

You can ask questions like:

  • "Using the DBpedia endpoint, list 10 songs by Michael Jackson"
  • "Using the Wikidata endpoint, list 5 cities"
  • "Select ..."
  • "search '{text}' "
  • "find relationships of '{URI}'"
  • "what mode is RDF Explorer running?"

Development

# clone the repository
git clone https://github.com/emekaokoye/mcp-rdf-explorer.git
cd mcp-rdf-explorer

# setup a virtual environment
python -m venv venv
source venv/bin/activate
# windows: venv\Scripts\activate

# install development dependencies
pip install -r requirements.txt

# run tests
pytest test_rdf_explorer.py -v

License

This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the license file in the project repository.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Amap Maps高德地图官方 MCP Server
CursorThe AI Code Editor
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Playwright McpPlaywright MCP server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Serper MCP ServerA Serper MCP Server
Tavily Mcp
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
DeepChatYour AI Partner on Desktop
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.