Catalog PyPI
PACKAGE EXPLORERView in registry

agent-mcp-mtls-util

PyPI

SPIFFE/mTLS MCP client for Claude Desktop — no local agent needed

claudemcpmtlsproxyspiffe
Versions collected1
Direct dependencies7From release 1.0.1
Last observed20 Oct, 22:40 UTC

README

Version 1.0.1 documentation

corporate-mcp-client

SPIFFE/mTLS MCP client for Claude Desktop.

Fetches short-lived X.509 certificates from your external Cert API — no local SPIRE agent, no Python pre-installed, no cert files on disk.

How it works

Claude Desktop (stdio)
    |
    v
corporate-mcp-client  (spawned by uvx)
    |
    |-- POST /attest -> your Cert API  (gets 1h X.509 cert)
    |-- builds mTLS SSLContext in memory
    |
    v
Your Nginx (validates SPIFFE ID cert)
    |
    v
MCP Gateway -> MCP Server (unmodified)

claude_desktop_config.json

{
  "mcpServers": {
    "corporate-mcp": {
      "command": "uvx",
      "args": ["corporate-mcp-client"],
      "env": {
        "CERT_API_URL":     "https://cert-api.yourcompany.com",
        "ENROLLMENT_TOKEN": "your-enrollment-token-here",
        "MCP_SERVER_URL":   "https://your-mcp-server.com/mcp"
      }
    }
  }
}

Environment variables

VariableRequiredDescription
CERT_API_URLYesYour Cert API base URL
ENROLLMENT_TOKENYesPre-shared token issued per customer
MCP_SERVER_URLYesYour MCP server endpoint
CERT_API_CANoPath to CA bundle for Cert API (private CA)
CERT_REFRESH_SECSNoCert refresh window in seconds (default: 3300)
LOG_LEVELNoDEBUG / INFO / WARNING (default: INFO)

Customer setup

# 1. Install uv (once)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 2. Add config block to claude_desktop_config.json
# 3. Restart Claude Desktop
# Done — uvx handles everything else automatically

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.130 Sept 20267

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:40 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:ce9c987c16a9061dc605219037685a1659d368fa07063a1b2d072d23d9557771