Labsco
MCP SERVER

Web-Algebra

by AtomGraph

Compile a whole RDF workflow into one JSON program and run it atomically, instead of a dozen separate tool calls.

NoSQL, Graph & Key-Value Stores
Summary
The unit of work is a program, not a tool call.

Most RDF servers make the agent step through query, read, decide, write — paying a round trip each time. Here ForEach and Filter live inside the JSON, so a SELECT can feed a loop that creates a resource per row in a single execution. The trade is that the agent has to get the whole program right before anything runs.

What it is

A composable operation system for Linked Data and SPARQL, exposed both as MCP tools and as a JSON DSL that nests operations inside each other.

What you get
  • Linked Data verbs over HTTP — GET, PUT, POST and PATCH against RDF resources
  • SPARQL operations — SELECT, CONSTRUCT and DESCRIBE, plus Substitute, Values and SPARQLString for building queries programmatically
  • Schema extraction — ExtractClasses, ExtractDatatypeProperties, ExtractObjectProperties and ExtractOntology
  • URI and string handling — ResolveURI, EncodeForURI, Concat, Replace, Str, STRUUID and URI
  • Control flow inside the program — ForEach, Filter, Bindings, Current, Variable, Value, Merge and Execute, so a result set can drive the next step without a round trip
  • LinkedDataHub operations such as ldh-CreateContainer, ldh-CreateItem, ldh-AddFile, ldh-AddSelect, ldh-AddResultSetChart and ldh-GeneratePortal
Requirements

Uv, then uv venv and uv sync. Run it over stdio with uv run python -m web_algebra, or over Streamable HTTP with uvicorn at http://127.0.0.1:8000/mcp. Nothing is required for plain RDF work; OPENAI_API_KEY is needed only for the natural-language entry point, and CERT_PEM_PATH with CERT_PASSWORD only when authenticating to LinkedDataHub.

Setup effort

One command plus a key — uvx web-algebra, then supply credentials