rudof_mcp 0.2.7

RDF data shapes implementation in Rust
docs.rs failed to build rudof_mcp-0.2.7
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rudof_mcp-0.2.6

Rudof MCP Server

A powerful Model Context Protocol server for RDF validation, querying, and data transformation


Overview

Rudof MCP is a comprehensive Model Context Protocol server implementation that exposes the powerful Rudof library to AI assistants and MCP-compatible clients. Seamlessly integrate RDF validation, SPARQL querying, and semantic data transformation into your AI workflows.

What Can You Do?

  • Load & Manipulate RDF Data — From files, URLs, or SPARQL endpoints
  • Validate RDF Data — Against ShEx and SHACL schemas
  • Execute SPARQL Queries — SELECT, CONSTRUCT, and ASK
  • Explore RDF Graphs — Through intuitive node inspection tools
  • Convert Schemas — Between different serialization formats
  • Visualize Data — Generate PlantUML diagrams and images

Transport Types

Stdio Transport

Perfect for:

  • CLI tools, command-line interfaces and IDE extensions (VSCode, IntelliJ, etc.)
  • Local process-to-process communication
  • Single client connections

The client launches the MCP server as a subprocess, with communication via stdin/stdout using JSON-RPC messages.

Streamable HTTP Transport

Ideal for:

  • Web-based MCP clients
  • Remote connections over HTTP/HTTPS
  • Multiple concurrent client connections

Features:

  • JSON-RPC over HTTP POST
  • Server-Sent Events (SSE) for real-time streaming
  • Session management with MCP-Session-Id header
  • Origin header validation for security

MCP Capabilities

Capability Description
Tools 10+ tools for validation, querying, and data operations
Prompts Guided templates for common validation workflows
Resources Access to current RDF data in multiple formats
Logging Real-time log notifications with RFC 5424 level filtering
Completions Argument completions for tools and prompts
Tasks Async task support for long-running operations (SEP-1686)

Available Tools

Data Management

Tool Description
load_rdf_data_from_sources Load RDF data from URLs, files, or raw text
export_rdf_data Serialize RDF data to Turtle, N-Triples, RDF/XML, etc.
export_plantuml Generate PlantUML diagram of the RDF graph
export_image Generate SVG or PNG visualization

Node Inspection

Tool Description
node_info Show outgoing/incoming arcs for an RDF node

SPARQL Queries

Tool Description
execute_sparql_query Execute SELECT, CONSTRUCT, or ASK queries

ShEx Validation & Analysis

Tool Description
validate_shex Validate RDF data against a ShEx schema
check_shex Check if a ShEx schema is syntactically valid
shape_info Get information about a specific ShEx shape
convert_shex Convert schemas between ShExC, ShExJ, Turtle formats
show_shex Parse and display schema with optional analysis

SHACL Validation

Tool Description
validate_shacl Validate RDF data against a SHACL schema

Interactive Prompts

Guided templates for common workflows:

Prompt Description
explore_rdf_node Guide for exploring RDF node relationships
analyze_rdf_data Comprehensive data structure and quality analysis
validation_guide Step-by-step ShEx/SHACL validation workflow
sparql_builder Interactive helper for building SPARQL queries

Available Resources

The server exposes RDF data and metadata through MCP resources with support for pagination and subscriptions.

Data Resources

Resource URI Name Description
rudof://current-data Current RDF Data (Turtle) Currently loaded RDF data in Turtle format
rudof://current-data/ntriples Current RDF Data (N-Triples) Currently loaded RDF data in N-Triples format
rudof://current-data/rdfxml Current RDF Data (RDF/XML) Currently loaded RDF data in RDF/XML format
rudof://current-data/jsonld Current RDF Data (JSON-LD) Currently loaded RDF data in JSON-LD format
rudof://current-data/trig Current RDF Data (TriG) Currently loaded RDF data in TriG format
rudof://current-data/nquads Current RDF Data (N-Quads) Currently loaded RDF data in N-Quads format
rudof://current-data/n3 Current RDF Data (N3) Currently loaded RDF data in Notation3 format
rudof://formats/rdf Supported RDF Formats List of all supported RDF data formats

Node Resources

Resource URI Name Description
rudof://formats/node-modes Node Inspection Modes Available modes for node inspection

Query Resources

Resource URI Name Description
rudof://formats/query-types Supported SPARQL Query Types Supported SPARQL query types
rudof://formats/query-results Supported Query Result Formats Supported SPARQL query result formats

ShEx Resources

Resource URI Name Description
rudof://formats/shex Supported ShEx Formats All supported ShEx schema formats
rudof://formats/shex-validation-result ShEx Validation Result Formats Supported ShEx validation result formats
rudof://formats/validation-reader-modes Validation Reader Modes Available reader modes (strict/lax)
rudof://formats/shex-validation-sort-options ShEx Validation Sort Options Available sort options for results

SHACL Resources

Resource URI Name Description
rudof://formats/shacl Supported SHACL Formats All supported SHACL schema formats
rudof://formats/shacl-validation-result SHACL Validation Result Formats Supported SHACL validation result formats
rudof://formats/shacl-validation-sort-options SHACL Validation Sort Options Available sort options for results

Security

The HTTP transport implements comprehensive MCP specification security requirements:

  • Origin Validation — Invalid Origin headers return HTTP 403 Forbidden
  • Protocol Version Validation — Invalid versions return HTTP 400 Bad Request
  • Session Management — Explicit session termination via HTTP DELETE

Dependencies

Built on robust, well-maintained libraries:

  • rmcp — Rust MCP SDK for protocol implementation
  • rudof_lib — Core Rudof library for RDF operations
  • axum — Modern HTTP server for StreamableHTTP transport
  • tokio — High-performance async runtime
  • ipnetwork — IP address and network parsing and validation for allowed network configuration

For more information about the Model Context Protocol, visit the official MCP documentation.