set-env-var
Set environment variables in MCP server profiles to configure applications and manage sensitive data securely across different deployment environments.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profileId | Yes | Profile ID to set environment variable in | |
| key | Yes | Environment variable key | |
| value | Yes | Environment variable value | |
| sensitive | Yes | Whether the value is sensitive and should be encrypted | |
| description | No | Optional description of the environment variable |
Implementation Reference
- src/tools/environment-tools.ts:107-136 (handler)Handler function that validates input parameters, checks profile existence, sets the environment variable using configService.setEnvVar, and returns a success response.async ({ profileId, key, value, sensitive, description }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } if (!key.trim()) { throw new Error("Environment variable key cannot be empty"); } const profile = configService.getProfile(profileId); if (!profile) { throw new Error(`Profile not found: ${profileId}`); } configService.setEnvVar(profileId, key, value, sensitive, description); return { content: [ { type: "text", text: JSON.stringify({ success: true, profileId, key, sensitive }, null, 2) } ] }; }
- Zod input schema defining parameters: profileId (string), key (string), value (string), sensitive (boolean), description (optional string).{ profileId: z.string().describe("Profile ID to set environment variable in"), key: z.string().describe("Environment variable key"), value: z.string().describe("Environment variable value"), sensitive: z.boolean().describe("Whether the value is sensitive and should be encrypted"), description: z.string().optional().describe("Optional description of the environment variable") },
- src/tools/environment-tools.ts:98-137 (registration)MCP server.tool registration for 'set-env-var', specifying the tool name, input schema, and handler function.server.tool( "set-env-var", { profileId: z.string().describe("Profile ID to set environment variable in"), key: z.string().describe("Environment variable key"), value: z.string().describe("Environment variable value"), sensitive: z.boolean().describe("Whether the value is sensitive and should be encrypted"), description: z.string().optional().describe("Optional description of the environment variable") }, async ({ profileId, key, value, sensitive, description }, extra) => { if (!profileId.trim()) { throw new Error("Profile ID cannot be empty"); } if (!key.trim()) { throw new Error("Environment variable key cannot be empty"); } const profile = configService.getProfile(profileId); if (!profile) { throw new Error(`Profile not found: ${profileId}`); } configService.setEnvVar(profileId, key, value, sensitive, description); return { content: [ { type: "text", text: JSON.stringify({ success: true, profileId, key, sensitive }, null, 2) } ] }; } );
- src/server.ts:31-31 (registration)Top-level call to registerEnvironmentTools, which registers the set-env-var tool among others.registerEnvironmentTools(server, configService);