Agentelic is a specification in the ComputeDriven world — read itlive_deployedThat rung covers the MCP tool surface at app.agentelic.com/mcp, which answers tools/list and template_list — and nothing that needs a database, which returns 500 there today.
The question this site exists to answer

What can a build actually prove about an agent?

Almost every claim an agent builder makes about itself is a claim you have to take on trust — that the tests ran, that the artifact is the one that was tested, that the thing deployed is the thing built. One of those is different. Agentelic's code templates are pinned by the SHA-256 of their own contents, so the deployed server's answer can be re-derived by anyone who can read this repository. This page does that at build time and refuses to publish if the numbers move. Everything else here is trust, and it is labelled.

10
MCP tools answering
tools/list on the deployed server, 2026-08-16. AGENTS.md in this repository still lists 7 as "planned"; the deployed surface has ten.
66
Tests, 0 failures
mix test in this repository, 2026-08-16, with the :db tag excluded by default.
2
Template hashes reproduced
Both recomputed from priv/templates/ at build time and compared against what the deployed server returned.
1
Deployed read path returning 500
GET /api/agents. Not a missing feature — a fault in something that shipped.
0
Ways to pay for this
No checkout, no account, no billing. Zero matches for stripe/checkout/billing/subscription across lib/, test/ and config/.
Measured, not assumed

Six requests, and two of them fail.

Every row below is one request that was actually issued on 2026-08-16, with the status it returned. They are frozen observations with a date on them — this page makes no network call and does not pretend to be a live dashboard. Two rows are failures, and they are the two that decide what the rest of this site is allowed to claim.

Request, as issuedReturnedWhat it establishes
POST https://app.agentelic.com/mcp {"method":"tools/list"}200A deployed process answers JSON-RPC and enumerates 10 tools.
POST https://app.agentelic.com/mcp tools/call template_list200It returns 2 templates, each with a SHA-256 — both recomputed below.
POST https://app.agentelic.com/mcp tools/call agent_status (unknown id)-32602The tool dispatched and refused by name. It does NOT establish that the database was reached.
GET https://app.agentelic.com/api/agents500The register of built agents cannot be read. This is the fault that caps the whole surface.
GET https://app.agentelic.com/api/agents?workspace_id=probe400Still no read path. A different failure, not a working one.
GET https://app.agentelic.com/404By design — lib/agentelic_web/router.ex declares POST routes only. A 404 here is the app answering, not the app being down.

The 404 is the interesting one. lib/agentelic_web/router.ex declares POST routes only, so a browser hitting the root of the deployed app gets a 404 from a perfectly healthy service. That is exactly the shape of evidence that gets misread as a dead deployment, in both directions — which is why the check that settles it is a POST, printed in full further down.

The one claim you can falsify without us

The deployed server said these hashes. This page recomputed them.

A template is a directory of files. Agentelic identifies each one by the SHA-256 of every regular file inside it, sorted and concatenated — compute_template_hash/1 in lib/agentelic/templates/registry.ex. The deployed MCP server returns that hash when you ask it for the template list. The same algorithm runs in this page's build, over the files in this repository, and the build exits non-zero if a single byte has moved. So the row below is not copied from anywhere: it is computed, and the frozen record is what it is checked against.

TemplateFilesSHA-256, recomputed hereDeployed
elixir/mcp-serverlib/agent.ex.eex
mix.exs.eex
template.json
251e82ed7ade466985396271ecad5c34d6411a8e940747bee49c8cc599098ae7match
typescript/mcp-serverpackage.json.eex
src/agent.ts.eex
template.json
018d6a172272e5748bc0bb56b238b04145923f267cd49cb36c1090f713568c2bmatch

This is the whole of what content addressing buys, stated plainly: it does not make the template good, and it does not mean anyone has used it. It means the deployed service and this repository cannot silently disagree about what the template is. Do it yourself:

# what the deployed server says
curl -s -X POST -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"template_list","arguments":{}}}' \
  https://app.agentelic.com/mcp

# what this repository says — the same algorithm, offline
node build-site.mjs   // refuses to emit the page on a mismatch
Rung by rung, not overall

One surface, four different amounts of evidence.

A single status for a whole product is a lie by averaging. Each capability below carries its own rung, and the invitation this page is allowed to make about it follows from that rung mechanically — the build refuses to emit a call to action the rung has not earned. Where something is unbuilt, the row says what would have to happen, rather than a date.

MCP tool surface

live_deployed

Ten tools, JSON-RPC over POST /mcp, answering on the deployed host today. tools/list and template_list return real payloads.

Content-addressed template registry

live_deployed

Templates are pinned by the SHA-256 of their own contents. This is the one claim on the domain a stranger can falsify without our cooperation: clone the repo, hash the directory, compare.

Needs: Nothing. Run the hash yourself.

Build pipeline — parse, generate, compile, package

in_tree

lib/agentelic/pipeline/ with an orchestrator that stages the four steps, covered by the test suite.

Needs: A deployed run anyone can point at. It writes to the database, and the database read path is the 500 above.

Deterministic test intake and runner

in_tree

lib/agentelic/testing/ compiles acceptance criteria into cases and runs them.

Needs: The same. Nothing outside this tree has exercised it.

Staged deployment with governance gates

spec

staging → canary → production with gates is in docs/spec/README.md. There is no deployment record anyone can read.

Needs: An implementation, and a deployment whose gates refused something.

Accounts, seats, billing

spec

Priced on this page and built nowhere. There is no checkout, no account model and no billing code in the source.

Needs: A ruling on whether Agentelic sells anything at all — flagged [TRAVIS].

Status of this surface

Status
live_deployed — The MCP server is deployed and answering. Its content-addressed template registry is the one artifact on this domain whose claim can be checked from outside: the SHA-256 the deployed server returns for each template is recomputed here from the files in this repository, and the build refuses to emit a page when they disagree.
Last verified
2026-08-16
Source
Measured 2026-08-16. POST https://app.agentelic.com/mcp with tools/list → HTTP 200, 10 tools; with tools/call template_list → 2 templates and their hashes. mix test → 66 tests, 0 failures. build-site.mjs recomputes both hashes with the algorithm in lib/agentelic/templates/registry.ex.
Limit
This establishes that a deployed process answers and that two template hashes are reproducible. It does not establish that anyone has built an agent with it: the persistence layer behind GET /api/agents returns HTTP 500 on the deployed app, so the register of built agents cannot even be read, and every tool that writes one is therefore unverified from outside. Nothing here is for sale — there is no checkout, no account and no billing code anywhere in the source.
Next rung
external — Someone who is not us builds an agent through the deployed MCP surface and reports the artifact hash. That first needs the persistence fault below fixed, because the pipeline cannot record a build it cannot write.

What used to be here

Two claims used to stand on this page and both are gone rather than softened. The Distribution card sold FleetPrompt as a marketplace where agents are “Community-reviewed, trust-scored, ready for install” — fleetprompt.com now records that model as superseded, its replacement as not built, and its second publisher as none, so all three parts of that sentence were false at once. And the pricing section was headed “Start building today” above an email address, which invited a purchase that has no checkout behind it and a correspondence that has no mailbox. The heading is gone, the address is gone, and the prices are still here with the word proposed on them.

Proposed, and flagged

Proposed pricing — nothing is for sale, and no part of this is built

These prices were on this page in the shape of a price list, under a heading that invited you to begin and an email address to begin through. There is no checkout behind them, no account, no seat, and no billing code anywhere in the source — 0 ways to pay for this. They are kept visible and labelled rather than deleted, because a proposal you can argue with is worth more than a silent gap. Whether Agentelic sells anything at all is [TRAVIS], and this page does not decide it.

Builder
$49/mo
5 agents · spec-driven design · deterministic testing · local deployment
Team
$199/seat/mo
unlimited agents · staging and production · role-based access · compliance templates
Enterprise
Custom
dedicated infrastructure · SSO/SAML · custom compliance · SLA
What you can do here

Three rungs, three different invitations.

A page may only ask you to do what its evidence has earned. The MCP surface is deployed and answering, so it asks you to call it. The pipeline is in the tree and tested, so it asks you to read it and run the tests. The rest is a specification, so it can only ask you to read, challenge or implement it — and never to run something that does not exist.

A correction is worth more than a compliment

Tell us a figure on this page is wrong.

Every number here is a measurement with a date on it, and measurements go stale. The form below is a real form with a real action: it posts to formspree.io when you press the button, and it works with JavaScript off. The script that upgrades it to an inline reply prints “sent” only when the endpoint actually answers 2xx — a form that says thank-you on submit and drops the message is the exact failure this page argues against. If you would rather leave a public trail, open an issue instead.