Hosted MCP server for Clockchain — consensus time, notarization & agent-attested receipts. No install: point any MCP client at https://mcp.clockchain.network/mcp (header x-api-key).
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 45 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
agent_handshake_get_certificate
-
agent_handshake_invite
-
agent_handshake_join
-
agent_handshake_next
-
agent_handshake_status
-
agent_handshake_submit
-
attest_action
-
build_evidence_package
-
complete_attestation
-
create_schedule
-
delegate_authority
-
estimate_schedule
-
generate_audit_trail
-
generate_compliance_report
-
get_block
-
get_contract_types
-
get_identity_history
-
get_log_entry
-
get_time
-
get_timestamp
-
get_validation
-
handshake_get_certificate
-
handshake_join
-
handshake_next
-
handshake_status
-
handshake_submit
-
keeper_cancel
-
keeper_list
-
keeper_schedule
-
list_schedules
-
log_action
-
mint_identity
-
resolve_agent
-
revoke_identity
-
search_actions
-
tsa_attest
-
tsa_checkpoint
-
tsa_issue
-
tsa_settle
-
tsa_status
-
verify_asset
-
verify_cross_party
-
verify_identity_at
-
verify_package
-
verify_receipt
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 72243e2 · analyzer v33 · 1d ago
skills & prompt files 2
danger signals4
- suspicious endpoint 44.249.47.220 thetangstr-clockchain-developer-tools-72243e2/infra/test/deploy-assets.test.mjs :136
assert.equal(process.env.HANDSHAKE_RELAY, "http://44.249.47.220:8080"); - suspicious endpoint 169.254.169.254 (cloud metadata) thetangstr-clockchain-developer-tools-72243e2/packages/keeper/test/keeper.test.mjs :310
() => keeper.schedule({ sub: "u1", fireAtMs: 0, target: "http://169.254.169.254/latest/meta-data" }), - suspicious endpoint 93.184.216.34 thetangstr-clockchain-developer-tools-72243e2/packages/keeper/test/ssrf.test.mjs :28
assert.doesNotThrow(() => assertSafeWebhookUrl("https://93.184.216.34/x")); - committed secret private key thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/handshake-protocol.test.mjs :447
PEM private key block (redacted)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 139
filesystem 25
- fs thetangstr-clockchain-developer-tools-72243e2/eval/run.mjs :8
import { writeFileSync } from "node:fs"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/infra/test/caddy-contract.test.mjs :2
import { readFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/infra/test/compose-contract.test.mjs :2
import { readFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/infra/test/deploy-assets.test.mjs :2
import { chmod, mkdir, mkdtemp, readFile, readdir, rm, stat, writeFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/infra/test/public-handshake-route.test.mjs :2
import { readFile } from "node:fs/promises"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/chatgpt-app/src/widget.ts :13
import { readFileSync } from "node:fs"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/clock-sdk/examples/clark-slack-alarm.mjs :27
import fs from "node:fs"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/core/src/hash.ts :2
import { readFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/core/test/core.test.mjs :15
import { writeFile, rm } from "node:fs/promises"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/store.ts :18
import { mkdir, open, readFile, rename } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/keeper/test/store.test.mjs :4
import { mkdtemp, readdir, rm } from "node:fs/promises"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/agent-handshake/invitation-store.ts :14
} from "node:fs"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/agent-handshake/v2/instructions.ts :15
2_VERIFIED_HELPER_BOOTSTRAP = 'const fs=require("node:fs");const crypto=require("node:crypto");const Module=require("node:module");const argv=process.argv.slice(1);const expected=argv.shift();const ma - fs thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/agent-handshake/v2/invitation-store.ts :5
} from "node:fs"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/handshake/state.ts :2
import { closeSync, fsyncSync, mkdirSync, openSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/store.ts :24
import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-invitation.test.mjs :3
import { mkdtemp, readFile, stat } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-v1-compatibility.test.mjs :2
import { readFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-v2-invitation-store.test.mjs :2
import { mkdtemp, readFile, stat } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-v2-protocol.test.mjs :2
import { readFile } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/handshake-state.test.mjs :1
import { chmodSync, mkdtempSync, readFileSync, readdirSync, statSync, writeFileSync } from "node:fs"; - fs thetangstr-clockchain-developer-tools-72243e2/packages/web-demo/src/server.ts :2
import { appendFile, mkdir } from "node:fs/promises"; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/scripts/gen-slides.mjs :22
import { readFile, writeFile } from 'node:fs/promises'; - fs (weak) thetangstr-clockchain-developer-tools-72243e2/scripts/md-to-gdocs.mjs :26
import { readFile, writeFile } from 'node:fs/promises'; - fs thetangstr-clockchain-developer-tools-72243e2/skills/check-skill-drift.mjs :10
import { readdirSync, readFileSync, existsSync, statSync } from "node:fs";
shell / exec 4
- shell thetangstr-clockchain-developer-tools-72243e2/eval/run.mjs :9
import { spawn } from "node:child_process"; - shell (weak) thetangstr-clockchain-developer-tools-72243e2/infra/test/deploy-assets.test.mjs :7
import { spawn } from "node:child_process"; - shell (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/connect.test.mjs :8
import { spawn } from "node:child_process"; - shell (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/token-disabled.test.mjs :5
import { spawn } from "node:child_process";
network 23
- net thetangstr-clockchain-developer-tools-72243e2/eval/lib.mjs :17
const res = await fetch(MCP_URL, { - net thetangstr-clockchain-developer-tools-72243e2/packages/chatgpt-app/src/http.ts :1
import { createServer, type IncomingMessage, type ServerResponse } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/clock-sdk/examples/clark-slack-alarm.mjs :26
import http from "node:http"; - net thetangstr-clockchain-developer-tools-72243e2/packages/core/src/erc8004.ts :42
const res = await fetch(rpcUrl, { - net thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/keeper.ts :64
/** Webhook transport. Defaults to global fetch (via deliverWebhook). */ - net thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/webhook.ts :31
const res = await fetch(url, { - net thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/worker.ts :18
import { createServer, type IncomingMessage, type ServerResponse } from "node:http"; - net thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/agent-handshake/v2/coordinator.ts :461
const response = await fetch(`${relayUrl}${path}`, { headers: { accept: "application/json" } }); - net thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/agent-handshake/v2/public-server.ts :1
import type { IncomingHttpHeaders, IncomingMessage, ServerResponse } from "node:http"; - net thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/http.ts :7
} from "node:http"; - net thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/landing.ts :434
fetch('/token', { method: 'POST' }).then(function(r){ return r.json().then(function(j){ return { ok: r.ok, j: j }; }); }) - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-v1-compatibility.test.mjs :3
import { createServer } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/agent-handshake-v2-public-server.test.mjs :2
import { createServer } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/conformance.test.mjs :12
import { createServer } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/connect.test.mjs :50
fetch(`${BASE}/mcp`, { - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/parity-check.test.mjs :4
import { createServer } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/product-surface.test.mjs :14
import { createServer } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/test/token-disabled.test.mjs :40
const res = await fetch(`${BASE}/token`, { method: "POST" }); - net thetangstr-clockchain-developer-tools-72243e2/packages/web-demo/src/agent.ts :77
res = await fetch(`${MM_BASE}/v1/messages`, { - net thetangstr-clockchain-developer-tools-72243e2/packages/web-demo/src/page.ts :256
const r = await fetch("/api/agent", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ sessionId, message: text }) }); - net thetangstr-clockchain-developer-tools-72243e2/packages/web-demo/src/server.ts :1
import { createServer, type IncomingMessage, type ServerResponse } from "node:http"; - net (weak) thetangstr-clockchain-developer-tools-72243e2/scripts/gen-slides.mjs :543
const res = await fetch('https://oauth2.googleapis.com/token', { method: 'POST', headers: { 'content-type': 'application/x-www-form-urlencoded' }, body }); - net (weak) thetangstr-clockchain-developer-tools-72243e2/scripts/md-to-gdocs.mjs :63
const res = await fetch('https://oauth2.googleapis.com/token', {
secrets 5
- secrets thetangstr-clockchain-developer-tools-72243e2/eval/lib.mjs :6
const TOKEN = process.env.MCP_TOKEN || process.env.MCP_API_KEY || ""; - secrets thetangstr-clockchain-developer-tools-72243e2/eval/run.mjs :13
const TOKEN = process.env.MCP_TOKEN || process.env.MCP_API_KEY || ""; - secrets (weak) thetangstr-clockchain-developer-tools-72243e2/packages/clock-sdk/examples/clark-slack-alarm.mjs :31
const SLACK_TOKEN = process.env.SLACK_BOT_TOKEN; - secrets thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/http.ts :408
const signingSecret = process.env.MCP_TOKEN_SIGNING_SECRET ?? ""; - secrets thetangstr-clockchain-developer-tools-72243e2/packages/web-demo/src/agent.ts :13
const MM_KEY = process.env.MINIMAX_CN_API_KEY || process.env.MINIMAX_API_KEY || "";
tool registrations 48
- get_time thetangstr-clockchain-developer-tools-72243e2/packages/chatgpt-app/src/tools.ts :246
- log_action thetangstr-clockchain-developer-tools-72243e2/packages/chatgpt-app/src/tools.ts :259
- verify_cross_party thetangstr-clockchain-developer-tools-72243e2/packages/chatgpt-app/src/tools.ts :331
- keeper_schedule thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/mcp.ts :114
- keeper_list thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/mcp.ts :172
- keeper_cancel thetangstr-clockchain-developer-tools-72243e2/packages/keeper/src/mcp.ts :213
- get_time thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :409
- get_timestamp thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :425
- get_block thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :436
- get_validation thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :451
- log_action thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :470
- search_actions thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :600
- get_log_entry thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :616
- verify_asset thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :629
- resolve_agent thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :660
- attest_action thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :675
- verify_receipt thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :736
- complete_attestation thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :756
- get_contract_types thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :799
- estimate_schedule thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :811
- create_schedule thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :836
- list_schedules thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :903
- generate_audit_trail thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :921
- generate_compliance_report thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :941
- build_evidence_package thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :968
- verify_package thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :984
- mint_identity thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1011
- revoke_identity thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1039
- delegate_authority thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1063
- get_identity_history thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1100
- verify_identity_at thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1117
- verify_cross_party thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1146
- tsa_issue thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1211
- tsa_checkpoint thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1254
- tsa_attest thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1287
- tsa_settle thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1331
- tsa_status thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1365
- handshake_status thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1386
- handshake_join thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1400
- handshake_next thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1424
- handshake_submit thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1448
- handshake_get_certificate thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1470
- agent_handshake_invite thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1489
- agent_handshake_status thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1505
- agent_handshake_join thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1518
- agent_handshake_next thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1540
- agent_handshake_submit thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1561
- agent_handshake_get_certificate thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/src/tools.ts :1582
install hooks 4
- prepublishOnly thetangstr-clockchain-developer-tools-72243e2/packages/clock-sdk/package.json :27
npm run build - prepublishOnly thetangstr-clockchain-developer-tools-72243e2/packages/core/package.json :27
npm run build - prepublishOnly thetangstr-clockchain-developer-tools-72243e2/packages/keeper/package.json :40
npm run build - prepublishOnly thetangstr-clockchain-developer-tools-72243e2/packages/mcp-server/package.json :25
npm run build
declared dependencies 2
- @types/node@^20.11.0
- typescript@^5.4.0