Memungkinkan AI client untuk memuat, melakukan query, dan menulis RDF Linked Data serta menjalankan operasi SPARQL sebagai rencana JSON yang terkomposisi.
Juga dikenal sebagai AtomGraph/Web-Algebra, web-algebra
- Stars
- 49
- Tools
- —
- Unduhan, 30 hari
- —
- Versi terbaru
- 2.0.4
- Commit terakhir
- 3 Nov 2026
- Lisensi
- Apache-2.0
Apa itu Web-Algebra MCP?
Web-Algebra adalah MCP server. Memungkinkan AI client untuk memuat, melakukan query, dan menulis RDF Linked Data serta menjalankan operasi SPARQL sebagai rencana JSON yang terkomposisi.
Ringkasan dibuat dari README proyek
Tentang Web-Algebra MCP server
Web Algebra memungkinkan developer yang bekerja dengan teknologi semantic web untuk mengelola RDF Linked Data dan query SPARQL melalui bahasa alami. Sistem ini memungkinkan AI agent untuk menerjemahkan instruksi manusia menjadi bytecode JSON yang dioptimalkan, yang mengeksekusi workflow kompleks secara atomik alih-alih melalui serangkaian pemanggilan tool secara individual. Sistem ini mendukung berbagai macam operasi termasuk GET, POST, dan PUT untuk Linked Data, serta SELECT, CONSTRUCT, dan DESCRIBE untuk manajemen SPARQL.
Pengguna dapat menghubungkan server ini ke AI client seperti Claude Desktop menggunakan transport stdio atau streamable HTTP. Meskipun banyak operasi dapat berjalan secara independen, integrasi dengan LinkedDataHub memerlukan sertifikat client dan password yang diberikan melalui environment variables. Jika agent perlu membuat query SPARQL spesifik menggunakan tool SPARQLString, Anda harus mengonfigurasi OpenAI API key. Sistem ini dirancang untuk menangani segalanya, mulai dari manipulasi URI sederhana dan operasi string hingga control flow yang kompleks seperti loop ForEach dan filtering di dalam dataset semantik.
Apa yang bisa Anda lakukan dengannya
- 1Generasi query SPARQL otomatisMinta AI agent untuk menulis dan mengeksekusi query SPARQL tertentu menggunakan bahasa alami.
- 2Pemrosesan batch data semantikInstruksikan agent untuk melakukan iterasi melalui sekumpulan hasil dan melakukan operasi pada setiap item.
- 3Manajemen resource LinkedDataHubArahkan AI untuk membuat item, container, atau view baru di dalam instance LinkedDataHub.
- 4Kompilasi workflow kompleksBiarkan AI agent mengompilasi workflow semantik multi-step menjadi satu rencana JSON yang dapat dieksekusi.
Ditulis berdasarkan README proyek. Setiap use case diperiksa terhadap kutipan dari README tersebut.
Cara menginstal Web-Algebra MCP
Format diverifikasi 10 Nov 2026Tambahkan ke CursorTambahkan ke GooseInstal Web-Algebra MCP di Claude Code
$ claude mcp add --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' web-algebra -- uvx web-algebraInstal Web-Algebra MCP di Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"web-algebra": {
"command": "uvx",
"args": [
"web-algebra"
],
"env": {
"CERT_PASSWORD": "<YOUR_CERT_PASSWORD>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Instal Web-Algebra MCP di VS Code
.vscode/mcp.json
{
"servers": {
"web-algebra": {
"type": "stdio",
"command": "uvx",
"args": [
"web-algebra"
],
"env": {
"CERT_PASSWORD": "<YOUR_CERT_PASSWORD>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Instal Web-Algebra MCP di VS Code CLI
$ code --add-mcp '{"name":"web-algebra","type":"stdio","command":"uvx","args":["web-algebra"],"env":{"CERT_PASSWORD":"<YOUR_CERT_PASSWORD>","OPENAI_API_KEY":"<YOUR_OPENAI_API_KEY>"}}'Instal Web-Algebra MCP di Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"web-algebra": {
"command": "uvx",
"args": [
"web-algebra"
],
"env": {
"CERT_PASSWORD": "<YOUR_CERT_PASSWORD>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Instal Web-Algebra MCP di Codex
$ codex mcp add web-algebra --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' -- uvx web-algebraInstal Web-Algebra MCP di Codex config.toml
~/.codex/config.toml
[mcp_servers.web-algebra] command = "uvx" args = ["web-algebra"] [mcp_servers.web-algebra.env] CERT_PASSWORD = "<YOUR_CERT_PASSWORD>" OPENAI_API_KEY = "<YOUR_OPENAI_API_KEY>"
Instal Web-Algebra MCP di Gemini CLI
$ gemini mcp add -s user -e 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' -e 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' web-algebra uvx -- web-algebraInstal Web-Algebra MCP di Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"web-algebra": {
"command": "uvx",
"args": [
"web-algebra"
],
"env": {
"CERT_PASSWORD": "<YOUR_CERT_PASSWORD>",
"OPENAI_API_KEY": "<YOUR_OPENAI_API_KEY>"
}
}
}
}Konfigurasi
CERT_PASSWORDRahasiaPassword of the client certificate
OPENAI_API_KEYRahasiaOpenAI API key, used by SPARQLString to write queries
CERT_PASSWORDCERT_PEM_PATHCERT_PEM_PATHPath to the LinkedDataHub client certificate (PEM), for authenticated requests
| Nama | Deskripsi | Tipe |
|---|---|---|
| CERT_PASSWORD | Password of the client certificate | Rahasia |
| OPENAI_API_KEY | OpenAI API key, used by SPARQLString to write queries | Rahasia |
| CERT_PASSWORD | — | |
| CERT_PEM_PATH | — | |
| CERT_PEM_PATH | Path to the LinkedDataHub client certificate (PEM), for authenticated requests |
Pengecekan otomatis
Berjalan 13 Nov 2026Laporan lengkap →Lolos checks otomatis kami. Ini bukan audit keamanan: baca kodenya dan berikan server akses paling terbatas yang dibutuhkannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkauatomgraph/web-algebra is public and reachablegithub.com/atomgraph/web-algebra ↗Lolos
- Nama paket mencantumkan repositori ini sebagai sumbernyaweb-algebra names atomgraph/web-algebra as sourcepypi.org/project/web-algebra/ ↗Lolos
- Provenance build (atestasi Sigstore)Sigstore attestation for web-algebrapypi.org/project/web-algebra/ ↗Lolos
- Lisensi open source (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit or release 2026-11-03github.com/atomgraph/web-algebra ↗Lolos
- OpenSSF ScorecardTidak diperiksa
- Nama package tidak mirip dengan package populerNo popular package one edit away from web-algebraLolos
- Tidak ada advisory kritis pada paket atau dependensinya38 resolved dependencies checked; no critical advisoryosv.dev ↗Lolos
- Tidak ada instruksi tersembunyi untuk model0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersLolos
- Tools yang bersifat destruktif telah diberi labelTidak diperiksa
- Endpoint remote merespons handshake MCPTidak diperiksa
README
Lihat di GitHubWeb-Algebra
A composable RDF operations system that translates natural language instructions into JSON-formatted domain-specific language operations for loading, querying, and writing RDF Linked Data.
Overview
This system implements generic operations for RDF Linked Data and SPARQL management, as well as some LinkedDataHub-specific operations. Operations can be consumed in two ways:
- Executable JSON format: Operations are composed into JSON structures and executed by the provided execution engine
- Model Context Protocol (MCP): Operations are exposed as tools for AI agents to use interactively
Instead of agents executing semantic workflows step-by-step through individual MCP tool calls, Web-Algebra enables agents to compile entire workflows into optimized JSON "bytecode" that executes atomically - enabling complex multi-operation compositions.
Demo
See WebAlgebra in action - translating natural language into RDF operations.
Architecture
The system is built around the Operation abstract base class that provides:
- Registry System: Auto-discovery of operations from
src/web_algebra/operations/ - JSON DSL: Operations use
@opkey withargsfor parameters, supporting nested operation calls - RDFLib Type System: Uses
URIRef,Literal,Graph, andResulttypes internally for proper RDF handling - Execution Engine: Both standalone execution and MCP server integration
- Context System: ForEach operations set row context for inner operations to access via
Value - URI Resolution: Proper semantic URI construction with
ResolveURIoperation
Key Components
- System Prompt: Complete operation definitions and JSON format specification
- Formal Semantics: Complete type system and operation catalog
- Operation Interface: Base class and JSON interpreter
- Operation Implementations: Directory containing all available operations
- Examples: Real-world plans over live Linked Data, each with its result and checks
Operations
The operations cover read-write Linked Data, SPARQL queries, URI manipulation, and LinkedDataHub-specific resource creation. Non-exhaustive list:
- Linked Data
GETPATCHPOSTPUT
- SPARQL
CONSTRUCTDESCRIBESELECTSubstituteValuesSPARQLString
- Schema
ExtractClassesExtractDatatypePropertiesExtractObjectPropertiesExtractOntology
- Reconciliation
Reconcile
- URI & String Operations
ResolveURIEncodeForURIConcatReplaceStrStrUUIDURI
- Date/Time
Now
- Control Flow & Variables
ValueVariableForEachIterateFilterBindingsCurrentPositionLastMerge
- LinkedDataHub-specific
ldh-CreateContainerldh-CreateItemldh-Listldh-AddFileldh-AddGenericServiceldh-AddResultSetChartldh-AddSelectldh-AddConstructldh-AddViewldh-AddObjectBlockldh-AddXHTMLBlockldh-RemoveBlockldh-GeneratePortalldh-GenerateClassContainersldh-GenerateOntologyViews
Usage
Pre-requisites
- Install uv
-
uv venv uv sync
Standalone
Natural language instruction
uv run python src/web_algebra/main.py
Then enter instruction, for example:
Select random 10 UK cities from DBpedia
See the instructions of the examples.
Currently requires OpenAI API access. OPENAI_API_KEY env value has to be set.
Execute JSON
uv run web-algebra --from-json ./examples/city-profiles/plan.json
See the examples: each has the instruction it answers, its plan, the result of a run, and checks.
With LinkedDataHub
- Run LinkedDataHub v6
- Give
web-algebrayour LDH's owner certificate and its password in theCERT_PEM_PATHandCERT_PASSWORDenvironment variables (or the--cert_pem_pathand--cert_passwordoptions, which override them). For example:
export CERT_PEM_PATH=../LinkedDataHub/ssl/owner/cert.pem
export CERT_PASSWORD="$(cat ../LinkedDataHub/secrets/owner_cert_password.txt)"
uv run web-algebra --from-json ./examples/northwind-category-catalogue/plan.json
Here and throughout this guide, the client certificate and its password are only required for authentication with LinkedDataHub. You don't need them if you're not using LinkedDataHub with Web Algebra.
As MCP server
Install
Requires uv. Add this to your MCP client configuration (e.g. claude_desktop_config.json):
{
"mcpServers": {
"web-algebra": {
"command": "uvx",
"args": ["--from", "web-algebra", "web-algebra-mcp"],
"env": {
"CERT_PEM_PATH": "/path/to/LinkedDataHub/ssl/owner/cert.pem",
"CERT_PASSWORD": "********"
}
}
}
}
or with Claude Code:
claude mcp add web-algebra -e CERT_PEM_PATH=/path/to/LinkedDataHub/ssl/owner/cert.pem -e CERT_PASSWORD=******** -- uvx --from web-algebra web-algebra-mcp
uvx web-algebra mcp runs the same server.
Environment variables:
| Name | Required | Description |
|---|---|---|
CERT_PEM_PATH |
No | Path to the LinkedDataHub owner certificate (PEM). Only needed for LinkedDataHub operations. |
CERT_PASSWORD |
No | Password for the certificate above. |
OPENAI_API_KEY |
No | OpenAI API key. Only needed for the SPARQLString tool, which asks a model to write the query. |
stdio transport
uv run web-algebra-mcp
Streamable HTTP transport
uv run uvicorn web_algebra.server:app --reload
with CERT_PEM_PATH and CERT_PASSWORD set, as above, for LinkedDataHub.
MCP Inspector config
You can the inspector like this:
npx @modelcontextprotocol/inspector
and then open on the URL printed in its console output, for example:
http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=b31e4b3d852b5a2445f45032c484e54e319bf16359585858cf88fe9a90816744
The MCP_PROXY_AUTH_TOKEN is required. If the link does not appear, you need to copy the session token from the console and paste it into inspector's Proxy Session Token config.
Web Algebra's settings:
Claude Desktop tool config from a local checkout
To run the MCP server from a local checkout instead of the published package, add a Web Algebra entry (that uses stdio transport) to the mcpServer configuration your claude_desktop_config.json file:
{
"mcpServers": {
"Web Algebra": {
"command": "uv",
"args": [
"--directory",
"/path/to/Web-Algebra",
"run",
"web-algebra-mcp"
],
"env": {
"CERT_PEM_PATH": "/path/to/LinkedDataHub/ssl/owner/cert.pem",
"CERT_PASSWORD": "********"
}
}
}
}
Leave the command as it is. Those uv run --with arguments are important, otherwise 3rd party packages cannot be found.
On my Mac, the path to uv has to be absolute, otherwise it doesn't work in Claude Desktop 🤷♂️.
CERT_PEM_PATH and CERT_PASSWORD env values are optional.
Pertanyaan tentang Web-Algebra MCP
Bagaimana cara menambahkan Web-Algebra MCP ke Claude Code?
Jalankan claude mcp add --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' web-algebra -- uvx web-algebra di terminal Anda. Tambahkan --scope user agar tersedia di semua proyek.
Bagaimana cara menambahkan Web-Algebra MCP ke Cursor?
Buka ~/.cursor/mcp.json dan tambahkan server di bawah mcpServers, menggunakan config Cursor yang ditunjukkan di bagian instalasi di atas.
Operasi apa saja yang disediakan oleh Web-Algebra MCP server?
Server ini menyediakan operasi read-write Linked Data (GET, PATCH, POST, PUT), operasi SPARQL (SELECT, CONSTRUCT, DESCRIBE), ekstraksi schema, manipulasi URI, control flow, dan tool pembuatan resource khusus LinkedDataHub.
Bagaimana cara menginstal Web-Algebra MCP server?
Tambahkan ke konfigurasi MCP client Anda menggunakan perintah uvx, dan jika perlu, atur CERT_PEM_PATH serta CERT_PASSWORD untuk operasi LinkedDataHub.
Apakah Web-Algebra memerlukan autentikasi?
Sertifikat dan password owner LinkedDataHub hanya diperlukan untuk operasi LinkedDataHub, dan OpenAI API key hanya diperlukan untuk tool SPARQLString; selain itu, pengaturan tersebut bersifat opsional.
Apakah Web-Algebra bisa menjalankan rencana JSON yang sudah ditentukan sebelumnya?
Ya, Anda dapat mengeksekusi file rencana JSON secara langsung dari command line.
Transport apa saja yang didukung oleh MCP server ini?
Server ini mendukung transport stdio dan streamable HTTP.
