generate_jetbrains_config
Create .idea/runConfigurations XML files for JetBrains IDEs to configure project run settings based on language and entry point specifications.
Instructions
Generates a .idea/runConfigurations XML file for JetBrains IDEs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectName | Yes | ||
| language | Yes | ||
| entryPoint | No |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"entryPoint": {
"type": "string"
},
"language": {
"type": "string"
},
"projectName": {
"type": "string"
}
},
"required": [
"projectName",
"language"
],
"type": "object"
}
Implementation Reference
- src/tools/ideconfigs.ts:186-216 (handler)The main handler function that generates JetBrains run configuration XML based on project details.export function generateJetBrainsConfigHandler(args: any) { const { projectName, language, entryPoint } = args; let content: string; if (language === "python") { content = `<component name="ProjectRunConfigurationManager"> <configuration default="false" name="${projectName}" type="PythonConfigurationType"> <module name="${projectName}" /> <option name="SCRIPT_NAME" value="${entryPoint || "main.py"}" /> <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" /> </configuration> </component>`; } else if (language === "javascript" || language === "typescript") { content = `<component name="ProjectRunConfigurationManager"> <configuration default="false" name="${projectName}" type="NodeJSConfigurationType"> <option name="workingDir" value="$PROJECT_DIR$" /> <option name="pathToJsFile" value="${entryPoint || "dist/index.js"}" /> </configuration> </component>`; } else { content = `<!-- Generic run configuration for ${projectName} --> <component name="ProjectRunConfigurationManager"> <configuration default="false" name="${projectName}" type="Application"> <option name="MAIN_CLASS_NAME" value="${entryPoint || "Main"}" /> </configuration> </component>`; } return { content: [{ type: "text", text: content }] }; }
- src/tools/ideconfigs.ts:176-184 (schema)Zod schema defining the input parameters: projectName, language, and optional entryPoint.export const generateJetBrainsConfigSchema = { name: "generate_jetbrains_config", description: "Generates a .idea/runConfigurations XML file for JetBrains IDEs.", inputSchema: z.object({ projectName: z.string(), language: z.string(), entryPoint: z.string().optional() }) };
- src/server.ts:117-117 (registration)Tool registration in the HTTP server tool registry Map.["generate_jetbrains_config", { schema: generateJetBrainsConfigSchema, handler: generateJetBrainsConfigHandler }],
- src/index.ts:111-111 (registration)Tool registration in the main MCP server tool registry Map.["generate_jetbrains_config", { schema: generateJetBrainsConfigSchema, handler: generateJetBrainsConfigHandler }],