Algenta SDK
MCP serverDev toolsalgenta gives your AI governed access to your organization's data. Once added, it can find the right datasets, run exact queries, work through decisions, and test outcomes with simulations. It also includes runtime utilities for tasks that come up while work is underway.
Use Algenta SDK in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Algenta SDK and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the onboard dataset tool from Algenta SDK
Needs your own account with this service. Keys stay in your vault.
Details
Available today. Use it from your connected AI after setup.
Add algenta to your AI, then ask it to find a dataset or answer a question with an exact query to see what it can reach.
What your AI can do with it
- Discover data across your organization with governance rules applied
- Run exact queries and get precise answers from your data
- Work through decisions step by step with your AI
- Run simulations to see likely outcomes before committing to a choice
- Use runtime utilities to handle tasks in the middle of ongoing work
Install Algenta SDK
The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http --scope user algenta-sdk 'https://api.algenta.ai/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://api.algenta.ai/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=algenta-sdk&config=eyJ1cmwiOiJodHRwczovL2FwaS5hbGdlbnRhLmFpL21jcCJ9Open the link and Cursor adds the server at that address.
ChatGPT
https://api.algenta.ai/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add algenta-sdk --url 'https://api.algenta.ai/mcp'Run it once, then sign in with codex mcp login algenta-sdk if the server asks for an account.
From the project's README
As published by thyn-ai/algenta-sdk in README.md.
Python and TypeScript client libraries for Algenta — the governed AI decision engine.
Docs · Python SDK · TypeScript SDK · Integrations · Examples · Contributing
Algenta is a governed AI decision engine: every workload runs under an explicit execution policy, and every consequential action is attributable. These SDKs give you typed access to governed data queries, Monte Carlo simulations and recommendations, decision memory with execution receipts that pin the policy and schema snapshots each execution ran under, agent runs with human-in-the-loop approvals, managed connectors, and a full audit trail — enforced by the engine, never by client-side convention.
Installation
pip install algenta-sdk # Python 3.10+
npm install algenta-sdk # TypeScript / JavaScript, Node.js 18+
Quickstart
Both clients read ALGENTA_API_KEY from the environment and default to
Algenta's hosted API at https://api.algenta.ai.
Python — note the import name is decision_engine (see
Legacy names):
from decision_engine import AlgentaClient
client = AlgentaClient() # reads ALGENTA_API_KEY; defaults to https://api.algenta.ai
datasets = client.list_datasets(search="orders", compact=True)
summary = client.get_dataset_summary(datasets.datasets[0].dataset_id)
result = client.query_with_metadata(
{
"dataset_id": summary.dataset_id,
"metric": {"hint": "gross_revenue"},
"aggregation": "sum",
}
)
print(result.data.result)
TypeScript:
import { AlgentaClient } from "algenta-sdk";
const client = new AlgentaClient(); // reads ALGENTA_API_KEY; defaults to https://api.algenta.ai
const datasets = await client.listDatasets({ search: "orders", compact: true });
const summary = await client.getDatasetSummary(datasets.datasets[0].dataset_id);
const result = await client.queryWithMetadata({
dataset_id: summary.dataset_id,
metric: { hint: "gross_revenue" },
aggregation: "sum",
});
console.log(result.data.result);
Self-hosted engine? Point the client at your own deployment —
AlgentaClient(base_url="http://localhost:8000") in Python,
new AlgentaClient({ baseUrl: "http://localhost:8000" }) in TypeScript — and
use the API key provisioned by your operator. The self_hosted and
air_gapped deployment profiles fail closed: they never silently fall back to
Algenta's cloud. Framework integrations in
thyn-ai/algenta-integrations
take the opposite default on purpose: they are self-hosted-first, resolve their
endpoint from ALGENTA_BASE_URL or an explicit base_url, and never default or
fall back to the hosted API.
The full API surface — governed queries, connectors, simulations, jobs,
triggers, agent runs, decisions, repository intelligence, and the TypeScript
local Runtime facade — is documented in
packages/python-sdk/README.md and
packages/ts-sdk/README.md, with runnable
projects in examples/. Framework integrations (LangChain,
LlamaIndex, MCP, and more) live in the companion repository
thyn-ai/algenta-integrations.
Errors, retries, and timeouts
Both SDKs raise the same exception taxonomy. Every error carries the HTTP
status, the engine's machine-readable error_code, and — in Python — the
engine-assigned request_id; validation failures additionally expose
per-field details via field_errors (Python) / fieldErrors (TypeScript).
| Exception | HTTP status | Raised when | Retried by default |
|---|---|---|---|
AuthenticationError | 401 | Missing or invalid API key | No |
NotFoundError | 404 | Resource does not exist | No |
ValidationError | 422 | Request failed schema validation | No |
RateLimitError | 429 | Quota or rate limit exceeded | Yes — honors the engine's Retry-After (retry_after / retryAfter, default 60s) |
ServerError | 5xx | Engine-side failure | Yes — exponential backoff |
DecisionEngineError | any | Base class for all of the above | — |
Transient network errors are retried on the same policy as 5xx responses. The
Python SDK additionally never retries one rate-limit code,
inline_preview_rate_limited.
| Setting | Python | TypeScript | Default |
|---|---|---|---|
| Request timeout | timeout (seconds) | timeout (milliseconds) | 120 |
| Retries per request | max_retries | maxRetries | 3 |
Legacy names
The SDK was renamed to Algenta partway through its history. For backward compatibility, the legacy names below still work — existing code and deployment configurations do not need to change:
- Python import name — the PyPI package is
algenta-sdk, but the importable module remainsdecision_engine:from decision_engine import AlgentaClient. - Client aliases —
CodnaClient(andAsyncCodnaClientin Python) remain exported as aliases ofAlgentaClientin both SDKs. - Environment variables —
DE_API_KEY,DE_BASE_URL, andALGENTA_API_URLare still accepted alongside the canonicalALGENTA_API_KEYandALGENTA_BASE_URL.
The published API contract guarantees a 90-day deprecation window
(DEPRECATION_WINDOW_DAYS) before any legacy name is removed.
Powered by Mojo
The engine's compute kernels — simulation, scoring, and local query
execution — are written in Mojo and are
proprietary. They are distributed as signed algenta-runtime-native wheels
and are not part of this repository.
What is open, here and under Apache-2.0: both SDKs, the published API contract
they are generated from, the client/runtime wire protocol they speak, and
runnable examples — including examples/mojo-quickstart/,
a minimal end-to-end walkthrough of calling the native runtime through the SDK.
What is open source?
This repository contains Algenta's Python and TypeScript client SDKs, licensed under Apache-2.0 (see LICENSE and NOTICE).
The Algenta engine itself is closed source and is not contained in this repository. Engine licensing, device entitlements, worker limits, concurrency limits, and Server Compute Units are enforced independently by the engine, subject to the separate Algenta Engine license.
The SDK is a plain HTTP client. It holds no license-signing keys, no entitlement-enforcement logic, and no secret shared with the engine — every entitlement claim is independently verified and enforced by the closed engine, never by this SDK. Fork it, delete every check in it, or replace it with your own HTTP client entirely — modifying or replacing this SDK does not change the execution capacity licensed to an Algenta engine. See SECURITY.md for what that means for vulnerability reports.
Algenta does not require hosted inference or telemetry for execution. Paid licenses expand local execution and governance capacity rather than charging per SDK call.
Verify a release
Every release built by release.yml is
tied to:
- a protected
sdk-vX.Y.Zsource tag in this repository; - the exact commit that tag points to;
- a release-authorization record, signed by the internal release pipeline
after the engine's test suite has validated the commit, binding that
commit and a contract-file digest to the version being released (see
releases/).
release.yml refuses to build or publish anything unless all of the above
independently agree — see
scripts/verify_release_authorization.py.
Versioning
Both packages share one version number, since they wrap one API contract, and follow Semantic Versioning:
- Patch — bug fixes and documentation; no API surface change.
- Minor — backward-compatible additions (new methods, new optional fields).
- Major — breaking changes to exported symbols, required fields, or behavior, announced in advance through the deprecation window above.
Release history lives in CHANGELOG.md.
Contributing
Bug fixes, framework integrations, docs, and tests are welcome — see CONTRIBUTING.md. There is no CLA: contributions are licensed inbound=outbound under Apache-2.0, per GitHub's Terms of Service. Requests for new API capabilities usually require a change on Algenta's private API first; open an issue describing the capability rather than a PR against the generated contract files (also covered in CONTRIBUTING.md).
Please also read CODE_OF_CONDUCT.md.
- Security reports → SECURITY.md (never a public issue)
- Project direction and maintainership → GOVERNANCE.md
- Getting help → SUPPORT.md
Contributors
Thanks to everyone who contributes to this project — we follow the all-contributors specification and recognize contributions of every kind, not just code.
Community
Tools it offers (140)
What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.
onboard_datasetlist_datasetsget_dataset_statusretrain_datasetconnect_datalist_dataget_data_summaryget_data_schemarefresh_datadisconnect_dataregister_sourcelist_sourcesget_source_schemalist_connectorscreate_connectorget_connectorupdate_connectortest_connectorbrowse_connectorpreview_test_connectorpreview_browse_connectordelete_connectorget_repository_intelligence_capabilitiescreate_repository_snapshotget_repository_snapshottriage_repositorycreate_repository_decision_planquery_repository_graphsimulate_repositoryrun_repository_pipeline
Signals
- Last commit
- Oct 2026
- Weekly downloads
- 1k
- Weekly_downloads
- 587 weekly_downloads
Advanced
- Delivery
- algenta MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
- Item type
- mcp-server
- Key
io-github-thyn-ai-algenta- Source
- github.com/thyn-ai/algenta-sdk
- Hosted endpoint
https://api.algenta.ai/mcp
github.com/thyn-ai/algenta-sdk