PromptKingPromptKing MCP Governance Port

One URL. Compatible clients.
Verifiable receipts.

PromptKing exposes one server-side MCP endpoint across six vendor surfaces. Connect from a client that supports Streamable HTTP and the required OAuth flow; support varies by client and version.

This page and the start_here tool teach the same protocol. Humans read the page; agents read the tool. Same truth.

MCP Endpoint

https://www.promptking32.com/api/mcp/mcp

Use with a compatible server-side MCP client. OAuth begins on the first protected call.

Two tool locations. Two different jobs.

SERVER-SIDE MCP · SHIPPED

Headless and always reachable

The tools live on the backend. Services, command-line agents and scheduled jobs can use them without the website being open.

WEBMCP · DESIGNED NEXT

Human-present and page-aware

The tools live in an open page and use its current state and signed-in session. This is a complementary browser surface, not a replacement for server MCP.

How it works — out-of-path

System Context — Out-of-Path Architecture

Your agent
direct————→
Vendor API
PromptKing

PromptKing

Metadata-onlyOut-of-path

↑ consumes metadata · emits decisions ↓

Governance Decisions

Evidence Receipts (SHA-256)

MCP Governance Signals

↓ Your enforcement stack (SIEM · IT governance · vendor controls)

PromptKing does not touch agent traffic. Decisions travel — PromptKing does not.

The four checkpoints

CHK-0Discover

Agent calls start_here. The port returns the governance contract: what tools exist, what the protocol expects, how to enroll. The agent learns the port without human configuration.

CHK-1Enroll

Agent registers via enroll or register_agent. Receives an agent ID, correlation ID, and autonomy tier. Identity is established — every subsequent call is attributed. Reading this page is not the same as your principal authorizing this specific registration: if your current task did not explicitly ask you to register with PromptKing, confirm with your principal first.

CHK-2Check Policy

Before acting, the agent declares intent and cost via check_policy. The policy engine evaluates against org rules and returns a verdict: ALLOWED, APPROVAL_REQUIRED, or MODEL_RESTRICTION. No enforcement — the agent decides whether to proceed.

CHK-3Report Outcome

After acting, the agent reports what happened via report_outcome. An evidence receipt is issued with a SHA-256 integrity hash. Append-only — the receipt exists forever, independently verifiable at /verify/[id].

27-tool surface

Selected tools are shown below. Named profiles narrow the executable surface for governance, finance, read-only and enrollment use cases; the full profile contains 27 tools.

Governance Consultation

start_hereSelf-teaching protocol — agents learn the port
enrollRegister an agent with identity + autonomy tier
check_policyCHK-2: evaluate an action against org policy
report_outcomeCHK-3: declare outcome, receive evidence receipt

Intelligence Readers

get_overviewOrg-level KPIs: spend, utilization, savings
get_seat_fleetPer-seat detail: plan, cost, recommendation
get_seat_detailDeep dive on a single seat
get_savings_opportunitiesRanked rightsizing recommendations
get_github_creditsGitHub AI Credits burn rate + model breakdown
get_governance_scoresWatsonx model governance health
get_executive_reportCFO / COO / CRO persona reports
get_forecast30-day spend forecast with variance bands

Governance Readers

get_trajectoryFull trajectory with linked governance artifacts
get_trajectory_statusArchetype, cycles, cost, recent decisions
get_decision_receiptSingle policy decision as structured receipt
list_containment_signalsActive containment events for a trajectory

Agent Identity

register_agentCHK-1: register with SPIFFE identity + autonomy tier

Wire format — read this before writing a bare HTTP client

Transport is MCP Streamable HTTP: one JSON-RPC request per POST to the endpoint above — not a separate long-lived SSE GET channel. Successful tool and protocol responses are framed as Server-Sent Events (content-type: text/event-stream), not bare JSON. Each response body contains event: and data: lines — the JSON-RPC payload is on the data: line. Naive JSON.parse(body) fails. Reference parser:

// Parse an MCP Streamable-HTTP SSE response body (Node 18+, no deps)
function parseSse(body) {
  const events = []
  for (const chunk of body.split('\n\n')) {
    const data = chunk.split('\n')
      .filter(l => l.startsWith('data:'))
      .map(l => l.slice(5).trim()).join('')
    if (data) events.push(JSON.parse(data))
  }
  return events // JSON-RPC messages; the tool result is in result.content[0].text
}

Requests are plain JSON-RPC over POST with Authorization: Bearer. Registration (CHK-1) returns a top-level agent_id. Outcome (CHK-3) returns the canonical receipt_id, its stored hash, and a ready-to-open verify_url — the same bytes the public verifier serves.

Or skip the plumbing entirely — the public reference runner is one dependency-free Node file that completes the full governed handshake with one enrollment token: PROMPTKING_ENROLLMENT_TOKEN="..." node promptking-governed-run.cjs (pass the token via environment or stdin — never on the command line). The enrollment token is one opaque string — paste it whole, exactly as the dashboard gives it to you; do not split it or interpret any part of it. You do not need a seat id: omit --seat — identity derives from your token binding, server-side, every call. --seat asserts which seat you expect to be operating as. The server independently derives your identity from your token binding and rejects the call on mismatch (PRINCIPAL_BINDING_VIOLATION). --seat never selects or switches identity. It demonstrates the protocol, reads the public verification record back, and prints your receipt's verify URL — it contains no governance logic and needs no PromptKing account beyond the token.

Static example — illustration only · not live evidence

Static example for illustration only — not live evidence. Every governed run produces a receipt, independently verifiable — the hash is recomputed in your browser, not by our server. The link below is one fixed historical receipt (issued 2026-07-16) kept so you can see what verification looks like. It is not proof that you (or any other agent) completed a handshake. Every valid PromptKing receipt carries an issuance timestamp and verifies at /verify/[id]. A receipt without a verifiable timestamp is not evidence.

Open the static example (illustration only) →

Protocol stats (live)

Loading live stats...

Numbers are live production counts — early-stage, honest, not inflated.

What we never touch

PromptKing processes metadata only — agent identity, cost declarations, policy verdicts, and governance signals. We never see your prompts, your model responses, your files, or your users' content. We never sit between your agent and the vendor API. Decisions travel. PromptKing does not.

← HomepageRead: Six Models. One Law. Six Receipts. →
MCP Governance Port — PromptKing | PromptKing — Independent Evidence Plane