by co-browser
attestable-mcp-server is an MCP (Model Context Protocol) server designed to run within a Trusted Execution Environment (TEE). Its primary function is to enable remote attestation, allowing MCP clients to verify the integrity and authenticity of the server's running code before establishing a connection.
attestable-mcp-server is an MCP (Model Context Protocol) server designed to run within a Trusted Execution Environment (TEE). Its primary function is to enable remote attestation, allowing MCP clients to verify the integrity and authenticity of the server's running code before establishing a connection. This is achieved by generating a certificate during the TLS handshake that contains an SGX quote and evidence claims, proving that the server is running the intended and untampered code.
To use attestable-mcp-server, you'll typically follow these steps:
uv sync
and docker build
commands to create the Docker image. The project leverages Gramine for building the server within a TEE.gramine-sgx-gen-private-key
.gsc
tool (Gramine Shielded Containers) to build the Gramine base and then the attestable-mcp-server
.gsc sign-image
.docker run
commands provided in the quickstart section.Q: What is remote attestation? A: Remote attestation is a process where a client can verify that the code running on a remote server is the intended and untampered code. This is achieved by leveraging trusted hardware features and cryptographic proofs.
Q: What is a Trusted Execution Environment (TEE)? A: A TEE is a secure area within a processor that provides a higher level of security than the rest of the system. It ensures the confidentiality and integrity of code and data loaded within it.
Q: What is RA-TLS? A: RA-TLS (Remote Attestation TLS) is an extension to the TLS protocol that incorporates machine and code-specific measurements, allowing clients to verify the integrity of the server during the TLS handshake.
Q: What are SGX quotes? A: SGX (Software Guard Extensions) quotes are cryptographic proofs generated by Intel SGX enclaves that attest to the integrity of the code and data running within the enclave.
Q: Can I independently verify the signed artifacts? A: Yes, the project states that you can independently generate the same values with or without secure hardware and query their running server to get the same values, allowing for independent verification of the signed artifacts.
remotely attestable MCP server
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
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.
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-server
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-server
docker run -p 8000:8000 --rm gsc-attestable-mcp-server
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by chaitin
Provides a self‑hosted web application firewall and reverse‑proxy that filters, monitors, and blocks malicious HTTP/S traffic, protecting web applications from attacks such as SQL injection, XSS, brute‑force, bot abuse, and various code injections.
by PortSwigger
Integrates Burp Suite with AI clients via the Model Context Protocol, providing a built‑in SSE server and a packaged Stdio proxy for seamless AI‑driven interaction with Burp.
by cycodehq
Boost security in the development lifecycle via static application security testing, software composition analysis, secrets detection, and infrastructure‑as‑code scanning.
by auth0
Auth0 MCP Server enables AI agents to manage Auth0 tenants using natural language, streamlining tasks like application and user management.
by ChristophEnglisch
keycloak-model-context-protocol is an MCP server implementation for Keycloak user management, enabling AI-powered administration of Keycloak users and realms through the Model Context Protocol (MCP).
by Spathodea-Network
OpenCTI MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with the OpenCTI (Open Cyber Threat Intelligence) platform, enabling querying and retrieving threat intelligence data through a standardized interface.
by mytechnotalent
Provides real-time threat intelligence and detailed malware sample metadata from Malware Bazaar through an AI‑driven MCP server, enabling authorized cybersecurity research workflows.
by kapilduraphe
This project provides an Okta MCP (Multi-Cloud Platform) server that enables Claude to interact with Okta's user management system, offering comprehensive user and group management capabilities along with onboarding automation.
by descope-sample-apps
descope-mcp-server-stdio is a Model Context Protocol (MCP) server that integrates Descope's Management APIs with applications like Claude Desktop. It enables users to manage user data and audit logs directly from their desktop environment.