Позволяет AI-клиентам загружать, запрашивать и записывать RDF Linked Data, а также выполнять операции SPARQL в виде составных JSON-планов.
Также известен как AtomGraph/Web-Algebra, web-algebra
- Звёзды
- 49
- Инструменты
- —
- Загрузки, 30 дней
- —
- Последняя версия
- 2.0.4
- Последний коммит
- 3 нояб. 2026 г.
- Лицензия
- Apache-2.0
Что такое Web-Algebra MCP?
Web-Algebra — это MCP server. Позволяет AI-клиентам загружать, запрашивать и записывать RDF Linked Data, а также выполнять операции SPARQL в виде составных JSON-планов.
Сводка сгенерирована из README проекта
О Web-Algebra MCP server
Web Algebra позволяет разработчикам, работающим с технологиями семантической паутины, управлять RDF Linked Data и SPARQL-запросами с помощью естественного языка. Эта система позволяет AI-агентам преобразовывать человеческие инструкции в оптимизированный JSON-байткод, который выполняет сложные рабочие процессы атомарно, а не через серию отдельных вызовов инструментов. Она поддерживает широкий спектр операций, включая GET, POST и PUT для Linked Data, а также SELECT, CONSTRUCT и DESCRIBE для управления SPARQL.
Пользователи могут подключить этот сервер к таким AI-клиентам, как Claude Desktop, используя транспорт stdio или streamable HTTP. Хотя многие операции работают независимо, для интеграции с LinkedDataHub требуются клиентский сертификат и пароль, передаваемые через переменные окружения. Если агенту необходимо генерировать специфические SPARQL-запросы с помощью инструмента SPARQLString, необходимо настроить ключ OpenAI API. Система спроектирована для решения самых разных задач: от простых манипуляций с URI и строковыми операциями до сложных управляющих структур, таких как циклы ForEach и фильтрация внутри семантических наборов данных.
Что вы можете с ним делать
- 1Автоматическая генерация SPARQL-запросовПопросите AI-агента написать и выполнить конкретный SPARQL-запрос, используя естественный язык.
- 2Пакетная обработка семантических данныхДайте агенту команду итерироваться по набору результатов и выполнять операции над каждым элементом.
- 3Управление ресурсами LinkedDataHubНаправляйте AI для создания новых элементов, контейнеров или представлений внутри экземпляра LinkedDataHub.
- 4Компиляция сложных рабочих процессовПозвольте AI-агенту скомпилировать многоэтапный семантический рабочий процесс в единый исполняемый JSON-план.
Взято из README проекта. Каждый вариант использования проверен на соответствие цитате из него.
Как установить Web-Algebra MCP
Форматы проверены 10 ноя 2026Добавить в CursorДобавить в GooseУстановка Web-Algebra MCP в Claude Code
$ claude mcp add --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' web-algebra -- uvx web-algebraУстановка Web-Algebra MCP в 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>"
}
}
}
}Установка Web-Algebra MCP в 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>"
}
}
}
}Установка Web-Algebra MCP в 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>"}}'Установка Web-Algebra MCP в 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>"
}
}
}
}Установка Web-Algebra MCP в Codex
$ codex mcp add web-algebra --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' -- uvx web-algebraУстановка Web-Algebra MCP в 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>"
Установка Web-Algebra MCP в 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-algebraУстановка Web-Algebra MCP в 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>"
}
}
}
}Конфигурация
CERT_PASSWORDСекретPassword of the client certificate
OPENAI_API_KEYСекретOpenAI API key, used by SPARQLString to write queries
CERT_PASSWORDCERT_PEM_PATHCERT_PEM_PATHPath to the LinkedDataHub client certificate (PEM), for authenticated requests
| Название | Описание | Тип |
|---|---|---|
| CERT_PASSWORD | Password of the client certificate | Секрет |
| OPENAI_API_KEY | OpenAI API key, used by SPARQLString to write queries | Секрет |
| CERT_PASSWORD | — | |
| CERT_PEM_PATH | — | |
| CERT_PEM_PATH | Path to the LinkedDataHub client certificate (PEM), for authenticated requests |
Автоматические проверки
Запущено 13 нояб. 2026 г.Полный отчёт →Прошло наши автоматизированные проверки. Это не аудит безопасности: изучите код и предоставьте серверу минимально необходимый доступ. Как работают проверки
- Связанный и доступный исходный репозиторийatomgraph/web-algebra is public and reachablegithub.com/atomgraph/web-algebra ↗Пройдено
- Пакет указывает этот репозиторий как источникweb-algebra names atomgraph/web-algebra as sourcepypi.org/project/web-algebra/ ↗Пройдено
- Происхождение сборки (аттестация Sigstore)Sigstore attestation for web-algebrapypi.org/project/web-algebra/ ↗Пройдено
- Open source лицензия (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗Пройдено
- Коммит или релиз за последний годLast commit or release 2026-11-03github.com/atomgraph/web-algebra ↗Пройдено
- OpenSSF ScorecardНе проверялось
- Имя пакета не похоже на популярный пакетNo popular package one edit away from web-algebraПройдено
- Нет критических предупреждений в пакете или его зависимостях38 resolved dependencies checked; no critical advisoryosv.dev ↗Пройдено
- Нет скрытых инструкций для модели0 tool descriptions and the README read; no override phrases, credential paths or hidden charactersПройдено
- Деструктивные инструменты помеченыНе проверялось
- Удалённая конечная точка отвечает на рукопожатие MCPНе проверялось
README
Открыть на 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.
Вопросы о Web-Algebra MCP
Как добавить Web-Algebra MCP в Claude Code?
Выполните claude mcp add --env 'CERT_PASSWORD=<YOUR_CERT_PASSWORD>' --env 'OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>' web-algebra -- uvx web-algebra в терминале. Добавьте --scope user, чтобы сервер был доступен во всех проектах.
Как добавить Web-Algebra MCP в Cursor?
Откройте ~/.cursor/mcp.json и добавьте сервер в mcpServers, используя конфигурацию Cursor из раздела установки выше.
Какие операции предоставляет MCP server Web-Algebra?
Он предоставляет операции чтения и записи Linked Data (GET, PATCH, POST, PUT), операции SPARQL (SELECT, CONSTRUCT, DESCRIBE), извлечение схем, манипуляции с URI, управление потоком выполнения и инструменты для создания ресурсов, специфичные для LinkedDataHub.
Как установить Web-Algebra MCP server?
Добавьте его в конфигурацию вашего MCP-клиента с помощью команды uvx, при необходимости установив CERT_PEM_PATH и CERT_PASSWORD для работы с LinkedDataHub.
Требуется ли аутентификация в Web-Algebra?
Сертификат владельца LinkedDataHub и пароль нужны только для операций с LinkedDataHub, а ключ OpenAI API требуется только для инструмента SPARQLString; в остальных случаях настройка необязательна.
Может ли Web-Algebra запускать предопределенные JSON-планы?
Да, вы можете запустить файл JSON-плана напрямую из командной строки.
Какие транспортные протоколы поддерживает MCP server?
Он поддерживает транспорты stdio и streamable HTTP.
