attestable-mcp-server
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@attestable-mcp-serververify the server attestation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
➡️ attestable-mcp-server
remotely attestable MCP server
Overview
This project contains an MCP Server that is remotely attestable by MCP clients. To achieve this, a trusted execution environment is used, which generates a certificate representing the currently-running code of the attestable-mcp-server. The attestable-mcp-server sends this certificate in the TLS handshake to an MCP client before connecting that proves the code it's running is the same code built on github actions, and can be independently validated by building and running the code locally on emulated hardware or secure hardware; these values will be the same. The protocol used for client <-> server remote attestation is RA-TLS, an extension to TLS that adds machine and code specific measurements that can be verified by an MCP client.
The most important concept behind this RA-TLS certificate is that it embeds an SGX quote in the standardized X.509 extension field with the TCG DICE "tagged evidence" OID, which in turn embeds the SGX report and the complete Intel SGX certificate chain. In addition to the SGX quote, the certificate also contains the evidence claims, with the most important one being the "pubkey-hash" claim that contains the hash of the ephemeral public key (in DER format) generated by the TEE of the memory image of the running MCP server.
Features
MCP Clients can remotely attest the code running on any MCP Server
MCP Servers can optionally remotely attest MCP Clients
Producing Signed Artifacts
The github action script in this repo runs on a self-hosted github runner inside of a trusted execution environment (TEE). The action script will build a docker container containing the attestable-mcp-server and generate a signed attestation of the code running inside the TEE. This docker image is then signed by github. You can independently generate the same values with or without secure hardware, and query our running server and get the same values.
Related MCP server: io.github.yugantm/hvtracker-mcp
Dependencies
Intel SGX Hardware
Gramine
python 3.13
Ubuntu 22.04
Intel SGX SDK & PSW
Quickstart
uv sync
docker build -t attestable-mcp-server .
gramine-sgx-gen-private-key
git clone https://github.com/gramineproject/gsc docker/gsc
cd docker/gsc
uv run ./gsc build-gramine --rm --no-cache -c ../gramine_base.config.yaml gramine_base
uv run ./gsc build -c ../attestable-mcp-server.config.yaml --rm attestable-mcp-server ../attestable-mcp-server.manifest
uv run ./gsc sign-image -c ../attestable-mcp-server.config.yaml attestable-mcp-server "$HOME"/.config/gramine/enclave-key.pem
uv run ./gsc info-image gsc-attestable-mcp-serverStarting Server on Secure Hardware
docker run -itp --device=/dev/sgx_provision:/dev/sgx/provision --device=/dev/sgx_enclave:/dev/sgx/enclave -v /var/run/aesmd/aesm.socket:/var/run/aesmd/aesm.socket -p 8000:8000 --rm gsc-attestable-mcp-serverStarting Server on local development machine
docker run -p 8000:8000 --rm gsc-attestable-mcp-serverTODO
add MCP client demonstrating ra-tls
add intel-signed measurements from our github action to this readme for simple independent verification
Future Plans
JSON Web Key (JWK) attestation claim validation
cobrowser.xyz
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote MCP for C2PA disclosure policy MCP, structured receipts, audit logs, and reviewer-ready evide
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Remote MCP for C2PA intake verifier MCP, structured receipts, audit logs, and reviewer-ready evidenc
Remote MCP for A2A dependency inspector MCP, structured receipts, audit logs, and reviewer-ready evi
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP Server for AI agent identity and authorization. Create, verify, and manage agent identities with trust scores and scoped authorization tokens.MIT
- AlicenseAqualityAmaintenanceMCP server for checking supply-chain trust before connecting to AI agents, frameworks, or MCP servers.839 npm1MIT
- AlicenseAqualityBmaintenanceMCP server for verifying high-impact decisions with Trust OS.2MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server for agent authorization that tests the full effect surface and enforces control over consequential actions before dispatch, emitting verifiable execution evidence.2Apache 2.0