Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HTTP_HOSTNoBind address for streamable-http.127.0.0.1
MCP_HTTP_PORTNoBind port for streamable-http.8765
MCP_TRANSPORTNostdio (local, client-launched) or streamable-http (remote).stdio
MCP_WORKSPACENoSandbox root. Every filesystem/git/code tool is confined here../workspace
MCP_HTTP_TIMEOUTNoDefault fetch_url timeout, seconds.10
MCP_MAX_FILE_SIZENoMax file size for read/write/append, in bytes.10485760
MCP_MAX_RESPONSE_SIZENoMax bytes fetch_url will buffer.5242880
MCP_ALLOW_PRIVATE_NETWORKNoSet true to let fetch_url/check_connectivity reach private/loopback hosts.false

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
read_fileA

Read a UTF-8 (or other specified encoding) text file from the workspace.

Args: path: Path to the file, relative to the workspace root. encoding: Text encoding to decode with (default "utf-8").

Returns: The file's path, size in bytes, encoding, and full text content. Fails if the file does not exist, isn't a file, exceeds the configured max file size, or isn't valid text in that encoding.

write_fileA

Create or overwrite a text file inside the workspace.

Args: path: Destination path, relative to the workspace root. Parent directories are created automatically. content: Text content to write (UTF-8). overwrite: If False and the file already exists, fails instead of overwriting it.

Returns: The path and number of bytes written.

append_fileA

Append text to an existing file inside the workspace.

Args: path: Path to an existing file, relative to the workspace root. content: Text to append.

Returns: The path and number of bytes appended. Fails if the file does not exist or if appending would exceed the max file size.

delete_fileA

Delete a single file inside the workspace.

Args: path: Path to the file to delete, relative to the workspace root.

Returns: The deleted path. Fails if the path does not exist or is a directory (use delete_directory for directories).

copy_fileA

Copy a file within the workspace, preserving metadata.

Args: source: Existing file path, relative to the workspace root. destination: Destination path; parent directories are created automatically.

move_fileB

Move or rename a file within the workspace.

Args: source: Existing file path, relative to the workspace root. destination: New path; parent directories are created automatically.

file_existsA

Check whether a given path exists and is a regular file.

Args: path: Path to check, relative to the workspace root.

get_file_infoA

Get metadata about a file: size, modified/created time, extension.

Args: path: Path to the file, relative to the workspace root.

list_directoryA

List the contents of a directory inside the workspace.

Args: path: Directory to list, relative to the workspace root (default: the workspace root itself). recursive: If True, walk subdirectories too (capped by MCP_MAX_DIRECTORY_DEPTH).

Returns: Each entry's name, relative path, whether it's a file or directory, and file size when applicable.

create_directoryB

Create a directory (and any missing parent directories) in the workspace.

Args: path: Directory path to create, relative to the workspace root.

delete_directoryA

Delete a directory inside the workspace.

Args: path: Directory to delete, relative to the workspace root. recursive: Required to be True to delete a non-empty directory and everything inside it. The workspace root itself can never be deleted.

directory_existsA

Check whether a given path exists and is a directory.

Args: path: Path to check, relative to the workspace root.

find_filesA

Recursively find files under a directory matching a glob pattern.

Args: path: Directory to search under, relative to the workspace root. pattern: Filename glob, e.g. ".py" or ".md" (matched against the filename only, not the full path).

Returns: Up to 500 matching relative file paths.

get_directory_sizeA

Recursively calculate the total size of a directory's contents.

Args: path: Directory to measure, relative to the workspace root.

Returns: Total size in bytes and megabytes, plus the number of files counted.

get_system_infoA

Get basic host information: OS, kernel release, architecture, hostname, Python version, and boot time.

get_cpu_infoA

Get CPU information: core counts, current utilization (overall and per-core), clock frequency, and 1/5/15-minute load averages.

get_memory_infoA

Get RAM and swap usage in gigabytes and as a percentage.

get_disk_infoA

Get disk usage (total/used/free, in GB) for the filesystem containing the given workspace-relative path.

Args: path: Path (inside the workspace) whose filesystem to inspect.

list_processesA

List running processes on the host (read-only; cannot start, stop, or signal anything).

Args: limit: Max number of processes to return (1-200). sort_by: "cpu" or "memory" -- which usage metric to sort by, descending.

Returns: Each process's pid, name, username, cpu%, memory%, and status.

get_service_statusA

Get the systemctl status output for one systemd service (read-only; cannot start, stop, restart, enable, or disable services).

Args: service_name: Service unit name, e.g. "nginx" or "ssh.service". Only letters, digits, '@', '.', '_', and '-' are allowed.

fetch_urlA

Fetch a public HTTP/HTTPS URL and return its status, headers, and body.

Blocks requests to localhost, loopback, link-local, and private IP ranges to prevent SSRF (unless MCP_ALLOW_PRIVATE_NETWORK=true). Response bodies are capped at MCP_MAX_RESPONSE_SIZE bytes.

Args: url: The http:// or https:// URL to fetch. timeout: Optional per-request timeout in seconds (defaults to MCP_HTTP_TIMEOUT).

check_connectivityA

Check whether a TCP port on a public host is reachable.

Args: host: Hostname or IP to test (private/loopback hosts are blocked). port: TCP port number (1-65535). timeout: Connection timeout in seconds.

resolve_dnsB

Resolve a hostname to its IP address(es) and flag whether any are private.

Args: hostname: The hostname to resolve.

validate_urlA

Validate that a string is a well-formed http/https URL (syntax check only; does not make a network request).

Args: url: The URL string to validate.

parse_urlB

Break a URL down into scheme, hostname, port, path, query, and fragment.

Args: url: The URL to parse.

build_urlB

Construct a URL from a base URL, an appended path, and optional query parameters.

Args: base_url: Base http/https URL. path: Path segment to append. query: Optional dict of query parameters to encode and attach.

git_statusA

Get git status (branch info + changed files) for a repository inside the workspace.

Args: path: Path to the git repository, relative to the workspace root.

git_logB

Get recent commit history for a repository inside the workspace.

Args: path: Path to the git repository, relative to the workspace root. limit: Number of commits to return (1-200).

git_diffA

Get the current diff for a repository inside the workspace.

Args: path: Path to the git repository, relative to the workspace root. staged: If True, show staged (index) changes instead of the working-tree diff. file_path: Optional single file to limit the diff to.

git_branchesB

List local branches for a repository inside the workspace, marking which one is currently checked out.

Args: path: Path to the git repository, relative to the workspace root.

git_current_branchB

Get the name of the currently checked-out branch.

Args: path: Path to the git repository, relative to the workspace root.

detect_project_typeA

Guess the project type(s) present in a directory by looking for common marker files (pyproject.toml, package.json, Cargo.toml, etc.).

Args: path: Directory to inspect, relative to the workspace root.

search_text_in_filesA

Recursively regex-search text files under a directory (like a scoped grep), confined to the workspace.

Args: path: Directory to search under, relative to the workspace root. pattern: Python regular expression to search each line for. file_glob: Glob to filter which files are searched, e.g. "*.py". max_results: Maximum number of matching lines to return (1-500).

count_wordsB

Count words, characters, and lines in a block of text.

Args: text: The text to analyze.

format_jsonB

Pretty-print (reformat) a JSON string with the given indentation.

Args: json_text: Raw JSON text to parse and reformat. indent: Number of spaces per indent level (0-8).

validate_jsonB

Check whether a string is valid JSON without modifying it.

Args: json_text: The text to validate.

csv_to_jsonB

Read a CSV file from the workspace and convert it to a list of row objects keyed by header column.

Args: path: Path to the CSV file, relative to the workspace root.

csv_get_columnsA

Read just the header row of a CSV file in the workspace.

Args: path: Path to the CSV file, relative to the workspace root.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 38 tools

Disambiguation4/5

Most tools have clearly distinct purposes, with minimal overlap. Minor confusion possible between file_exists and get_file_info, or between git_branches and git_current_branch, but descriptions clarify their differences.

Naming Consistency4/5

Tools follow a consistent snake_case pattern overall, but there is a mix of verb_noun (get_memory_info) and noun_verb (file_exists) conventions. Domain-prefixed names like git_* and csv_* are consistent within their groups.

Tool Count2/5

With 38 tools, the server is heavily over the typical 3-15 range. Many tools are very granular and could be combined (e.g., file_exists and get_file_info, or the URL manipulation tools), making the set feel bloated for the purpose.

Completeness4/5

The surface covers file management, system inspection, network utilities, git read operations, and text processing well. Notable gaps include command execution, package management, and process control, but these may be intentionally excluded for safety.

Maintenance

ActivityMaintained
ResponsivenessNo issues