Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FORGEMCP_WORKSPACEYesMust name an existing workspace directory.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
completions
{}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
workspace_listA

Show a directory tree; null depth expands every directory.

File paths are errors. include_hidden controls dot directories; dot files remain visible and links are listed without traversal.

workspace_find_filesA

Find file paths recursively by case-sensitive glob, skipping dot directories and links.

Patterns without / match basenames; patterns with / match paths relative to the search directory.

workspace_file_infoA

Read creation/modification times, byte size, and owner of one file.

workspace_read_fileA

Read UTF-8 text, optionally selecting an inclusive range of one-based lines.

workspace_text_searchA

Search lines by literal text or regex; report skipped binary/non-UTF-8 files.

extensions accepts suffixes with or without a leading dot; null selects all files, while an empty list selects none. max_matches limits returned matching lines, not scanning. Counts are exact; skipped-file paths are available through the linked immutable resource.

workspace_write_fileA

Create or fully overwrite a UTF-8 file; its parent directory must exist.

Return removed/added line counts and linked change resources.

workspace_edit_fileA

Replace one exact text occurrence, or all with replace_all=true.

old_text must be nonempty. Missing or ambiguous matches leave the file unchanged. Text and line endings outside replacements are preserved.

workspace_moveA

Move a file or directory within project/ or within storage/.

The destination must not exist, and its parent directory must exist.

workspace_deleteA

Delete a file or empty directory; protected paths and roots cannot be deleted.

workspace_mkdirA

Create a directory and missing parents, or report that it already exists.

processes_overviewB

Show current and completed external processes managed by ForgeMCP.

process_getA

Read a log slice: time, then lines, then UTF-8 text bytes.

With neither selector, return the last 100 lines. Line ranges are inclusive; time ranges are [start, end) seconds from process start. Last seconds end at now for running processes, at completion otherwise. Returned line numbers remain absolute; a byte limit can cut a line.

toolsets_listA

List all discovered toolsets and the tools available in each.

toolset_getC

Read tool paths and kinds, querying available versions for this request.

cmake_profilesA

List effective profiles with their toolsets, build settings, and preset selections.

cmake_configureA

Configure selected profiles; return build/database paths and per-execution errors.

Changing a manual profile's generator removes and recreates its build directory.

cmake_buildB

Build selected profiles and their build presets after configuration.

Omitted targets use CMake or preset defaults; a nonempty targets list selects explicit build targets.

cmake_testB

Run CTest for selected profiles and test presets after building; return test cases.

names selects exact test names, not regex patterns; omit it to use CTest or preset defaults.

cmake_run_testA

Run one project/storage test executable directly with literal command-line arguments.

Inherits the server environment; cwd defaults to project/. Zero exit means success. No profiles, CTest properties, or case reports are used. Read output through process_get with the returned process_id.

clangd_configurationsB

List CMake contexts with an existing compilation database and clangd.

clangd_diagnosticsC

Get fresh file diagnostics in selected configurations.

Omitted or empty configurations select all available contexts.

clangd_hoverC

Describe the symbol at a one-based line and zero-based code-point position.

Omitted or empty configurations select all available contexts.

clangd_definitionB

Find definitions of the symbol at the supplied position.

External locations use root/. Empty configurations select all.

clangd_referencesB

Find references to the symbol in selected configurations.

Omitted or empty configurations select all available contexts.

clangd_document_symbolsB

List file symbols in selected configurations.

Omitted or empty configurations select all available contexts.

clangd_workspace_symbolsC

Find workspace symbols in selected configurations.

Omitted or empty configurations select all available contexts.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
processes_listRead the current retained process list as Markdown.
toolsetsRead a markdown summary of all discovered toolsets.
ui://forgemcp/workspace-tree.html
ui://forgemcp/workspace-file.html
ui://forgemcp/workspace-search.html
ui://forgemcp/workspace-result.html
ui://forgemcp/process-overview.html
ui://forgemcp/process-details.html
ui://forgemcp/toolsets.html
ui://forgemcp/cmake-profiles.html
ui://forgemcp/cmake-configure.html
ui://forgemcp/cmake-build.html
ui://forgemcp/cmake-test.html
ui://forgemcp/cmake-run-test.html
ui://forgemcp/clangd-result.html

TDQS

B3.4/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target clearly distinct operations: the clangd_* LSP queries (hover/definition/references/symbols) and workspace_* file operations are well-separated. The one real overlap is cmake_test vs cmake_run_test, which both run tests, but the descriptions distinguish CTest presets from a direct single-executable run.

Naming Consistency4/5

Names follow a clean domain-prefix convention (cmake_*, clangd_*, workspace_*, process_*, toolset(s)_*) with predictable verb_noun or noun forms. Minor inconsistencies: singular/plural mismatch between processes_overview vs process_get and toolsets_list vs toolset_get.

Tool Count4/5

26 tools sits at the upper bound, but they span five genuinely distinct domains (CMake build/test, clangd LSP, filesystem, process logs, toolsets), and each tool earns its place within its domain. It is slightly heavy but reasonable for a multi-domain build/dev server.

Completeness4/5

Coverage is strong: CMake has profiles/configure/build/test/run_test, workspace has read/write/edit/move/delete/mkdir/search, and clangd covers navigation and diagnostics. Minor gaps remain (no clangd completion/rename/code-action, no workspace copy), but the core workflows are complete.

Maintenance

ActivityActive
ResponsivenessNo issues