Sequesign
NPM · @SEQUESIGN/MCP · SCANNED SEP 21
Cryptographically verifiable receipts of an agent's delegated work, verified offline.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 99 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to Sequesign/mcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 31 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3501 tokens (~318/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management80
- Stability observed for 24 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Sequesign MCP server?
Sequesign runs locally as an npm package, launched with npx -y @sequesign/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @sequesign/mcp
claude mcp add sequesign-sequesign -- npx -y @sequesign/mcp
{
"mcpServers": {
"sequesign-sequesign": {
"command": "npx",
"args": [
"-y",
"@sequesign/mcp"
]
}
}
} {
"servers": {
"sequesign-sequesign": {
"command": "npx",
"args": [
"-y",
"@sequesign/mcp"
]
}
}
} codex mcp add sequesign-sequesign -- npx -y @sequesign/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sequesign-sequesign": {
"type": "local",
"command": [
"npx",
"-y",
"@sequesign/mcp"
],
"enabled": true
}
}
} openclaw mcp add sequesign-sequesign --command npx --arg -y --arg @sequesign/mcp
mcp_servers:
sequesign-sequesign:
command: "npx"
args: ["-y", "@sequesign/mcp"] {
"McpServers": {
"sequesign-sequesign": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@sequesign/mcp"
]
}
}
} assistant mcp add sequesign-sequesign -t stdio -c npx -a -y @sequesign/mcp
{
"mcpServers": {
"sequesign-sequesign": {
"command": "npx",
"args": [
"-y",
"@sequesign/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 −3
- Stability: pass → 0.80 functional
- 19 Sept 26 +1
- Stability: 0.97 → pass security
- Package version: 0.3.0 → 0.4.1 functional
- 17 Sept 26 −1
- Stability: pass → 0.93 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 10 Sept 26 −3
- Stability: pass → 0.80 functional
- 9 Sept 26 +1
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@sequesign/mcp@0.4.1
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | Sequesign/mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/Sequesign/mcp/.github/workflows/publish-mcp.yml@refs/heads/main |
| Rekor log index | 2542612430 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:b44705bd32dbf1d8860fbbae9170ea4125136add7e760e1285a9fd0827c35e6ab8c17f9374595a2cef92f4beb20cba1c13f21e769cb0428d5de07e573 |
Background: How many MCP packages publish verified provenance →
Dependencies 99 packages
| Packages resolved | 99 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
sequesign_approve_receipt Approve a sealed receipt (deferred satellite) ~470
Attach an independently-witnessed APPROVAL to an already-finalized receipt, without modifying it. Use this when a reviewer (human or another agent) signs off after the receipt was sealed — e.g. one model approves work another model recorded. The approval is bound to the sealed receipt by hash, witnessed at its own time, and written to the package's attestations sidecar. The approver MUST be distinct from the recording agent. If no approverPrivateKeyPem is given an ephemeral key is minted (present_unverified); pass an enrolled key + identityProofRef to vouch.
| Name | Type | Req | Description |
|---|---|---|---|
| approvalContext | – | – | What is being approved (any JSON value). Hashed into the signed approval. |
| approvedActionType | string | yes | The action_type being approved (must match an action in the sealed receipt). |
| approverId | string | yes | Identity of the approver (lowercase email or label, e.g. 'reviewer@acme.example'). |
| approverPrivateKeyPem | string | – | Ed25519 private-key PEM of the approver. Omit to mint an ephemeral key. |
| identityProofRef | string | – | base64url SignedRegistrationRecord (issuer 'sequesign') from enrollment, to make the approval vouched (present_verified). |
| mode | string | – | Transport for the witness seal. It MUST match how the receipt was sealed — the satellite must be witnessed by the same witness that sealed the receipt, or the verifier drops it (satellite_seal_untrus… |
| packageDirectory | string | yes | Path to the sealed .sequesign package directory (the receipt to approve). |
| partyType | string | – | Whether the approver is a human or an agent reviewer. Defaults to 'human'. |
| receiptUrl | string | – | Bind the approval to the broker-STORED receipt at this URL instead of the local package's receipt.json. In managed mode the stored copy carries the registered agent identity (different hash), so bind… |
No output schema declared.
No examples provided.
sequesign_check_action Check an action against a template ~469
Pre-flight a single action against a workflow template BEFORE recording it, so you learn a violation up front instead of in the finalized receipt's conformance report. Given a template (profileId), the action type, the session's bound parameters, and optionally the actions already recorded (priorActionTypes) and a draft evidence object, it reports: whether the action is allowed, whether the transition is valid, any parameter-binding errors, the concrete evidence schema for this action (with $param/$allowlist resolved against your params), whether a session can even be started for this template (startable — false for a registry template that cannot be bound under the intended transport: managed mode, or the template declares no usable parameters, uses a non-bundled action, or you did not pass params for its V1 binding — pass `mode` to model the transport you'll start with); and whether the action is recordable (recordSchemaValid — false when the action type has no registered schema, or supplied evidence does not satisfy that bundled schema). allowed is true only when the template is startable AND the mandate AND the recording gate all pass, so a green pre-flight means the action can actually be recorded. It is advisory and never records anything.
| Name | Type | Req | Description |
|---|---|---|---|
| actionType | string | yes | The action type you intend to record next. |
| evidence | – | – | A draft evidence object for the action. When the template declares an evidence_schema for actionType, the evidence is validated against the resolved schema and evidenceValid is reported. |
| mode | string | – | The transport you intend to start the session with (mirrors sequesign_start_session's mode override). Determines startability for a registry template — remote binding is direct-only. Defaults to the… |
| params | object | – | The parameter values you would bind at session start, bound against the template's `parameters` block (same rules as sequesign_start_session). Required if the template declares required parameters. |
| priorActionTypes | array | – | The action types already recorded on the chain, in order. Supply to check the transition into actionType (START -> actionType for an empty array). Omit to skip the transition check. |
| profileId | string | yes | The template's profile_id to check against (from sequesign_list_templates). |
No output schema declared.
No examples provided.
sequesign_countersign_receipt Countersign a sealed receipt (deferred counterparty satellite) ~450
Attach an independently-witnessed COUNTERPARTY confirmation to an already-finalized receipt, without modifying it. Use this when a counterparty (e.g. a vendor, or another model acting as one) confirms an action after the receipt was sealed. The confirmation is bound to the sealed receipt + the attested action by hash, witnessed at its own time, and written to the package's attestations sidecar. If no counterpartyPrivateKeyPem is given an ephemeral key is minted (present_unverified); pass an enrolled key + identityProofRef to vouch.
| Name | Type | Req | Description |
|---|---|---|---|
| attestationPurpose | string | yes | Why the counterparty is signing (e.g. 'delivery_confirmation'). |
| attestedActionId | string | yes | The actionId in the sealed receipt the counterparty is confirming. |
| counterpartyId | string | yes | Canonical counterparty id (lowercase alphanumeric segments joined by single dots or hyphens, e.g. 'vendor-abc'). |
| counterpartyPrivateKeyPem | string | – | Ed25519 private-key PEM of the counterparty. Omit to mint an ephemeral key. |
| identityProofRef | string | – | base64url SignedRegistrationRecord (issuer 'sequesign') from enrollment, to make the attestation vouched (present_verified). |
| mode | string | – | Transport for the witness seal. It MUST match how the receipt was sealed — the satellite must be witnessed by the same witness that sealed the receipt, or the verifier drops it (satellite_seal_untrus… |
| packageDirectory | string | yes | Path to the sealed .sequesign package directory (the receipt to countersign). |
| receiptUrl | string | – | Bind the confirmation to the broker-STORED receipt at this URL instead of the local package's receipt.json. In managed mode the stored copy carries the registered agent identity (different hash), so… |
No output schema declared.
No examples provided.
sequesign_finalize Finalize the receipt ~74
Seal the session into a verifiable receipt package and run the SDK's own verification. After finalize the sessionId is closed (removed from memory). Returns the package directory (and the stored receipt URL in managed mode) plus a verification summary.
| Name | Type | Req | Description |
|---|---|---|---|
| sessionId | string | yes | The receiptId returned by sequesign_start_session. |
No output schema declared.
No examples provided.
sequesign_get_template Get a workflow template ~203
Fetch one workflow template by profile_id (bundled, or from the configured registry): its full profile document (allowed_actions, required_actions, allowed_transitions, parameters, conditional_requirements, required_attestations, and any evidence_schemas), plus its profile_hash, curation tier, source, session_ready, and whether it is author-signed. session_ready reflects the intended transport (the `mode` argument, else the server's default): a registry template is session_ready only under direct mode. Use this to learn a template's rules before starting a profile_constrained session or before sequesign_check_action.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | – | The transport you intend to start the session with (mirrors sequesign_start_session's mode override). Determines session_ready for a registry template — remote binding is direct-only. Defaults to the… |
| profileId | string | yes | The template's profile_id (e.g. from sequesign_list_templates). |
No output schema declared.
No examples provided.
sequesign_list_templates List workflow templates ~190
List the Sequesign workflow templates (profiles) available for profile_constrained sessions: the bundled templates (full detail), plus — when a template registry is configured (SEQUESIGN_TEMPLATE_REGISTRY_URL) — templates published to it (manifest-level entries; call sequesign_get_template for a remote template's full detail). Every entry gives the profile_id (pass it to sequesign_start_session), its curation tier (official | verified | community | experimental — discovery metadata, NOT a security control), its source (bundled vs the registry), and details_available (false for remote manifest-level entries). Bundled entries additionally give session_ready (whether start_session can bind AND run it), description, the parameters you must bind, allowed/required actions, and whether the template is author-signed. Optionally filter by tier.
| Name | Type | Req | Description |
|---|---|---|---|
| tier | string | – | Only return templates in this curation tier. |
No output schema declared.
No examples provided.
sequesign_record_action Record an action ~205
Append a signed action to the session's chain. evidence is the structured record of what the agent did or observed; it is hashed and signed. Returns the actionId (use it as attestedActionId for a counterparty attestation).
| Name | Type | Req | Description |
|---|---|---|---|
| actionType | string | yes | Short snake_case label for the action (e.g. 'invoice_policy_checked'). |
| evidence | – | – | Structured evidence for the action (any JSON value). Hashed and signed. |
| metadata | object | – | Optional non-signed-over metadata (e.g. agent reasoning). |
| schemaId | string | – | Override the registered schema for this action (a schema_id). Only used when the session is schema/profile-bound; by default the schema is resolved from actionType. Ignored for freeform sessions. |
| sessionId | string | yes | The receiptId returned by sequesign_start_session. |
| verifiabilityClass | string | – | How the evidence can be verified. Defaults to 'deterministic'. |
No output schema declared.
No examples provided.
sequesign_record_approval Record an approval ~265
Attach a signed approval for an action already recorded in this session (e.g. a human or independent agent reviewer signing off). The action being approved must already be recorded. If no approverPrivateKeyPem is given, an ephemeral key is minted and the approval leg stays present_unverified; supply an enrolled key plus identityProofRef to make it a vouched (present_verified) approval.
| Name | Type | Req | Description |
|---|---|---|---|
| approvalContext | – | – | What is being approved (any JSON value). Hashed into the signed approval. |
| approvedActionType | string | yes | The action_type being approved (must match a recorded action). |
| approverId | string | yes | Identity of the approver (lowercase email or label, e.g. 'cfo@acme.example'). |
| approverPrivateKeyPem | string | – | Ed25519 private-key PEM of the approver. Omit to mint an ephemeral key. |
| identityProofRef | string | – | base64url SignedRegistrationRecord (issuer 'sequesign') from enrollment, to make the approval vouched (present_verified). |
| partyType | string | – | Whether the approver is a human or an agent reviewer. Defaults to 'human'. |
| sessionId | string | yes | The receiptId returned by sequesign_start_session. |
No output schema declared.
No examples provided.
sequesign_record_counterparty_attestation Record a counterparty attestation ~270
Attach a counterparty's signed confirmation of an action already recorded in this session (e.g. a vendor confirming a corrected invoice total). The SDK derives the content binding from the attested action, so the confirmation cannot be pointed at content the counterparty never saw. If no counterpartyPrivateKeyPem is given, an ephemeral key is minted (present_unverified); supply an enrolled key plus identityProofRef for a vouched (present_verified) attestation.
| Name | Type | Req | Description |
|---|---|---|---|
| attestationPurpose | string | yes | Why the counterparty is signing (e.g. 'invoice_amount_confirmation'). |
| attestedActionId | string | yes | The actionId (from sequesign_record_action) the counterparty is confirming. |
| counterpartyId | string | yes | Canonical counterparty id (lowercase alphanumeric segments joined by single dots or hyphens, e.g. 'vendor-abc'). |
| counterpartyPrivateKeyPem | string | – | Ed25519 private-key PEM of the counterparty. Omit to mint an ephemeral key. |
| identityProofRef | string | – | base64url SignedRegistrationRecord (issuer 'sequesign') from enrollment, to make the attestation vouched (present_verified). |
| sessionId | string | yes | The receiptId returned by sequesign_start_session. |
No output schema declared.
No examples provided.
sequesign_start_session Start a Sequesign session ~423
Open a new receipt-recording session (one signed action chain). Returns a sessionId (the receiptId) used by the other tools. Provide a policyContext object to bind the receipt to a policy (reaches verification level L3_POLICY_BOUND).
| Name | Type | Req | Description |
|---|---|---|---|
| agentId | string | – | Identifier for the acting agent. Defaults to 'sequesign-mcp-agent'. |
| delegatorId | string | yes | Who delegated the task (the principal the agent acts for). |
| mode | string | – | Override the server's default transport for this session. 'direct' signs locally and the independent witness co-signs (self_asserted identity, you keep the envelope). 'managed' routes through the bro… |
| params | object | – | Bind concrete values to a parameterized template's `parameters` (e.g. { max_amount: 5000 }). Requires `profile`, and that template must declare usable parameters. When supplied, the values are commit… |
| policyContext | object | – | Policy the agent operates under (object). Hashed into the receipt's policy_context_hash; presence raises the receipt to L3_POLICY_BOUND. |
| profile | string | – | Registered workflow template to bind this receipt to, given by its profile_id (e.g. 'sequesign.invoice_payment.v0.1'). When set, the session records in profile_constrained mode: each action must be a… |
| taskId | string | yes | Stable identifier for the delegated task. |
No output schema declared.
No examples provided.
sequesign_verify Verify a receipt package ~482
Verify a sealed Sequesign receipt. Modes: (1) default — an integrity self-check of the local package (trust anchor is the receipt's own embedded witness keys); (2) pass trustedWitnessKeysJson and/or trustedRegistrationKeysJson for a third-party 'external' trust check and registered-identity promotion; (3) set fetchAnchors:true to auto-fetch those witness + registration anchors from the configured well-knowns (so a local direct-mode receipt reports external trust and a registered identity without pasting JSON); (4) pass receiptUrl to verify the broker-STORED receipt (the authoritative copy that carries the registered agent_identity_attestation), auto-fetching the anchors. receiptUrl still needs packageDirectory (the stored envelope is verified against the package's evidence/keys).
| Name | Type | Req | Description |
|---|---|---|---|
| fetchAnchors | boolean | – | Local verify only (ignored with receiptUrl): auto-fetch the witness keys and platform registration-keys from the configured SEQUESIGN_WITNESS_URL / SEQUESIGN_DASHBOARD_API_URL well-knowns, so the res… |
| packageDirectory | string | yes | Path to the .sequesign package directory (the actions/evidence/keys live here). |
| receiptUrl | string | – | The broker-stored receipt URL (the receipt_url from finalize). When set, the stored envelope is fetched (with SEQUESIGN_API_KEY) and verified against packageDirectory, with witness + registration anc… |
| trustedRegistrationKeysJson | string | – | Contents of the platform's published registration-keys.json, to flip the agent/approver/counterparty legs to verified. With receiptUrl it overrides the auto-fetched registration anchors. |
| trustedWitnessKeysJson | string | – | Contents of the witness's published keys.json. Provided → 'external' trust check; omitted (and no receiptUrl) → the receipt's embedded keys are used ('self', integrity only). With receiptUrl it overr… |
No output schema declared.
No examples provided.
What is the Sequesign MCP server?
Sequesign is an MCP server listed in the public MCP registry as io.github.Sequesign/sequesign. Cryptographically verifiable receipts of an agent's delegated work, verified offline. This page covers its npm package (@sequesign/mcp).
Is the Sequesign MCP server safe to use?
Sequesign scores 90 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Sequesign MCP server expose?
Sequesign exposes 11 tools: sequesign_start_session, sequesign_record_action, sequesign_record_approval, sequesign_record_counterparty_attestation, sequesign_approve_receipt, and 6 more. Their descriptions and schemas cost roughly 3,501 tokens of context every time the server is loaded.
Is the Sequesign MCP server still maintained?
Sequesign is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Sequesign MCP server under?
Sequesign declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.