Twill
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| audit_yarn_integrityA | Audit system-wide yarn health, runtime dependencies, layer overrides, and schemas. |
| cancel_live_taskB | Cancel/terminate a currently running strand execution by its task ID or strand name. |
| run_system_testsA | Run the full Textile system diagnostic unit, integration, and E2E test suite. |
| textile_get_engine_stateA | Get the core engine execution state (active running tasks and execution history). |
| textile_get_sensory_stateA | Get the open sensory blackboard snapshot (sensory state slots and recent stitched notices/alerts). |
| textile_get_stateA | Get full snapshot of the sensory blackboard state slots and notices. |
| launch_appC | Launch a desktop application or background command (routed through UWSM scope if active). |
| process_get_loadavgA | Get CPU 1, 5, and 15-minute load averages and CPU core counts. |
| process_get_priorityA | Get nice priority level of a running process by PID. |
| process_killA | Send a POSIX signal to terminate or signal a process by PID. |
| process_listB | List running system processes with PID, CPU/memory usage, user, and command line. |
| process_list_bg_jobsA | List background jobs spawned and tracked by Textile. |
| process_set_priorityB | Set nice priority level (-20 to 19) of a process by PID. |
| file_chmodB | Change permissions mode for a file or directory path. |
| file_findA | Search for files matching a glob pattern in a directory path. |
| file_listB | List files and directories within a target directory path. |
| file_opC | File system operations, directory navigation, permissions, disk usage, and inotify monitoring. |
| file_readA | Read contents of a text file with optional start and end line ranges. |
| file_replaceB | Replace exact text substring within a target file. |
| file_statA | Get stat metadata, permissions, size, and timestamps for a file path. |
| file_writeB | Write or overwrite text content to a target file path. |
| inotify_list_watchesA | List all active inotify watch descriptors and paths. |
| inotify_read_eventsB | Poll and read available inotify kernel events from active watches. |
| inotify_unwatchA | Remove an active inotify watch by descriptor ID or path. |
| inotify_wait_eventC | Wait synchronously for a specific filesystem event on a path. |
| inotify_watchC | Add a Linux inotify kernel watch on a file or directory. |
| storage_disk_usageA | Get total, used, and available disk usage for a storage path. |
| storage_list_mountsB | List mounted filesystems and storage devices. |
| fetch_webpageB | Fetch and read the text content of a web page URL. |
| search_webB | Search the live internet for documentation, code examples, API references, library versions, or error solutions. |
| capture_screenB | Capture a high-resolution screenshot snapshot of the active screen and windows. |
| run_commandA | Execute a bash shell command for developer tasks (git, tests, builds, package managers). |
| sensors_get_cpu_freqsA | Retrieve live CPU core frequencies (MHz) and scaling governors across CPU cores. |
| sensors_get_telemetryA | Retrieve hardware telemetry (temperatures, fans, voltages, power) via lm_sensors / sysfs. |
| packagekit_check_updatesB | Check for pending package and system software updates via PackageKit D-Bus. |
| packagekit_get_detailsC | Get detailed metadata, description, license, and repository info for a package via PackageKit D-Bus. |
| packagekit_installB | Install one or more packages non-interactively via PackageKit D-Bus with Polkit authorization. |
| packagekit_refresh_cacheB | Refresh package manager repository metadata cache via PackageKit D-Bus. |
| packagekit_removeA | Remove one or more installed packages via PackageKit D-Bus. |
| packagekit_searchA | Search for available or installed packages across distribution repositories via PackageKit D-Bus. |
| packagekit_what_providesA | Find which package provides a specific file path or binary via PackageKit D-Bus. |
| polkit_check_authB | Check authorization for a Polkit action ID against org.freedesktop.PolicyKit1.Authority. |
| polkit_generate_policyC | Generate standards-compliant .policy XML definitions for custom actions. |
| polkit_generate_ruleB | Generate a Polkit-1 JavaScript rule (.rules) for pre-authorizing specific actions. |
| polkit_list_actionsA | List and search registered Polkit action definitions. |
| polkit_pkexecB | Execute a command with elevated privileges using pkexec CLI escalation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| textile_system_contract | Textile Desktop Fabric active yarn contracts, persona guidelines, and semantic streaming tags. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 46 tools
Several tools have muddy boundaries: textile_get_state and textile_get_sensory_state describe nearly the same blackboard snapshot, and file_op is a catch-all overlapping file_list, file_find, file_stat, file_chmod, and inotify. run_command also overlaps with launch_app, polkit_pkexec, and process management, making selection error-prone.
Most tools follow a clear domain_prefix + action pattern: packagekit_*, polkit_*, process_*, file_*, inotify_*, sensors_*, and textile_get_*. The main blemishes are file_op, a noun-style exception, and a handful of unprefixed tools like search_web, launch_app, and run_command, but overall the convention is recognizable.
46 tools is far beyond a typical well-scoped MCP server. The set spans files, processes, packages, polkit, inotify, sensors, web fetching, screen capture, tests, and internal Textile state, which feels like several specialized servers crammed into one.
Coverage is broad but uneven: package management and polkit are quite complete, while file operations lack delete/move/copy tools and process management lacks a dedicated start tool. Some gaps can be papered over with run_command, but the surface has clear dead ends for a supposed system administration toolkit.