# Algenta MCP Server (remote · api.algenta.ai)

Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.

- Trust score: 72/100 (medium)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.algenta.ai`: 72/100 (this document), [markdown](https://verifymcp.io/servers/thyn-ai-algenta/api.md), [page](https://verifymcp.io/servers/thyn-ai-algenta/api)
- pypi · `algenta-mcp`: 20/100, [markdown](https://verifymcp.io/servers/thyn-ai-algenta/algenta-mcp.md), [page](https://verifymcp.io/servers/thyn-ai-algenta/algenta-mcp)

## Channel facts

- Endpoint: `https://api.algenta.ai/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.4`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 89/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 49/100
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 8704 tokens (~62/item across 140 items; 140 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 77/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 30% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http thyn-ai-algenta https://api.algenta.ai/mcp
```

### Codex

```toml
[mcp_servers.thyn-ai-algenta]
url = "https://api.algenta.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "thyn-ai-algenta": {
      "type": "remote",
      "url": "https://api.algenta.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add thyn-ai-algenta --url https://api.algenta.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  thyn-ai-algenta:
    url: "https://api.algenta.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "thyn-ai-algenta": {
      "type": "http",
      "url": "https://api.algenta.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 71, +7)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (140)

### `onboard_dataset` (~179 tokens)

Register a dataset for semantic querying. Pass column names, inline records, or raw CSV. The engine profiles roles automatically and starts background training. Queries work immediately via a fallback model — accuracy improves once schema-specific training completes (poll status with list_datasets).

Input parameters:

- `async_train` (boolean): Start background semantic training immediately (default: true).
- `columns` (array): Column names only — fastest path, no data required.
- `csv` (string): Raw CSV text with header row.
- `domain_aliases` (object): Optional map of abbreviation → expansions. Example: {"ppa": ["per", "person", "average"]}. Auto-suggested if omitted.
- `name` (string): Human-readable name for this dataset.
- `records` (array): Sample rows as JSON records (list of dicts). Up to 200 rows.

### `list_datasets` (~149 tokens)

List registered datasets and their current model tier. Use search plus compact mode for low-token discovery, then poll status or use the primary data tools once you choose a dataset.

Input parameters:

- `compact` (boolean): When true, request the low-token compact dataset discovery shape.
- `limit` (integer): Results per page (default: all visible datasets, max 200 when set).
- `page` (integer): Page number (default 1).
- `search` (string): Deterministic lexical filter over dataset_id, name, and source_names.
- `source_name` (string): Optional source-name filter for narrowed dataset discovery.
- `status` (string): Optional dataset readiness filter such as ready or training.

### `get_dataset_status` (~69 tokens)

Get live training status and model tier for a specific dataset. model_tier: 'none' = deterministic only, 'base' = generic model, 'schema' = fully trained schema-specific model (best quality).

Input parameters:

- `dataset_id` (string, required): Dataset ID from onboard_dataset or list_datasets.

### `retrain_dataset` (~48 tokens)

Re-trigger semantic training for a dataset. Use after schema changes, alias updates, or to force a fresh model build.

Input parameters:

- `dataset_id` (string, required)
- `epochs` (integer)

### `connect_data` (~351 tokens)

High-level data onboarding flow. Use this instead of advanced connector/source tools for normal users. Connect data once, pick the table/file/endpoint, and get a reusable dataset_id. If the result status is needs_selection, call connect_data again with connection_id and the chosen selection.

Input parameters:

- `connection_config` (object): Legacy compatibility field for connector credentials/config. Prefer connector.location and connector.auth.credentials.
- `connection_id` (string): Existing saved connection_id when resuming after selection.
- `connection_name` (string): Optional label for the saved connection.
- `connection_type` (string): Legacy compatibility field. Prefer connector.type with the canonical connector envelope.
- `connector` (object): Canonical connector envelope with type/location/auth/options. Preferred when the same request shape should work across Python Runtime, TypeScript Runtime, and MCP.
- `csv` (string): Raw CSV text for direct file_upload datasets.
- `dataset_name` (string, required): Name to save and reuse later.
- `description` (string)
- `excel_b64` (string): Base64-encoded Excel payload.
- `json_str` (string): Raw JSON text for direct file_upload datasets.
- `parquet_b64` (string): Base64-encoded Parquet payload.
- `provider` (string): Legacy compatibility field for provider selection. Prefer connector.type plus connector.location/auth/options.
- `records` (array): Inline JSON records for direct file_upload datasets.
- `selection` (object): Legacy compatibility field for chosen table/query/path. Use the selection object returned in choices when resuming a legacy connection flow.
- `url` (string): URL for direct file_upload or API datasets.
- `visibility` (string): Shared requires admin/owner permissions.

### `list_data` (~144 tokens)

List visible datasets for the current user. Use search plus compact mode first for low-token dataset discovery, then get_data_schema on the chosen dataset_id.

Input parameters:

- `compact` (boolean): When true, request the low-token compact dataset discovery shape.
- `limit` (integer): Results per page (default: all visible datasets, max 200 when set).
- `page` (integer): Page number (default 1).
- `search` (string): Deterministic lexical filter over dataset_id, name, and source_names.
- `source_name` (string): Optional source-name filter for narrowed dataset discovery.
- `status` (string): Optional dataset readiness filter such as ready or training.

### `get_data_summary` (~57 tokens)

Get the low-token dataset selection summary for a saved dataset_id. Use this after list_data(search=..., compact=true) before paying for the full schema payload.

Input parameters:

- `dataset_id` (string, required): Dataset ID from connect_data or list_data.

### `get_data_schema` (~39 tokens)

Get a saved dataset plus its schema and relationship metadata by dataset_id.

Input parameters:

- `dataset_id` (string, required): Dataset ID from connect_data or list_data.

### `refresh_data` (~37 tokens)

Refresh a saved dataset from its original database/API/object-store origin.

Input parameters:

- `dataset_id` (string, required): Dataset ID from connect_data or list_data.

### `disconnect_data` (~35 tokens)

Delete a saved dataset and disconnect it from future use.

Input parameters:

- `dataset_id` (string, required): Dataset ID from connect_data or list_data.

### `register_source` (~132 tokens)

Advanced tool. Register a data source and get full schema profiling + join detection. Profiles every column (type, cardinality, fill rate, distribution). Detects formula relationships (A×B≈C) within the source. Detects join keys to every already-registered source automatically. After registration the source is queryable by name via query_data. Safe to call multiple times — re-registration is a no-op if data is unchanged.

Input parameters:

- `description` (string): Optional human description of this source.
- `source` (object, required): Data source definition. Provide exactly one of: records, csv, json_str, url.

### `list_sources` (~73 tokens)

Advanced tool. List all registered data sources for this org with their schema summaries. Use this to discover available tables before calling query_data or register_source.

Input parameters:

- `limit` (integer): Results per page (default: all visible sources, max 200 when set).
- `page` (integer): Page number (default 1).

### `get_source_schema` (~55 tokens)

Advanced tool. Get the full schema for a specific registered source: column types, cardinality, fill rates, formula relationships, and detected join keys to other sources.

Input parameters:

- `source_id` (string, required): Source ID from list_sources.

### `list_connectors` (~58 tokens)

List saved data connectors such as databases, APIs, and file-backed sources. Use this before get_connector, test_connector, or browse_connector.

Input parameters:

- `limit` (integer)
- `page` (integer)
- `status` (string)

### `create_connector` (~62 tokens)

Create and save one connector configuration for later data onboarding, health checks, and schema browsing.

Input parameters:

- `config` (object)
- `connector_type` (string, required)
- `description` (string)
- `name` (string, required)
- `visibility` (string)

### `get_connector` (~23 tokens)

Fetch one saved connector by id.

Input parameters:

- `connector_id` (string, required)

### `update_connector` (~57 tokens)

Update one saved connector name, description, visibility, or config.

Input parameters:

- `config` (object)
- `connector_id` (string, required)
- `description` (string)
- `name` (string)
- `visibility` (string)

### `test_connector` (~32 tokens)

Run a real connectivity test for one saved connector and persist its live/error status.

Input parameters:

- `connector_id` (string, required)

### `browse_connector` (~32 tokens)

Browse one saved live connector to discover files, tables, endpoints, or items.

Input parameters:

- `connector_id` (string, required)

### `preview_test_connector` (~38 tokens)

Run a real connectivity test for one inline connector definition without saving it.

Input parameters:

- `config` (object)
- `connector_type` (string, required)

### `preview_browse_connector` (~44 tokens)

Browse one inline connector definition without saving it to discover files, tables, endpoints, or items.

Input parameters:

- `config` (object)
- `connector_type` (string, required)

### `delete_connector` (~23 tokens)

Delete one saved connector by id.

Input parameters:

- `connector_id` (string, required)

### `get_repository_intelligence_capabilities` (~23 tokens)

List globally supported Repository Intelligence languages and ranked support progress.

### `create_repository_snapshot` (~71 tokens)

Create or reuse an immutable repository snapshot for a saved repository connector.

Input parameters:

- `exclude_patterns` (array)
- `include_patterns` (array)
- `max_file_size_bytes` (integer)
- `max_files` (integer)
- `ref` (string)
- `repository_id` (string, required)

### `get_repository_snapshot` (~37 tokens)

Fetch one immutable repository snapshot by repository_id and snapshot_id.

Input parameters:

- `repository_id` (string, required)
- `snapshot_id` (string, required)

### `triage_repository` (~77 tokens)

Triage a repository snapshot into a bounded workspace evidence bundle with suspect files and symbols.

Input parameters:

- `max_evidence_items` (integer)
- `max_snippet_lines` (integer)
- `repository_id` (string, required)
- `signals` (object, required)
- `snapshot_id` (string, required)
- `token_budget` (integer)

### `create_repository_decision_plan` (~67 tokens)

Create one immutable repository DecisionPlan revision from a workspace evidence bundle, resolving snapshot_id from triage when omitted.

Input parameters:

- `model` (string)
- `repository_id` (string, required)
- `snapshot_id` (string)
- `workspace_evidence_bundle_ref` (string, required)

### `query_repository_graph` (~91 tokens)

Query one persisted repository snapshot for dependency, dependent, and change-risk graph edges.

Input parameters:

- `direction` (string)
- `file_path` (string)
- `max_depth` (integer)
- `max_nodes` (integer)
- `repository_id` (string, required)
- `snapshot_id` (string)
- `symbol_name` (string)
- `workspace_evidence_bundle_ref` (string)

### `simulate_repository` (~69 tokens)

Simulate repository patch risk and return the gated DecisionEnvelope, resolving snapshot_id from the decision plan when omitted.

Input parameters:

- `decision_plan_id` (string, required)
- `repository_id` (string, required)
- `runs` (integer)
- `seed` (integer)
- `snapshot_id` (string)

### `run_repository_pipeline` (~115 tokens)

Run the repository snapshot->triage->plan->simulate chain and return the canonical repository envelope.

Input parameters:

- `max_evidence_items` (integer)
- `max_snippet_lines` (integer)
- `model` (string)
- `repository_id` (string, required)
- `runs` (integer)
- `seed` (integer)
- `signals` (object)
- `snapshot` (object)
- `snapshot_id` (string)
- `stop_after` (string)
- `token_budget` (integer)

### `simulate_repository_patch` (~54 tokens)

Simulate an in-flight repository patch and return the canonical repository envelope.

Input parameters:

- `confidence` (number)
- `patch_diff` (string, required)
- `repository_id` (string, required)
- `snapshot_id` (string, required)

### `run_repository_fix` (~45 tokens)

Run repository pipeline then apply the result, returning the canonical repository envelope.

Input parameters:

- `apply` (object)
- `pipeline` (object)
- `repository_id` (string, required)

### `apply_repository` (~114 tokens)

Apply a simulated repository decision as patch_only, local_branch, or remote_pr.

Input parameters:

- `base_branch` (string)
- `branch_name` (string)
- `commit_message` (string)
- `decision_plan_id` (string, required)
- `mode` (string, required)
- `pull_request_body` (string)
- `pull_request_title` (string)
- `repository_id` (string, required)
- `simulation_id` (string, required)
- `snapshot_id` (string)
- `write_permission` (boolean)

### `query_data` (~332 tokens)

Execute a structured query against connected data sources. Convert the user's question to a structured intent and call this tool — do NOT try to write SQL or parse column names yourself. The engine resolves column meaning from mathematical relationships and statistical structure only. It works on any dataset without configuration. The governed filter shape is a record-predicate contract over normalized rows, not a SQL predicate language, so it also applies to Redis and other non-SQL sources.

Structural roles (use in metric.role):
\- derived_measure: the main financial/operational aggregate (revenue, spend, value)
\- base_measure: counts, quantities, discrete amounts
\- unit_measure: per-unit prices, rates
\- ratio: percentages, margins, fill rates (0-1 range)
\- metric: let the engine pick the best numeric column

If clarification_required is true, or if confidence < 0.85, check the candidates list and ask the user to clarify. Never fabricate column names or SQL.

Input parameters:

- `aggregation` (string): How to aggregate the metric column.
- `dataset_id` (string): Preferred path. dataset_id returned by connect_data or list_data.
- `filter` (object)
- `group_by` (array): Dimension words from the user's question (e.g. ['customer', 'region']). The engine finds the best matching column.
- `limit` (integer): Top-N limit. Use for 'top 5 customers' type questions.
- `metric` (object): What to measure.
- `order` (string)
- `sources` (array): Data sources to query. Usually omitted when dataset_id is provided.

### `query_batch` (~89 tokens)

Execute several governed exact queries in one API call. Use this for multi-metric prompts after choosing a dataset with list_data and get_data_summary. Each item reuses the same structured query contract as query_data; defaults may provide shared dataset_id, filter, limit, and order.

Input parameters:

- `defaults` (object): Optional shared exact-query fields applied to each item before execution.
- `queries` (array, required)

### `query_sql_report` (~99 tokens)

Execute a constrained read-only SQL rowset query over authorized datasets. Use this only for wide reports that do not fit the governed exact-query surface. SQL must be a single SELECT/WITH statement over the provided dataset aliases.

Input parameters:

- `max_rows` (integer): Optional row cap, up to the API maximum.
- `sources` (array, required): Authorized datasets made available to the SQL report.
- `sql` (string, required): Single read-only SELECT or WITH statement.

### `ingest_data` (~147 tokens)

Auto-map tabular data to a simulation payload. Detects variable distributions, polarity (revenue=positive, cost=negative), units, and builds the objective function automatically. Set run_simulation=true to execute the simulation immediately and get results. Multiple tables: auto-detects join keys and merges before analysis.

Input parameters:

- `domain` (string): Optional domain hint (finance, supply_chain, hr) for better field mapping.
- `run_simulation` (boolean): Execute the simulation immediately and return results.
- `runs` (integer): Scenarios to evaluate (1,000–1,000,000).
- `tables` (array, required): One or more data tables. First table is primary.

### `list_models` (~74 tokens)

List the current Algenta model catalog, including deterministic utility models and any provider-backed routed entries with their routing, failover, timeout, and auth metadata, including capability-specific chat and embedding auth/header readiness. Use this before calling tokenize, count_tokens, chat_completions, responses, embeddings, embedding_similarity, or rerank.

### `resolve_artifact_bridge` (~71 tokens)

Resolve a Hugging Face artifact path through the Algenta compatibility-ring artifact bridge. Defaults to cache-only lookup and never downloads unless local_files_only=false.

Input parameters:

- `filename` (string, required)
- `local_files_only` (boolean)
- `repo_id` (string, required)
- `revision` (string)

### `tokenize` (~36 tokens)

Tokenize UTF-8 text with a supported deterministic Algenta tokenizer model.

Input parameters:

- `input` (string, required)
- `model` (string)

### `count_tokens` (~33 tokens)

Count tokens with a supported deterministic Algenta tokenizer model.

Input parameters:

- `input` (string, required)
- `model` (string)

### `chat_completions` (~49 tokens)

Run the deterministic Algenta utility chat surface. This is a tokenizer-backed utility route, not a provider-backed generative model.

Input parameters:

- `messages` (array, required)
- `model` (string)

### `responses` (~42 tokens)

Run the unified Algenta utility response surface over deterministic tokenization or lexical embeddings.

Input parameters:

- `dimensions` (integer)
- `input` (required)
- `model` (string)

### `embeddings` (~37 tokens)

Generate deterministic lexical embeddings with the supported Algenta model.

Input parameters:

- `dimensions` (integer)
- `input` (required)
- `model` (string)

### `embedding_similarity` (~43 tokens)

Score two caller-supplied embedding vectors with a supported similarity model.

Input parameters:

- `left` (array, required)
- `model` (string)
- `right` (array, required)

### `rerank` (~50 tokens)

Rerank caller-supplied document embeddings deterministically.

Input parameters:

- `documents` (array, required)
- `model` (string)
- `query_embedding` (array, required)
- `top_n` (integer)

### `list_runtime_libraries` (~74 tokens)

List executable local-runtime Mojo libraries. Use this when you need the runtime-backed compute catalog rather than the governed data/query tools. This surface is local/runtime-backed only.

Input parameters:

- `limit` (integer): Maximum number of libraries to return after filtering.
- `search` (string): Optional lexical filter over module names and function names.

### `execute_runtime_library` (~122 tokens)

Execute one local-runtime Mojo library function by module and function name. Pass args as either a JSON object, array, scalar, or null. This surface is local/runtime-backed only and does not route through hosted data/query APIs.

Input parameters:

- `args`: JSON-serializable args payload. May be an object, array, scalar, or null.
- `function` (string, required): Function name exposed by the runtime module.
- `module` (string, required): Canonical runtime module name, including dotted names.
- `request_id` (string): Optional stable request identifier for traceability.

### `list_capability_providers` (~29 tokens)

List unified capability providers across data, MCP, skills, native tools, and runtime libraries.

### `list_capability_bindings` (~34 tokens)

List capability bindings for the current organization.

Input parameters:

- `provider_id` (string)
- `scope` (string)

### `create_capability_binding` (~82 tokens)

Create one capability binding for a provider/profile pair.

Input parameters:

- `binding_name` (string, required)
- `config` (object)
- `customer_metadata` (object)
- `execution_owner` (string)
- `profile_id` (string, required)
- `provider_id` (string, required)
- `scope` (string)
- `scope_ref` (string)

### `test_capability_binding` (~85 tokens)

Test a saved capability binding or preview-test an unsaved one.

Input parameters:

- `binding_id` (string)
- `config` (object)
- `customer_metadata` (object)
- `execution_owner` (string)
- `profile_id` (string)
- `provider_id` (string)
- `scope` (string)
- `scope_ref` (string)

### `discover_capability_binding` (~88 tokens)

Discover capabilities for a saved capability binding or preview-discover an unsaved one.

Input parameters:

- `binding_id` (string)
- `config` (object)
- `customer_metadata` (object)
- `execution_owner` (string)
- `profile_id` (string)
- `provider_id` (string)
- `scope` (string)
- `scope_ref` (string)

### `list_capabilities` (~44 tokens)

List unified capabilities filtered by kind, provider, or binding.

Input parameters:

- `binding_ids` (array)
- `kinds` (array)
- `provider_ids` (array)

### `get_capability` (~33 tokens)

Get one unified capability by capability id.

Input parameters:

- `capability_id` (string, required)
- `include_instruction` (boolean)

### `route_capabilities` (~92 tokens)

Route an objective to the best unified capability with fallbacks and an authoritative execution_owner.

Input parameters:

- `artifact_affinities` (array)
- `binding_ids` (array)
- `execution_owners` (array)
- `kinds` (array)
- `max_fallbacks` (integer)
- `objective` (string, required)
- `provider_ids` (array)
- `tags` (array)

### `execute_capability` (~68 tokens)

Execute one routed or known algenta_managed capability by capability id. client_managed routes must execute in the customer app or adapter path.

Input parameters:

- `binding_id` (string)
- `capability_id` (string, required)
- `input` (object)
- `request_id` (string)

### `list_skills` (~18 tokens)

List skill capabilities from the unified capability plane.

### `enable_skill` (~67 tokens)

Enable one prompt-skill as a first-class capability binding.

Input parameters:

- `artifact_affinities` (array)
- `description` (string)
- `execution_owner` (string)
- `instruction` (string, required)
- `skill_name` (string, required)
- `tags` (array)

### `disable_skill` (~24 tokens)

Disable one skill binding by binding id.

Input parameters:

- `binding_id` (string, required)

### `plan_decision` (~38 tokens)

Build a structured Algenta DecisionPlan from a validated simulation-style request. Use this when the caller needs the plan summary without the full decision envelope.

### `product_decision` (~78 tokens)

Run the simple product decision helper and return the chosen action plus risk summary.

Input parameters:

- `engine` (string)
- `inputs` (array, required): Business inputs with current value and optional low/high bounds.
- `label` (string)
- `objective` (string)
- `risk_tolerance` (string)
- `scenarios` (integer)

### `product_agent_run` (~61 tokens)

Run the simple product task-execution helper and return a compact task result.

Input parameters:

- `context` (object)
- `max_steps` (integer)
- `output_format` (string)
- `task` (string, required)
- `tools` (array)

### `product_optimize` (~57 tokens)

Run the simple product optimization helper and return the best variable values.

Input parameters:

- `constraints` (array)
- `engine` (string)
- `iterations` (integer)
- `objective` (string, required)
- `variables` (array, required)

### `product_retrieve` (~64 tokens)

Run the simple product retrieval helper over caller-supplied documents or a collection id.

Input parameters:

- `collection_id` (string)
- `documents` (array)
- `query` (string, required)
- `rerank` (boolean)
- `top_k` (integer)

### `product_forecast` (~58 tokens)

Run the simple product forecast helper over a historical metric series.

Input parameters:

- `confidence_level` (number)
- `history` (array, required)
- `horizon` (integer)
- `metric` (string, required)
- `seasonality` (boolean)

### `simulate` (~155 tokens)

Run a Monte Carlo simulation and get a structured decision recommendation. Use for: quantifying risk in a decision, comparing expected outcomes, getting probability-weighted recommendations.

Input parameters:

- `mode` (string): auto = minimal setup; expert = full distribution control
- `n_simulations` (integer): Monte Carlo iteration count. Auto mode accepts 100–100,000; expert mode accepts 100–1,000,000.
- `objective` (string): Auto-mode objective. For expert mode, use objective_function.
- `objective_function` (string): Expert-mode expression, for example 'revenue - cost'. Required when mode='expert'.
- `variables` (array, required): Input variables as triangular distributions (low, most-likely, high)

### `recommend` (~57 tokens)

Compare multiple named actions/options and get a ranked recommendation. Use when you need to choose between two or more alternatives with uncertainty.

Input parameters:

- `actions` (array, required): List of options to compare (minimum 2)
- `n_simulations` (integer)

### `score` (~57 tokens)

Score a single simulation request with explicit weights and return the decision envelope plus score breakdown.

Input parameters:

- `request` (object, required): Simulation request forwarded to POST /v1/score.
- `scoring_weights` (object): Optional expected_value/downside_risk weights.

### `batch` (~40 tokens)

Run multiple simulation requests in one call and return per-item success or failure details.

Input parameters:

- `items` (array, required): Simulation requests forwarded to POST /v1/batch.

### `compare` (~56 tokens)

Run named scenarios side by side and return the winner plus deltas versus the best scenario.

Input parameters:

- `runs` (integer)
- `scenarios` (array, required): Named scenarios forwarded to POST /v1/compare.
- `seed` (integer)

### `submit_job` (~81 tokens)

Submit a long-running async simulation job. Use for n_simulations > 500,000 or when you need a callback. Returns a job_id — poll with get_job_status.

Input parameters:

- `callback_url` (string): Webhook URL for completion notification
- `n_simulations` (integer)
- `objective` (string)
- `variables` (array, required)

### `list_jobs` (~49 tokens)

List async simulation jobs with pagination and optional status filtering.

Input parameters:

- `limit` (integer)
- `page` (integer)
- `status` (string): Optional job status filter such as queued or completed.

### `get_job_status` (~32 tokens)

Fetch the latest async simulation job status by id.

Input parameters:

- `job_id` (string, required): UUID of the async job

### `poll_job` (~98 tokens)

Wait for an async simulation job to reach a terminal state. Returns the final result when the job completes, or the terminal status when it fails, is cancelled, or times out.

Input parameters:

- `job_id` (string, required): UUID of the async job
- `poll_interval_seconds` (number): Delay between status checks while the job is still queued or running.
- `timeout_seconds` (number): Maximum wall-clock time to wait before returning a timed_out response.

### `get_job_result` (~35 tokens)

Fetch the completed result payload for an async simulation job by id.

Input parameters:

- `job_id` (string, required): UUID of the async job

### `cancel_job` (~32 tokens)

Cancel a queued or running async simulation job by id.

Input parameters:

- `job_id` (string, required): UUID of the async job

### `test_webhook_delivery` (~41 tokens)

Send a test webhook payload to a callback URL and return the delivery result.

Input parameters:

- `callback_url` (string, required): URL that should receive the test webhook payload.

### `create_agent_run` (~73 tokens)

Create a persisted Algenta agent run lifecycle resource.

Input parameters:

- `approval_mode` (string)
- `context` (object)
- `max_steps` (integer)
- `output_format` (string)
- `start_paused` (boolean)
- `task` (string, required)
- `tools` (array)

### `list_agent_runs` (~67 tokens)

List persisted Algenta agent runs for the authenticated org.

Input parameters:

- `limit` (integer)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `schema_snapshot_id` (string)
- `status` (string)

### `get_agent_run` (~28 tokens)

Fetch a persisted Algenta agent run by run_id.

Input parameters:

- `run_id` (string, required)

### `get_agent_run_events` (~38 tokens)

Fetch the append-only event stream for an Algenta agent run.

Input parameters:

- `limit` (integer)
- `run_id` (string, required)

### `get_agent_run_checkpoints` (~29 tokens)

Fetch persisted checkpoints for an Algenta agent run.

Input parameters:

- `run_id` (string, required)

### `query_agent_run_checkpoints` (~83 tokens)

Query persisted checkpoints across Algenta agent runs.

Input parameters:

- `checkpoint_id` (string)
- `limit` (integer)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `run_id` (string)
- `schema_snapshot_id` (string)
- `status` (string)

### `get_agent_run_mission_events` (~39 tokens)

Fetch canonical mission-event records for an Algenta agent run.

Input parameters:

- `limit` (integer)
- `run_id` (string, required)

### `query_agent_run_mission_events` (~87 tokens)

Query canonical mission-event records across persisted Algenta agent runs.

Input parameters:

- `event_type` (string)
- `limit` (integer)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `run_id` (string)
- `schema_snapshot_id` (string)
- `status` (string)

### `get_agent_run_telemetry` (~38 tokens)

Fetch runtime telemetry batches for an Algenta agent run.

Input parameters:

- `limit` (integer)
- `run_id` (string, required)

### `query_agent_run_telemetry` (~94 tokens)

Query runtime telemetry batches across persisted Algenta agent runs.

Input parameters:

- `limit` (integer)
- `module_name` (string)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `run_id` (string)
- `schema_snapshot_id` (string)
- `status` (string)
- `telemetry_kind` (string)

### `resume_agent_run` (~25 tokens)

Resume a paused Algenta agent run.

Input parameters:

- `run_id` (string, required)

### `cancel_agent_run` (~24 tokens)

Cancel an Algenta agent run.

Input parameters:

- `run_id` (string, required)

### `approve_agent_run` (~29 tokens)

Approve an Algenta agent run waiting on manual approval.

Input parameters:

- `run_id` (string, required)

### `list_deployment_regions` (~21 tokens)

List available deployment providers and regions for the current organization.

### `get_deployment` (~22 tokens)

Fetch the current deployment for the active organization, if one exists.

### `create_deployment` (~49 tokens)

Request a new isolated deployment for the active organization.

Input parameters:

- `billing_markup_pct` (number)
- `config` (object)
- `provider` (string)
- `region` (string)

### `get_deployment_cost` (~29 tokens)

Get current-month cost details for one deployment by id.

Input parameters:

- `deployment_id` (string, required)

### `delete_deployment` (~28 tokens)

Request deprovisioning for one deployment by id.

Input parameters:

- `deployment_id` (string, required)

### `list_team_members` (~31 tokens)

List team members for the current organization.

Input parameters:

- `limit` (integer)
- `page` (integer)

### `invite_team_member` (~32 tokens)

Invite a team member to the current organization.

Input parameters:

- `email` (string, required)
- `role` (string)

### `update_team_member_role` (~36 tokens)

Update one current organization team member role by user id.

Input parameters:

- `role` (string, required)
- `user_id` (string, required)

### `remove_team_member` (~29 tokens)

Remove one team member from the current organization by user id.

Input parameters:

- `user_id` (string, required)

### `list_devices` (~30 tokens)

List registered devices for the current organization.

Input parameters:

- `limit` (integer)
- `page` (integer)

### `revoke_device` (~29 tokens)

Revoke one registered device by registration id for the current organization.

Input parameters:

- `registration_id` (string, required)

### `get_audit_logs` (~98 tokens)

Get paginated audit logs for the current organization.

Input parameters:

- `action` (string)
- `actor_email` (string)
- `limit` (integer)
- `manifest_version` (string)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `resource_type` (string)
- `result` (string)
- `schema_snapshot_id` (string)

### `get_audit_log_artifacts` (~110 tokens)

Get paginated immutable audit-log artifacts for the current organization.

Input parameters:

- `action` (string)
- `actor_email` (string)
- `content_hash` (string)
- `limit` (integer)
- `manifest_version` (string)
- `page` (integer)
- `policy_snapshot_id` (string)
- `request_hash` (string)
- `resource_type` (string)
- `result` (string)
- `schema_snapshot_id` (string)

### `get_execution_policy` (~20 tokens)

Get the current autonomous execution policy for the active organization.

### `list_execution_policy_snapshots` (~21 tokens)

List persisted execution-policy snapshots for the active organization.

### `get_billing_info` (~22 tokens)

Get current billing plan and subscription info for the active organization.

### `create_billing_checkout` (~27 tokens)

Create a Stripe Checkout session for the active organization.

Input parameters:

- `plan` (string)

### `create_billing_portal` (~22 tokens)

Create a Stripe Billing Portal session for the active organization.

### `refresh_credits` (~47 tokens)

Issue a compatibility credit batch for a quota-governed managed runtime.

Input parameters:

- `billing_period` (string, required)
- `credits_used` (integer)
- `device_id` (string, required)

### `ingest_metering_events` (~35 tokens)

Ingest an explicitly enabled managed-runtime analytics batch.

Input parameters:

- `device_id` (string, required)
- `events` (array, required)

### `update_execution_policy` (~56 tokens)

Update one or more execution-policy thresholds for the active organization.

Input parameters:

- `allow_reexecution` (boolean)
- `min_confidence` (number)
- `require_calibration` (boolean)
- `risk_floor` (number)

### `get_contract` (~51 tokens)

Get the machine-readable Algenta public contract. Use this when an agent needs the canonical discovery, summary, query, batch, SQL report, governed filter rules, CLI, or MCP entrypoints before planning tool use.

### `get_runtime_manifest` (~49 tokens)

Get the signed Algenta runtime manifest. Use this when an agent needs the canonical runtime-core inventory, maturity states, proof matrix, typed failure contract, or release theorem before using runtime-backed execution paths.

### `get_runtime_release_validation` (~49 tokens)

Get the authenticated Algenta runtime release validation result. Use this when an agent needs the current manifest-listed release verdict, formal theorem conditions, or fail-closed proof status before using runtime-backed paths.

### `get_runtime_modules` (~48 tokens)

Get the authenticated Algenta runtime module proof catalog. Use this when an agent needs the shipping module inventory, proof-matrix entries, maturity counts, or compiled module evidence before using runtime-backed paths.

### `get_runtime_benchmarks` (~55 tokens)

Get the authenticated Algenta runtime benchmark catalog. Use this when an agent needs benchmark classes, benchmark evidence paths, evaluation quality gates, SLO budgets, compiled artifacts, or module benchmark linkage before reasoning about runtime performance claims.

### `get_me` (~20 tokens)

Get current user and organization identity for the active API key.

### `update_me` (~38 tokens)

Update the current user name and or organization name for the active API key.

Input parameters:

- `name` (string)
- `org_name` (string)

### `get_limits` (~20 tokens)

Get current plan quotas and limits for the active API key.

### `list_distributions` (~19 tokens)

List supported distribution types for the active API key.

### `list_templates` (~19 tokens)

List built-in simulation templates for the active API key.

### `list_api_keys` (~24 tokens)

List active API keys for the current organization. Never returns raw secret material.

### `create_api_key` (~46 tokens)

Create a new API key and return its one-time raw_key value.

Input parameters:

- `device_limit` (integer)
- `expires_at` (string)
- `label` (string, required)

### `revoke_api_key` (~25 tokens)

Revoke one API key by id.

Input parameters:

- `key_id` (string, required)

### `list_runs` (~46 tokens)

List recent simulation runs with optional filters.

Input parameters:

- `limit` (integer): Max results (1-100)
- `mode` (string): Filter by mode
- `status` (string)

### `get_run` (~29 tokens)

Fetch a single simulation run by ID.

Input parameters:

- `run_id` (string, required): UUID of the simulation run

### `get_analytics` (~35 tokens)

Get usage analytics: simulation volume, latency p95, outcome distributions.

Input parameters:

- `days` (integer): Lookback window in days

### `get_usage` (~20 tokens)

Get current billing period usage vs quota for this API key.

### `log_decision` (~262 tokens)

Persist a decision to the Decision Memory audit trail. Link to a simulation run_id to bind the full DecisionPlan context. Call record_outcome later to close the feedback loop and measure prediction accuracy. Every logged decision is immutably hashed — no tampering possible.

Input parameters:

- `chosen_action` (string, required): The action that was decided upon.
- `confidence` (number): Confidence score (0–1) from the simulation.
- `context` (string): Business context — what was the situation when this decision was made?
- `expected_value` (number): Expected outcome value at decision time.
- `options_considered` (array): All option names that were evaluated.
- `rationale` (string): Explanation of why this option was chosen.
- `request_hash` (string): SHA-256 input fingerprint from the simulation.
- `result_hash` (string): SHA-256 output fingerprint from the simulation.
- `risk_p5` (number): 5th-percentile downside at decision time.
- `risk_p95` (number): 95th-percentile upside at decision time.
- `risk_pol` (number): Probability of loss (0–1) at decision time.
- `run_id` (string): Simulation run_id that produced this decision (from simulate or recommend).

### `list_decisions` (~129 tokens)

Retrieve the Decision Memory audit trail — all logged decisions, most recent first. Use with_outcome_only=true to see only decisions where actual results have been recorded. outcome_delta = actual_outcome - expected_value: negative means worse than predicted.

Input parameters:

- `limit` (integer): Canonical results per page (default 20, max 200).
- `page` (integer): Page number (default 1).
- `page_size` (integer): Results per page (default 20, max 100).
- `with_outcome_only` (boolean): When true, return only decisions with recorded actual outcomes.

### `get_decision` (~35 tokens)

Fetch one decision-memory record by id.

Input parameters:

- `decision_id` (string, required): Decision ID from log_decision or list_decisions.

### `record_outcome` (~97 tokens)

Close the feedback loop: record what actually happened after a decision was made. Sets actual_outcome and computes outcome_delta = actual - expected. Over time this data measures prediction accuracy and reveals systematic biases.

Input parameters:

- `actual_outcome` (number, required): The observed real-world outcome value.
- `decision_id` (string, required): Decision ID from log_decision or list_decisions.
- `outcome_notes` (string): Optional explanation of what happened and why.

### `execute_decision` (~124 tokens)

Dispatch a logged decision to an external webhook and persist the execution receipt.

Input parameters:

- `decision_id` (string, required): Decision ID from log_decision or list_decisions.
- `force` (boolean): Override the idempotency gate for one re-execution.
- `metadata` (object): Optional key-value pairs merged into the webhook payload.
- `override_safety` (boolean): Bypass confidence and risk-floor policy gates for this execution.
- `timeout_seconds` (number): Webhook timeout in seconds.
- `webhook_url` (string, required): HTTPS webhook that should receive the decision payload.

### `delete_decision` (~29 tokens)

Delete one decision-memory record by id.

Input parameters:

- `decision_id` (string, required): Decision ID to delete.

### `register_trigger` (~193 tokens)

Register a real-time trigger that watches a data source for a threshold condition. When the condition is met, the engine auto-runs the simulation template and optionally fires a webhook. Examples: 'alert me when monthly revenue drops below $80k', 'simulate expansion if Downtown revenue exceeds $200k'.

Input parameters:

- `auto_execute` (boolean): When true, automatically dispatch the decision plan to execution_webhook_url after the trigger fires.
- `condition` (object, required): Threshold condition to watch.
- `description` (string): Human-readable description of what this trigger monitors.
- `execution_webhook_url` (string): Optional HTTPS URL to POST the DecisionPlan execution payload to when auto_execute is enabled.
- `name` (string, required): Human-readable trigger name.
- `simulation_template` (object, required): SimulateRequest-compatible payload to run when trigger fires.
- `webhook_url` (string): Optional HTTPS URL to POST results to when the trigger fires.

### `list_triggers` (~80 tokens)

List all registered triggers with their current status, last-checked time, and last-fired simulation result summary.

Input parameters:

- `limit` (integer): Results per page (default: all visible triggers, max 200 when set).
- `page` (integer): Page number (default 1).
- `status` (string): Filter by trigger status (default: all).

### `fire_trigger` (~82 tokens)

Manually fire a trigger — evaluates its condition and runs the simulation template regardless of whether the threshold is currently met. Useful for testing triggers or forcing an immediate evaluation.

Input parameters:

- `force` (boolean): When true, run simulation even if the condition is not currently met (default: false).
- `trigger_id` (string, required): Trigger ID from register_trigger or list_triggers.

### `pause_trigger` (~49 tokens)

Pause or resume an existing trigger without deleting it.

Input parameters:

- `paused` (boolean): Set true to pause, false to resume (default: true).
- `trigger_id` (string, required): Trigger ID to update.

### `delete_trigger` (~32 tokens)

Remove a trigger. The trigger will no longer fire automatically.

Input parameters:

- `trigger_id` (string, required): Trigger ID to delete.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/thyn-ai-algenta/api#diagnostics

## Score history

- 2026-08-03: 72
- 2026-08-02: 72
- 2026-08-01: 71
- 2026-07-31: 71
- 2026-07-30: 64
- 2026-07-29: 63
- 2026-07-28: 62
- 2026-07-27: 62
- 2026-07-26: 61

## Links

- Remote endpoint: https://api.algenta.ai/mcp
- Authorisation metadata: https://api.algenta.ai/.well-known/oauth-protected-resource/mcp
- Website: https://algenta.ai/
- Changelog RSS feed: https://verifymcp.io/servers/thyn-ai-algenta/api/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/thyn-ai-algenta/api/changelog.json
- HTML version of this page: https://verifymcp.io/servers/thyn-ai-algenta/api
