MCP server for AI agents to progressively access W3C Semantic Web specifications. Instead of dumping entire spec docs into the rotting context, it serves them section-by-section. Your AI can now look up that one SHACL 1.2 property it keeps forgetting about without burning 100k tokens.
| Family | Specifications | Namespace |
|---|---|---|
| RDF | RDF 1.1/1.2 Primer, Concepts, Semantics, Turtle, TriG, N-Triples, N-Quads, JSON-LD | rdf:, rdfs: |
| SPARQL | SPARQL 1.1/1.2 Query, Update, Overview | - |
| OWL | OWL 2 Primer, Overview, Syntax, Profiles, RDF Mapping | owl: |
| SHACL | SHACL 1.1/1.2 Core, Advanced Features, SPARQL, Node Expressions, Rules, UI | sh: |
| SKOS | SKOS Primer, Reference | skos: |
| PROV | PROV Primer, Data Model, Ontology | prov: |
| TIME | OWL-Time | time: |
See the index.yaml file for the full list of specifications and namespaces. Please feel free to submit a PR to add more specifications and parsers.
Fork the repo, configure the index.yaml and deploy to your own fastmcp.cloud instance (free for personal use). Afterwards, you can use their web ui to connect your agentic coding tool (e.g. Cursor, Claude Desktop, etc.) to the MCP server.
Prerequisites: Python 3.11+ and uv.
git clone https://github.com/robsyc/ld-mcp && cd ld-mcp
uv tool install .Then add to your .cursor/mcp.json or Claude Desktop config:
{
"mcpServers": {
"ld-mcp": {
"command": "ld-mcp"
}
}
}git clone https://github.com/robsyc/ld-mcp && cd ld-mcp
uv syncAdd to your .cursor/mcp.json or Claude Desktop config:
{
"mcpServers": {
"ld-mcp": {
"command": "uv",
"args": ["tool", "run", "ld-mcp"]
}
}
}| Tool | Description |
|---|---|
list_specifications(family?) |
Browse spec families (RDF, SPARQL, OWL, SHACL, SKOS, etc.) |
list_sections(spec_key, depth?) |
Get TOC with section IDs |
get_section(spec_key, section_id) |
Get markdown content for a section |
list_resources(ns_key) |
List classes/properties in a namespace |
get_resource(ns_key, resource) |
Get Turtle definition of a resource |
| Variable | Description | Default |
|---|---|---|
SPEC_VERSIONS |
Filter by version (e.g., "1.2") |
All |
CACHE_TTL |
Cache TTL in seconds | 86400 (24 hours) |
INDEX_PATH |
Path to a custom index.yaml |
Bundled default |
uv sync --group dev
# Validate all specs/namespaces
uv run pytest tests/test_index.py -v
# Lint
uv run ruff check src/ tests/
# MCP Inspector (web UI for testing tools)
uv run fastmcp dev inspector src/ld_mcp/server.py:mcp- Add entry to
src/ld_mcp/index.yaml - Run
uv run pytest tests/test_index.py -v -k "your_spec_key" - Push to main — CI validates automatically
- W3C for the specifications.
- html-to-markdown for converting HTML to Markdown.
- RDFLib for the RDF library.
- FastMCP for the MCP server.