MCPサーバー

Compiler Explorer

io.github.compiler-explorer/compiler-explorer
開発者向けツール 公開・接続可能 MCP 2026-07-28

このMCPでできること

Compiles source code with multiple compilers, returns assembly and program output, looks up assembly instructions, and creates shareable links.

compile
Compile source code and return assembly output, stdout, and stderr
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source', 'language'], 'properties': {'stdin': {'type': 'string', 'description': 'Standard input for execution (requires execute=true)'}, 'source': {'type': 'string', 'description': 'Source code to compile'}, 'execute': {'type': 'boolean', 'description': 'Run the program instead of returning assembly. `asm` becomes empty; runtime output goes to top-level `stdout`/`stderr`; compile diagnostics move to `buildResult.stdout`/`stderr`.'}, 'filters': {'type': 'object', 'properties': {'trim': {'type': 'boolean', 'description': 'Trim whitespace (default: false)'}, 'intel': {'type': 'boolean', 'description': 'Use Intel assembly syntax (default: true)'}, 'labels': {'type': 'boolean', 'description': 'Filter unused labels (default: true)'}, 'demangle': {'type': 'boolean', 'description': 'Demangle symbol names (default: true)'}, 'directives': {'type': 'boolean', 'description': 'Filter assembler directives (default: true)'}, 'commentOnly': {'type': 'boolean', 'description': 'Filter comment-only lines (default: true)'}, 'libraryCode': {'type': 'boolean', 'description': 'Filter library code (default: false)'}}, 'description': 'Output filters'}, 'options': {'type': 'string', 'description': 'Compiler flags (e.g. "-O2 -std=c++20 -Wall")'}, 'compiler': {'type': 'string', 'description': 'Compiler ID from list_compilers (e.g. "g161"). If omitted, uses the language\'s `defaultCompiler` from list_languages.'}, 'language': {'type': 'string', 'description': 'Language ID (e.g. "c++", "c", "rust", "python")'}, 'libraries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'version'], 'properties': {'id': {'type': 'string', 'description': 'Library ID from list_libraries (e.g. "boost").'}, 'version': {'type': 'string', 'description': 'Version id ("188") OR human form ("1.88.0") â\x80\x94 both accepted.'}}}, 'description': 'Libraries to link.'}, 'maxAsmLines': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Cap asm output (default 500 lines).', 'exclusiveMinimum': 0}, 'maxStderrLines': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Cap each stderr stream â\x80\x94 compile and execute separately (default 100).', 'exclusiveMinimum': 0}, 'maxStdoutLines': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Cap each stdout stream â\x80\x94 compile and execute separately (default 100).', 'exclusiveMinimum': 0}}}
generate_short_url
Create a Compiler Explorer short URL for sharing code with compiler settings
冪等
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['source', 'language', 'compiler'], 'properties': {'source': {'type': 'string', 'description': 'Source code'}, 'options': {'type': 'string', 'description': 'Compiler flags (e.g. "-O2 -std=c++20")'}, 'compiler': {'type': 'string', 'description': 'Compiler ID from list_compilers (e.g. "g161", "clang_trunk")'}, 'language': {'type': 'string', 'description': 'Language ID (e.g. "c++", "c", "rust")'}, 'libraries': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'version'], 'properties': {'id': {'type': 'string', 'description': 'Library ID from list_libraries.'}, 'version': {'type': 'string', 'description': 'Version id ("188") OR human form ("1.88.0").'}}}, 'description': 'Libraries to include.'}}}
get_shortlink_info
Retrieve source and compiler config from a CE short URL. Compiler entries are returned in the `compile` tool's shape ({compiler, options, libraries:[{id, version}]}). Multi-pane shortlinks (executors, conformance views, CMake trees, per-compiler filters/tools) are flattened — only the basic compile inputs survive.
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Short link ID or full URL (e.g. "G38YP7eW4" or "https://godbolt.org/z/G38YP7eW4")'}}}
list_compilers
List available compilers, optionally filtered by language
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'lean': {'type': 'boolean', 'description': 'Force id+name only, regardless of count. Useful to browse the catalog before drilling in.'}, 'match': {'type': 'string', 'description': 'Case-insensitive AND-of-tokens filter on id and name. Punctuation splits tokens; numeric tokens match whole-word ("gcc 14.1" matches "14.1.0" not "14.10"); alphanumeric tokens substring-match ("g14" matches "g142"). Literal text only â\x80\x94 for "newest version" use `latestPerMajor`; for "newest X on arch Y" prefer `instructionSet` + `latestPerMajor`.'}, 'language': {'type': 'string', 'description': 'Language ID to filter by (e.g. "c++", "rust", "python")'}, 'maxResults': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Cap full-detail entries (default 25). Beyond the cap, degrades to lean (id+name only) with a refinement hint.', 'exclusiveMinimum': 0}, 'instructionSet': {'enum': ['6502', 'aarch64', 'amd64', 'x86', 'arm32', 'avr', 'beam', 'c6x', 'dex', 'ebpf', 'evm', 'eravm', 'ez80', 'hook', 'hppa', 'core', 'java', 'kvx', 'llvm', 'loongarch', 'm68k', 'mips', 'mos6502', 'mpy', 'mrisc32', 'msp430', 'perl', 'powerpc', 'ptx', 'python', 'amd_cdna1', 'amd_cdna2', 'amd_cdna3', 'amd_cdna4', 'amd_cdna5', 'amd_rdna1', 'amd_rdna2', 'amd_rdna3', 'amd_rdna3_5', 'amd_rdna4', 'riscv32', 'riscv64', 's390x', 'sass', 'sh', 'sparc', 'spirv', 'vax', 'wasm32', 'wasm64', 'wdc65c816', 'xtensa', 'z180', 'z80'], 'type': 'string', 'description': 'Target architecture filter. Combine with `latestPerMajor: true` for "newest X for arch Y" (e.g. `{language:"c++", instructionSet:"amd64", latestPerMajor:true}`).'}, 'latestPerMajor': {'type': 'boolean', 'description': '"Newest X" filter. By release track (stable/nightly/prerelease/experimental): newest stable per (language, instructionSet, semver major); all nightly + prerelease; experimental skipped unless `includeExperimental: true`.'}, 'includeExperimental': {'type': 'boolean', 'description': 'With `latestPerMajor: true`, also include experimental compilers (c++ proposal forks, llvm-mos platform variants). Off by default â\x80\x94 bloats "newest X" answers.'}}}
list_languages
List supported languages. Each entry has `defaultCompiler` and `compilerCount`.
読み取り専用
入力スキーマ
{'type': 'object', 'properties': {}}
list_libraries
List available libraries for a given programming language
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['language'], 'properties': {'lean': {'type': 'boolean', 'description': 'Force id+name only, regardless of count. Useful to browse the catalog before drilling in.'}, 'match': {'type': 'string', 'description': 'Case-insensitive AND-of-tokens filter on id, name, and version strings (so "boost 1.88" finds Boost when one of its versions matches 1.88.x). Numeric tokens match version-prefix; alphanumeric substring.'}, 'language': {'type': 'string', 'description': 'Language ID (e.g. "c++", "rust")'}, 'maxResults': {'type': 'integer', 'maximum': 9007199254740991, 'description': 'Cap full-detail entries (default 25). Beyond the cap, degrades to lean (id+name only) with a refinement hint.', 'exclusiveMinimum': 0}}}
lookup_asm_instruction
Look up documentation for an assembly instruction
読み取り専用
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['instruction_set', 'opcode'], 'properties': {'opcode': {'type': 'string', 'description': 'Assembly instruction mnemonic (e.g. "MOV", "ADD", "JMP")'}, 'instruction_set': {'enum': ['6502', 'aarch64', 'amd64', 'amd_cdna1', 'amd_cdna2', 'amd_cdna3', 'amd_cdna4', 'amd_cdna5', 'amd_rdna1', 'amd_rdna2', 'amd_rdna3', 'amd_rdna3_5', 'amd_rdna4', 'arm32', 'avr', 'evm', 'java', 'llvm', 'perl', 'powerpc', 'ptx', 'python', 'riscv64', 'sass', 'wdc65c816'], 'type': 'string', 'description': 'Instruction set architecture (no default â\x80\x94 must match the asm dialect being looked up).'}}}
変更
lookup_asm_instruction
2026年10月1日2:44
変更
list_compilers
2026年10月1日2:44
追加
get_shortlink_info
2026年9月17日12:41
追加
generate_short_url
2026年9月17日12:41
追加
lookup_asm_instruction
2026年9月17日12:41
追加
list_libraries
2026年9月17日12:41
追加
list_languages
2026年9月17日12:41
追加
list_compilers
2026年9月17日12:41
追加
compile
2026年9月17日12:41