MCP Server
envpkt ships an MCP server that exposes credential metadata to AI agents. No secret values are ever exposed.
Configuration
Section titled “Configuration”Add envpkt to your MCP client config:
{ "mcpServers": { "envpkt": { "command": "envpkt", "args": ["mcp"] } }}Starting the Server
Section titled “Starting the Server”envpkt mcpUses stdio transport. The server reads envpkt.toml from the current directory (or specify with -c).
| Tool | Description |
|---|---|
getPacketHealth | Get overall health status with per-secret audit results |
listCapabilities | List agent and per-secret capabilities |
getSecretMeta | Get metadata for a specific secret by key |
checkExpiration | Check expiration status and days remaining |
getPacketHealth
Section titled “getPacketHealth”Returns the full audit result including overall status and per-secret health.
listCapabilities
Section titled “listCapabilities”Returns agent-level capabilities (from [agent].capabilities) and per-secret capabilities (from each [meta.KEY].capabilities).
getSecretMeta
Section titled “getSecretMeta”Takes a secret key and returns its metadata (service, purpose, capabilities, expiration, rotation URL, etc.).
checkExpiration
Section titled “checkExpiration”Returns expiration status for all secrets, including days remaining and expired flags.
Resources
Section titled “Resources”| URI | Description |
|---|---|
envpkt://health | Current credential health summary |
envpkt://capabilities | Agent and secret capabilities |
Security Model
Section titled “Security Model”The MCP server:
- Never exposes secret values
- Only shares metadata (service names, expiration dates, capabilities, rotation URLs)
- Reads from
envpkt.tomlwhich itself contains no secret values
This follows envpkt’s core principle: awareness, not access.
Library API
Section titled “Library API”import { createServer, startServer, toolDefinitions, callTool, resourceDefinitions, readResource } from "envpkt"
// Tool definitions for MCP registrationconst tools = toolDefinitions
// Call a toolconst result = callTool("getPacketHealth", {}, config, audit)
// Resource definitionsconst resources = resourceDefinitions
// Read a resourceconst data = readResource("envpkt://health", config, audit)