set-env-var
Set environment variables in MCP servers by specifying profile ID, key, value, and sensitivity settings for secure and organized configuration management.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Optional description of the environment variable | |
| key | Yes | Environment variable key | |
| profileId | Yes | Profile ID to set environment variable in | |
| sensitive | Yes | Whether the value is sensitive and should be encrypted | |
| value | Yes | Environment variable value |
Implementation Reference
- src/tools/environment-tools.ts:107-136 (handler)Handler function for the 'set-env-var' MCP tool. Validates profileId and key, retrieves profile from configService, sets the env var using configService.setEnvVar, and returns 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 schema defining input parameters for the 'set-env-var' tool.{ 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-136 (registration)Registration of the 'set-env-var' tool on the MCP server within registerEnvironmentTools 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)Invocation of registerEnvironmentTools which registers the 'set-env-var' tool among others.registerEnvironmentTools(server, configService);