seal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEAL_DSN | No | Postgres DSN for the seal database. Without this, the server runs in introspection-only mode with no database. | |
| SEAL_EXECUTORS | No | Python module path(s) for gateway executors, enabling gateway mode. | |
| SEAL_SIGNING_KEY | No | Secret key used to sign certificates (Ed25519). Generate with `python -m seal keygen`. | |
| SEAL_EARNED_AUTONOMY | No | Set to 1 to enable earned autonomy mode. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| seal_admitA | ADMISSION ONLY — prefer seal_propose when it is available, because this tool requires YOU to hold the provider credential and call the provider yourself. Use it only when your own code owns the effect. Claim the right to run an irreversible action exactly once. Returns fresh=true with a fence (you won — run the effect, then call seal_commit), or fresh=false with the sealed cert (already done — use that result, do NOT re-run), or fresh=false with no cert (someone else is mid-flight — stand down and retry later). Always pass a stable |
| seal_commitA | Seal a successful effect: writes the tamper-evident certificate and closes the intent. Call it once, right after YOUR code ran the effect admitted by seal_admit (fresh=true). Only the fence holder may commit, and only once — a second commit, a wrong fence, or an expired lease is refused (isError). Returns the cert: hash, prev hash, state=sealed. If the effect failed before anything irreversible happened, call seal_abort instead; if you do not know whether it fired, call neither and leave the claim for a witness. |
| seal_abortA | Release a claim after a failure where NOTHING irreversible happened, so a later retry is legitimate. Returns {released: true}. Only the fence holder may abort; the reason is recorded on the chain. If the effect may have fired (e.g. a timeout after the provider was called), do NOT abort — leave the claim and let a witness (settle) decide, otherwise the retry becomes a second charge. |
| seal_heartbeatA | Extend the lease while a slow effect is still running, so the claim is not reclaimed mid-flight and a second caller cannot run it. Call it periodically (well inside the lease) between seal_admit and seal_commit. Returns {lease_until: }. Only the fence holder may extend, and only while the intent is still open; after the lease expired or the intent closed it is refused (isError). Safe to repeat. |
| seal_getA | Read-only status of one intent: {intent, action, state, tier, cert, domain, graph_id, created_at}. |
| seal_verifyA | Verify the entire certificate chain from the store alone — no network, no trust in this server. Returns {ok: true, count} when every link recomputes, or ok=false with the position of the first cert that was edited, deleted or reordered. Read-only; run it any time. |
| seal_incident_receiptA | Read-only, self-checking export for one intent: its full cert chain, tier, domain freeze state, and a chain verification result — the document you hand an auditor or a counterparty. Changes nothing. For a quick status use seal_get instead. |
| seal_expectA | Bind yourself (or the system) to future work: declare that an effect (action, key) MUST be sealed by a deadline. If it has not happened by then, the miss is recorded on the tamper-evident chain and the path's autonomy licence is suspended. Use this at decision time — e.g. the moment you accept a return, declare the refund duty. Declaring duties is always safe; only an operator can cancel one. |
| seal_obligationsA | Sweep every declared duty for silence: work that should have been sealed by now and wasn't. verdict=met only when nothing is owed, missed, or unconfirmed. Breaches are already on the chain — this reports them, it cannot hide them. Returns {verdict, owed, missed, unconfirmed} — verdict=met means all three are empty. Read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aurumflux20/seal'
If you have feedback or need assistance with the MCP directory API, please join our Discord server