Skip to main content
Glama

doppler_secrets_list

Retrieve all secret values stored in a Doppler configuration to access sensitive environment variables and application credentials.

Instructions

List all secrets in a Doppler config

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoThe Doppler project name (optional if set via doppler setup)
configNoThe Doppler config name (optional if set via doppler setup)

Implementation Reference

  • Specific switch case handling the doppler_secrets_list tool by constructing the Doppler CLI command: doppler secrets list [--project] [--config] --json
    case "doppler_secrets_list": parts.push("secrets", "list"); if (getString("project")) parts.push("--project", getString("project")!); if (getString("config")) parts.push("--config", getString("config")!); parts.push("--json"); break;
  • Tool definition including name, description, and input schema for doppler_secrets_list
    { name: "doppler_secrets_list", description: "List all secrets in a Doppler config", inputSchema: { type: "object", properties: { project: { type: "string", description: "The Doppler project name (optional if set via doppler setup)", }, config: { type: "string", description: "The Doppler config name (optional if set via doppler setup)", }, }, }, },
  • src/index.ts:27-31 (registration)
    Registration of tool list handler that returns all tool definitions, including doppler_secrets_list
    server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: toolDefinitions, }; });
  • Core handler function that executes the built Doppler CLI command for any tool, including doppler_secrets_list
    export async function executeCommand( toolName: string, args: DopplerArgs ): Promise<any> { const command = buildDopplerCommand(toolName, args); try { const output = execSync(command, { encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"], maxBuffer: 10 * 1024 * 1024, // 10MB buffer }); // Try to parse as JSON, if it fails return raw output try { return JSON.parse(output); } catch { return { output: output.trim() }; } } catch (error: any) { // Handle execution errors const stderr = error.stderr?.toString() || ""; const stdout = error.stdout?.toString() || ""; const message = stderr || stdout || error.message; throw new Error(`Doppler CLI command failed: ${message}`); } }
  • src/index.ts:33-51 (registration)
    MCP server request handler for calling tools, which dispatches to executeCommand based on the tool name doppler_secrets_list
    // Handle tool calls server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; try { const result = await executeCommand(name, args || {}); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { const errorMessage = error instanceof Error ? error.message : String(error); throw new McpError(ErrorCode.InternalError, `Doppler CLI error: ${errorMessage}`); } });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aledlie/doppler-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server