Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ALGENTA_API_KEY, ALGENTA_BASE_URL, Authorizationค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"algenta": {
"command": "uvx",
"args": [
"algenta-mcp"
],
"env": {
"ALGENTA_API_KEY": "ใส่ค่าของคุณ",
"ALGENTA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http algenta https://api.algenta.ai/mcp --header 'Authorization: ใส่ค่าของคุณ'claude mcp add algenta --env ALGENTA_API_KEY='ใส่ค่าของคุณ' --env ALGENTA_BASE_URL='ใส่ค่าของคุณ' -- uvx algenta-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"algenta": {
"url": "https://api.algenta.ai/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"algenta": {
"command": "uvx",
"args": [
"algenta-mcp"
],
"env": {
"ALGENTA_API_KEY": "ใส่ค่าของคุณ",
"ALGENTA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"algenta": {
"type": "http",
"url": "https://api.algenta.ai/mcp",
"headers": {
"Authorization": "ใส่ค่าของคุณ"
}
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"algenta": {
"type": "stdio",
"command": "uvx",
"args": [
"algenta-mcp"
],
"env": {
"ALGENTA_API_KEY": "ใส่ค่าของคุณ",
"ALGENTA_BASE_URL": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ที่อยู่นี้ต้องใส่ key ใน header ของคำขอ ซึ่งเมนูเพิ่ม connector ใส่ให้ไม่ได้ ใช้ Claude Code, Cursor หรือ VS Code แทน
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ALGENTA_BASE_URL envAuthorization ความลับ จำเป็น HTTP headerค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub thyn-ai ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป
ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: ALGENTA_API_KEY, Authorization
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.31) เข้า registry 43 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Starreel
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Turn a script into a finished, downloadable short-drama episode — via MCP or REST.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Python and TypeScript client libraries and the official MCP server for [Algenta](https://algenta.ai) — self-hosted building blocks for AI applications.
📖 Full documentation: [GitHub Wiki](https://github.com/thyn-ai/algenta-sdk/wiki)
Docs · Python SDK · TypeScript SDK · MCP server · Integrations · Examples · Contributing
Custom Mojo kernels give Algenta its speed. Your team never writes a line of Mojo — the blocks speak Python and TypeScript. On your infrastructure, not ours. These SDKs are how Python and TypeScript call the engine: 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.
MCP server (`algenta-mcp`) — the official MCP server for Algenta lives in THIS repository at packages/mcp/ (implementation: packages/mcp/algenta_mcp; stdio transport by default, Streamable HTTP optional). Install it with pip install algenta-mcp and run it as the algenta-mcp command; it is also on the official MCP Registry as io.github.thyn-ai/algenta. The framework integrations (LangChain, LlamaIndex, Vercel AI SDK, …) are what live in the companion repository thyn-ai/algenta-integrations — not the MCP server.
Introspection (initialize/tools/list) needs no credentials. Executing tools requires a free community login — device registration at algenta.ai (free): run algenta login, or create a key at https://app.algenta.ai/dashboard/api-keys, then set ALGENTA_API_KEY.
pip install algenta-sdk # Python 3.12+
npm install algenta-sdk # TypeScript / JavaScript, Node.js 18+
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/. The MCP server lives in this repository (see MCP server above); framework integrations (LangChain, LlamaIndex, Vercel AI SDK, and more) live in the companion repository thyn-ai/algenta-integrations.
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 |
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:
algenta-sdk, but the importable module remains decision_engine: from decision_engine import AlgentaClient.CodnaClient (and AsyncCodnaClient in Python) remain exported as aliases of AlgentaClient in both SDKs.DE_API_KEY, DE_BASE_URL, and ALGENTA_API_URL are still accepted alongside the canonical ALGENTA_API_KEY and ALGENTA_BASE_URL.The published API contract guarantees a 90-day deprecation window (DEPRECATION_WINDOW_DAYS) before any legacy name is removed.
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.
This repository contains Algenta's Python and TypeScript client SDKs and the official MCP server (packages/mcp/), 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.
Every release built by release.yml is tied to:
sdk-vX.Y.Z source tag in this repository;releases/).release.yml refuses to build or publish anything unless all of the above independently agree — see scripts/verify_release_authorization.py.
Each GitHub Release cut since signing was added (September 2026) carries, next to the wheel, the sdist and release-manifest.json:
.sigstore.json), signed by the release.yml run itself;multiple.intoto.jsonl), from the SLSA generic generator.To check an asset against both, with VERSION set to the release version (VERSION=1.0.15 for tag sdk-v1.0.15):
pipx run sigstore verify identity "algenta_sdk-${VERSION}-py3-none-any.whl" \
--bundle "algenta_sdk-${VERSION}-py3-none-any.whl.sigstore.json" \ --cert-oidc-issuer https://token.actions.githubusercontent.com \ --cert-identity "https://github.com/thyn-ai/algenta-sdk/.github/workflows/release.yml@refs/tags/sdk-v${VERSION}"
slsa-verifier verify-artifact "algenta_sdk-${VERSION}-py3-none-any.whl" \ --provenance-path multiple.intoto.jsonl \ --source-uri github.com/thyn-ai/algenta-sdk \ --source-tag "sdk-v${VERSION}"
A release published through release.yml's workflow_dispatch path was signed from the dispatched branch, so its certificate identity ends in @refs/heads/main instead of the tag; the bundle records which.
Both packages share one version number, since they wrap one API contract, and follow Semantic Versioning:
Release history lives in CHANGELOG.md.
#
ตัดมาแค่ช่วงต้น อ่านต่อใน repo