litewrite-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LITEWRITE_BASE_URL | No | Base URL of the Litewrite server. | http://localhost:3000 |
| LITEWRITE_OWNER_ID | No | Default owner used when a call omits ownerId. | default |
| LITEWRITE_LOCAL_DIR | No | Root dir for the per-project local mirror working copies. | ~/.litewrite-mcp |
| LITEWRITE_INTERNAL_SECRET | Yes | Must equal the Litewrite server's INTERNAL_API_SECRET. Sent as X-Internal-Secret. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| litewrite_list_projectsA | List projects available in the Litewrite platform for a given owner (POST /api/internal/projects/list). Use this to discover a projectId before pulling or reading files. Args:
Returns an array of projects with fields {id, name, description?, mainFile?, compiler?, updatedAt?, createdAt?}. |
| litewrite_list_filesA | List the files and directories in a Litewrite project (POST /api/internal/files/list). Args:
Returns an array of {path, type: 'file'|'directory', size?}. |
| litewrite_read_fileA | Read the content of a file directly from the Litewrite server (POST /api/internal/files/read). Prefers the server copy over the local mirror; use litewrite_local_read to read the local working copy instead. Args:
Returns the file content as UTF-8 text. |
| litewrite_write_fileA | Replace the full content of an existing file on the Litewrite server (POST /api/internal/files/edit). For creating a brand-new file use litewrite_create_file; for binary files use litewrite_upload_file. Args:
Returns a confirmation. |
| litewrite_create_fileB | Create a new text file (or directory) in a Litewrite project (POST /api/internal/files/create). Args:
Returns a confirmation. |
| litewrite_upload_fileA | Upload a file to Litewrite, creating or overwriting it (POST /api/internal/files/upload). Use for binary assets (images, PDFs) where edit/create are unsuitable, or as an alternative to create. Args (provide exactly one source):
Returns a confirmation. |
| litewrite_delete_fileA | Delete a file (or directory) from a Litewrite project (POST /api/internal/files/delete). This is irreversible. |
| litewrite_rename_fileA | Rename or move a file/folder in a Litewrite project (POST /api/internal/files/rename). Args:
Provide at least one of newName or targetPath. |
| litewrite_pullA | Mirror a Litewrite project down into a local directory (git-clone/pull style). Downloads all text files from the server into the local working copy at ~/.litewrite-mcp/ (or LITEWRITE_LOCAL_DIR), removes local files that no longer exist on the server, and records a content manifest so a later push can detect changes. Args:
Returns what was downloaded and removed. |
| litewrite_pushA | Upload local working-copy changes back to Litewrite (git-push style). Compares the local mirror (~/.litewrite-mcp/) against the last manifest: new/changed text files are uploaded, removed local files are deleted on the server, and the manifest is refreshed. Use litewrite_status first to see what will change. Args:
Returns what was uploaded and deleted. |
| litewrite_statusA | Compare the local mirror of a project with Litewrite without changing anything (git-status style). Reports which local files are added/modified/removed versus the last pull/push, and which files exist only on the remote. Use it before deciding whether to push local changes or pull remote ones. Args:
Returns a list of changes with their kind (added/modified/removed/remote_new). |
| litewrite_local_listA | List the files in the local mirror of a project (no network call). This is the local working copy at ~/.litewrite-mcp/ used by litewrite_pull/push/status. Args:
Returns relative file paths present on disk. |
| litewrite_local_readA | Read a file from the local mirror of a project (no network call). Unlike litewrite_read_file, this reads the on-disk local copy at ~/.litewrite-mcp/. Args:
Returns the raw bytes (framed as text) of the local file. |
| litewrite_local_writeA | Write or overwrite a file in the local mirror of a project (no network call). Changes are NOT uploaded to Litewrite until you run litewrite_push. Args:
Text files edited/created here will be uploaded by litewrite_push. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Most tools are clearly distinct, especially server vs local operations with explicit cross-references in descriptions. However, create_file, write_file, and upload_file have some overlap when creating or updating text files, though descriptions clarify intended use.
All tool names use the litewrite_ prefix followed by a snake_case verb_noun pattern, with local operations using litewrite_local_*. This is highly consistent and predictable.
14 tools provide a well-scoped set covering project listing, server file CRUD, and local mirror sync, with no excessive or trivial tools. Each tool earns its place.
Covers file lifecycle (create, read, update, delete, rename, upload) and local mirror workflow (pull, push, status, local list/read/write). Project listing suffices for discovery; no obvious gaps.